1 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
3 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
4 gnumach and gnumach.gz.
6 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8 * include/grub/i18n.h (gettext): Inline instead of using #define.
9 (grub_gettext): Likewise.
12 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
15 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
16 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
17 (main): Add a slash after pkglibdirroot.
19 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21 * util/grub-install.in: Add missing "in" keyword.
23 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
26 Reported by: Seth Goldberg.
28 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
30 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
32 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
34 * configure.ac: Check for Linux device-mapper support.
36 * util/hostdisk.c (device_is_mapped): New function.
37 (find_partition_start): New function, partly broken out from
38 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
39 device-mapper support added.
40 (linux_find_partition): Use find_partition_start.
41 (convert_system_partition_to_system_disk): Add `st' argument.
42 Support Linux /dev/mapper/* devices if device-mapper support is
43 available; only DM-RAID devices are understood at present.
44 (find_system_device): Add `st' argument. Pass it to
45 convert_system_partition_to_system_disk.
46 (grub_util_biosdisk_get_grub_dev): Pass stat result to
47 find_system_device and convert_system_partition_to_system_disk. Use
50 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
51 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
52 * util/deviceiter.c [__linux__]: Define MINOR.
53 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
54 * util/mkdevicemap.c (grub_putchar): New function.
55 (grub_getkey): New function.
56 (grub_refresh): New function.
57 (main): Set debug=all if -v -v is used.
59 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
61 Fix build with non-GNU libcs.
63 * util/misc.c (canonicalize_file_name): Move to ...
64 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
65 grub_make_system_path_relative_to_its_root.
67 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
69 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
70 we handle finding grub-mkimage. Default to finding grub-mkimage in
71 ${bindir} with program_transform_name applied, and provide a
72 --grub-mkimage option to override this.
74 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
78 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
79 (grub_mkisofs_SOURCES): Removed.
80 (grub_mkisofs_CFLAGS): Removed.
81 * util/mkisofs/defaults.h: Removed.
82 * util/mkisofs/eltorito.c: Likewise.
83 * util/mkisofs/exclude.h: Likewise.
84 * util/mkisofs/hash.c: Likewise.
85 * util/mkisofs/include/: Likewise.
86 * util/mkisofs/include/fctldefs.h: Likewise.
87 * util/mkisofs/include/mconfig.h: Likewise.
88 * util/mkisofs/include/prototyp.h: Likewise.
89 * util/mkisofs/include/statdefs.h: Likewise.
90 * util/mkisofs/iso9660.h: Likewise.
91 * util/mkisofs/joliet.c: Likewise.
92 * util/mkisofs/match.c: Likewise.
93 * util/mkisofs/match.h: Likewise.
94 * util/mkisofs/mkisofs.c: Likewise.
95 * util/mkisofs/mkisofs.h: Likewise.
96 * util/mkisofs/msdos_partition.h: Likewise.
97 * util/mkisofs/multi.c: Likewise.
98 * util/mkisofs/name.c: Likewise.
99 * util/mkisofs/rock.c: Likewise.
100 * util/mkisofs/tree.c: Likewise.
101 * util/mkisofs/write.c: Likewise.
103 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
105 Unify grub-mkimage accross platforms.
107 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
108 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
109 (grub_mkelfimage_SOURCES): Removed.
110 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
111 (util/grub-mkimage.c_DEPENDENCIES): .. this.
112 (bin_UTILITIES): Add grub-mkimage.
113 (grub_mkimage_SOURCES): New variable.
114 (kernel_img_HEADERS): Remove machine/kernel.h.
115 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
116 (pkglib_PROGRAMS): Add kernel.img.
117 (kernel_img_HEADERS): Add machine/kernel.h.
118 (kernel_img_FORMAT): Removed.
119 (bin_UTILITIES): Remove grub-mkimage.
120 (grub_mkimage_SOURCES): Removed.
121 (grub_mkimage_CFLAGS): Likewise.
122 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
123 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
124 (pkglib_PROGRAMS): Add kernel.img.
125 (bin_UTILITIES): Remove grub-mkimage.
126 (grub_mkimage_SOURCES): Removed.
127 (grub_mkimage_CFLAGS): Likewise.
128 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
129 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
130 (pkglib_PROGRAMS): Add kernel.img.
131 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
132 (pkglib_PROGRAMS): Add kernel.img.
133 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
134 (grub_mkimage_SOURCES): Removed.
135 (grub_mkimage_CFLAGS): Likewise.
136 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
137 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
138 (pkglib_PROGRAMS): Add kernel.img.
139 (bin_UTILITIES): Remove grub-mkimage.
140 (grub_mkimage_SOURCES): Removed.
141 (grub_mkimage_CFLAGS): Likewise.
142 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
143 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
144 (grub_mkimage_SOURCES): Removed.
145 (grub_mkimage_CFLAGS): Likewise.
146 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
147 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
148 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
149 (grub_pe32_optional_header): ... this.
150 (grub_pe64_optional_header): ... and this. All users updated.
151 (GRUB_PE32_PE32_MAGIC): Split into ..
152 (GRUB_PE32_PE32_MAGIC): .. this.
153 (GRUB_PE32_PE64_MAGIC): .. and this.
154 (GRUB_PE32_SIGNATURE_SIZE): New definition.
155 * include/grub/elf.h (PT_GNU_STACK): New definition.
156 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
157 * include/grub/i386/efi/kernel.h: Likewise.
158 * include/grub/i386/kernel.h: Likewise.
159 * include/grub/i386/pc/kernel.h: Likewise.
160 * include/grub/i386/qemu/boot.h: Likewise.
161 * include/grub/mips/kernel.h: Likewise.
162 * include/grub/mips/qemu-mips/kernel.h: Likewise.
163 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
164 * include/grub/powerpc/kernel.h: Likewise.
165 * include/grub/sparc64/ieee1275/boot.h: Likewise.
166 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
167 * include/grub/sparc64/kernel.h: Likewise.
168 * include/grub/x86_64/efi/kernel.h: Likewise.
169 * include/grub/x86_64/kernel.h: Likewise.
170 * include/grub/offsets.h: New file.
171 * include/grub/kernel.h (grub_module_info): Split into ...
172 (grub_module_info32): ... this.
173 (grub_module_info64): ... and this.
174 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
175 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
176 (grub_boot_blocklist): Moved from here ...
177 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
178 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
179 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
180 * include/grub/types.h (grub_target_to_host16): Removed.
181 (grub_target_to_host32): Likewise.
182 (grub_target_to_host64): Likewise.
183 (grub_host_to_target16): Likewise.
184 (grub_host_to_target32): Likewise.
185 (grub_host_to_target64): Likewise.
186 (grub_host_to_target_addr): Likewise.
188 Support grub-mkrescue for efi, coreboot and qemu.
190 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
191 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
192 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
193 * util/grub-mkrawimage.c: Moved from here ...
194 * util/grub-mkimage.c: ... here. All users updated.
195 (ALIGN_ADDR): Use image_target.
196 (TARGET_NO_FIELD): New const.
197 (image_target_desc): New type.
198 (image_targets): New array.
199 (grub_target_to_host64): Use image_target.
200 (grub_target_to_host32): Likewise.
201 (grub_target_to_host16): Likewise.
202 (grub_host_to_target64): Likewise.
203 (grub_host_to_target32): Likewise.
204 (grub_host_to_target16): Likewise.
205 (grub_host_to_target_addr): Likewise.
206 (generate_image): Handle multiimage.
207 (main): Require -O parameter. All users updated.
208 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
209 util/efi/grub-mkimage.c
210 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
211 New option --rom-directory.
213 * util/i386/efi/grub-mkimage.c: Removed.
214 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
215 (grub_target_to_host32): Likewise.
216 (grub_target_to_host64): Likewise.
217 (grub_host_to_target16): Likewise.
218 (grub_host_to_target32): Likewise.
219 (grub_host_to_target64): Likewise.
220 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
221 (grub_target_to_host32): Likewise.
222 (grub_target_to_host64): Likewise.
223 (grub_host_to_target16): Likewise.
224 (grub_host_to_target32): Likewise.
225 (grub_host_to_target64): Likewise.
227 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
229 Source tree is reorganized for emu build.
231 * include/grub/util/console.h: Move from here...
232 * include/grub/emu/console.h: ...to here.
233 * include/grub/util/getroot.h: Move from here...
234 * include/grub/emu/getroot.h: ...to here.
235 * include/grub/util/hostdisk.h: Move from here...
236 * include/grub/emu/hostdisk.h: ...to here.
237 * util/console.c: Move from here...
238 * kern/emu/console.c: ...to here.
239 * util/getroot.c: Move from here...
240 * kern/emu/getroot.c: ...to here.
241 * util/grub-emu.c: Move from here...
242 * kern/emu/main.c: ...to here.
243 * util/hostdisk.c: Move from here...
244 * kern/emu/hostdisk.c: ...to here.
245 * util/hostfs.c: Move from here...
246 * kern/emu/hostfs.c: ...to here.
247 * util/mm.c: Move from here...
248 * kern/emu/mm.c: ...to here.
249 * util/pci.c: Move from here...
250 * bus/emu/pci.c: ...to here.
251 * util/sdl.c: Move from here...
252 * video/emu/sdl.c: ...to here.
253 * util/time.c: Move from here...
254 * kern/emu/time.c: ...to here.
255 * util/usb.c: Move from here...
256 * bus/usb/emu/usb.c: ...to here.
258 * include/grub/emu/misc.h: New header for grub-emu functions.
259 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
261 * conf/any-emu.rmk: Rule updates for above renames.
262 * conf/common.rmk: Likewise.
263 * conf/i386-pc.rmk: Likewise.
264 * conf/i386-qemu.rmk: Likewise.
265 * conf/mips.rmk: Likewise.
266 * conf/sparc64-ieee1275.rmk: Likewise.
267 * conf/x86-efi.rmk: Likewise.
269 * disk/lvm.h: #include updates for above renames.
270 * util/grub-mkrelpath.c: Likewise.
271 * util/grub-probe.c: Likewise.
272 * util/i386/pc/grub-setup.c: Likewise.
273 * util/sparc64/ieee1275/grub-setup.c: Likewise.
274 * kern/emu/console.c: Likewise.
275 * kern/emu/getroot.c: Likewise.
276 * kern/emu/hostdisk.c: Likewise.
277 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
279 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
280 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
281 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
282 * util/misc.c: Remove grub-emu functions.
284 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
287 Reported by: Thorsten Grützmacher.
289 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
291 (circprog_set_property): Register and unregister timeout hook.
292 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
293 (label_destroy): Free template. and unregister hook.
294 (label_set_state): New function.
295 (label_set_property): Handle templates and hooks.
296 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
298 (progress_bar_set_property): Register and unregister timeout hook.
299 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
300 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
301 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
302 (update_timeout_visit): Removed.
303 (update_timeouts): New function.
304 (redraw_timeouts): Likewise.
305 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
306 (grub_gfxmenu_clear_timeout): Likewise.
307 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
308 (grub_gfxmenu_timeout_notify): Likewise.
309 (grub_gfxmenu_timeout_notifications): New external variable.
310 (grub_gfxmenu_timeout_register): New function.
311 (grub_gfxmenu_timeout_unregister): Likewise.
313 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
315 Transform (broken) vga terminal into (working) vga video driver.
317 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
319 * include/grub/video.h (grub_video_driver_id):
320 Add GRUB_VIDEO_DRIVER_VGA.
321 * term/i386/pc/vga.c: Renamed to ...
322 * video/i386/pc/vga.c: ...this
323 (DEBUG_VGA): Removed.
324 (CHAR_WIDTH): Likewise.
325 (CHAR_HEIGHT): Likewise.
326 (TEXT_WIDTH): Likewise.
327 (TEXT_HEIGHT): Likewise.
328 (DEFAULT_FG_COLOR): Likewise.
329 (DEFAULT_BG_COLOR): Likewise.
330 (colored_char): Likewise.
333 (cursor_state): Likewise.
334 (fg_color): Likewise.
335 (bg_color): Likewise.
336 (text_buf): Likewise.
339 (framebuffer): New variable.
340 (set_read_map): Disabled.
341 (setup): New variable.
342 (is_target): Likewise.
343 (grub_vga_mod_init): Likewise.
344 (grub_vga_mod_fini): Likewise.
345 (check_vga_mem): Likewise.
346 (write_char): Likewise.
347 (write_cursor): Likewise.
348 (scroll_up): Likewise.
349 (grub_vga_putchar): Likewise.
350 (grub_vga_getcharwidth): Likewise.
351 (grub_vga_getwh): Likewise.
352 (grub_vga_getxy): Likewise.
353 (grub_vga_gotoxy): Likewise.
354 (grub_vga_cls): Likewise.
355 (grub_vga_setcolorstate): Likewise.
356 (grub_vga_setcursor): Likewise.
357 (grub_video_vga_init): New function.
358 (grub_video_vga_setup): Likewise.
359 (grub_video_vga_fini): Likewise.
360 (update_target): Likewise.
361 (grub_video_vga_blit_bitmap): Likewise.
362 (grub_video_vga_blit_render_target): Likewise.
363 (grub_video_vga_set_active_render_target): Likewise.
364 (grub_video_vga_get_active_render_target): Likewise.
365 (grub_video_vga_swap_buffers): Likewise.
366 (grub_video_vga_set_palette): Likewise.
367 (grub_video_vga_get_info_and_fini): Likewise.
368 (grub_vga_term): Removed.
369 (grub_video_vga_adapter): New variable.
370 (GRUB_MOD_INIT): Register a video driver instead of terminal.
371 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
373 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
375 * video/readers/jpeg.c: Indented.
377 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
379 Various jpeg cleanups.
381 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
382 (grub_jpeg_decode_quan_table): Use sizeof.
383 (grub_jpeg_decode_du): Use ARRAY_SIZE.
385 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
387 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
388 tables. Ignore non-last ac bit.
389 (grub_jpeg_decode_quan_table): Likewise.
391 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
393 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
394 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
395 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
396 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
397 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
398 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
400 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
402 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
405 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
407 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
409 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
411 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
414 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
416 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
419 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
421 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
424 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
426 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
428 2010-05-01 Christian Franke <franke@computer.org>
430 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
431 Remove broken Cygwin path conversion.
432 * util/misc.c: [__CYGWIN__] Add include and define.
433 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
435 (make_system_path_relative_to_its_root): Simplify loop, replace early
437 [__CYGWIN__] Add conversion to win32 path.
438 Include "/" case in trailing slash removal.
440 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
442 * kern/main.c (grub_load_config): Fix copy-pasted comment.
443 Reported by: Seth Goldberg
445 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
447 * commands/help.c (grub_cmd_help): Fix a typo.
448 Reported by: Seth Goldberg
450 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
452 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
454 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
455 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
456 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
457 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
458 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
459 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
460 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
461 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
462 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
463 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
464 * normal/context.c (GRUB_MOD_INIT): Likewise.
465 * normal/main.c (GRUB_MOD_INIT): Likewise.
466 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
467 * term/serial.c (GRUB_MOD_INIT): Likewise.
468 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
470 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
472 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
475 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
477 * commands/iorw.c: New file.
478 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
479 (iorw_mod_SOURCES): New variable.
480 (iorw_mod_CFLAGS): Likewise.
481 (iorw_mod_LDFLAGS): Likewise.
483 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
487 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
488 * normal/main.c (hotkey_aliases): New variable.
489 (grub_normal_add_menu_entry): Parse "--hotkey".
490 * normal/menu_text.c (run_menu): Handle hotkeys.
492 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
494 * kern/i386/coreboot/init.c (grub_machine_init): Call
495 grub_machine_mmap_init on qemu.
497 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
499 * boot/i386/qemu/boot.S: Add a missing .code16.
501 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
503 Use LBIO on coreboot.
505 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
506 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
507 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
509 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
510 grub_machine_mmap_init on coreboot.
511 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
512 GRUB_LINUXBIOS_MEMBER_LINK.
513 (grub_machine_mmap_iterate): Fix declaration.
514 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
516 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
518 Split coreboot and multiboot ports.
520 * conf/i386-multiboot.rmk: New file.
521 * configure.ac: Add multiboot port.
522 * include/grub/i386/multiboot/boot.h: New file.
523 * include/grub/i386/multiboot/console.h: Likewise.
524 * include/grub/i386/multiboot/init.h: Likewise.
525 * include/grub/i386/multiboot/kernel.h: Likewise.
526 * include/grub/i386/multiboot/loader.h: Likewise.
527 * include/grub/i386/multiboot/memory.h: Likewise.
528 * include/grub/i386/multiboot/serial.h: Likewise.
529 * include/grub/i386/multiboot/time.h: Likewise.
530 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
531 * loader/multiboot.c: Likewise.
532 * loader/multiboot_mbi2.c: Likewise.
533 * util/grub-mkrescue.in: Generate multiboot rescue.
535 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
537 * kern/parser.c (grub_parser_execute): Cope with read-only config.
539 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
541 Merge handling of input and output terminals. Fix a hang.
543 * commands/terminal.c (abstract_terminal): New struct.
544 (handle_command): New function. Based on grub_cmd_terminal_input.
545 (grub_cmd_terminal_input): Use handle_command.
546 (grub_cmd_terminal_output): Use handle_command.
548 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
550 Fix comment handling.
552 * tests/grub_script_comments.in: New testcase.
553 * conf/tests.rmk: Rules for new testcase.
554 * script/yylex.l: Updated flex rules.
556 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
558 * docs/grub.texi (play): Document that zero pitches produce rests.
559 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
562 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
564 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
567 2010-04-26 Christian Franke <franke@computer.org>
569 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
570 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
571 (grub_get_prefix): Remove function.
572 * util/grub-emu.c (main): Replace grub_get_prefix () call by
573 make_system_path_relative_to_its_root ().
574 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
576 2010-04-24 Christian Franke <franke@computer.org>
578 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
579 (kernel_img_LDFLAGS): Remove -static-libgcc.
581 2010-04-24 Christian Franke <franke@computer.org>
583 * configure.ac: Do not CHECK_BSS_START_SYMBOL
584 and CHECK_END_SYMBOL if grub-emu is built.
585 Unset TARGET_OBJ2ELF if grub-emu is built
586 without module support.
588 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
592 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
593 (grub_fstest_SOURCES): Likewise.
594 (pkglib_MODULES): Add nilfs2.mod.
595 (nilfs2_mod_SOURCES): New variable.
596 (nilfs2_mod_CFLAGS): Likewise.
597 (nilfs2_mod_LDFLAGS): Likewise.
598 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
599 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
600 * fs/nilfs2.c: New file.
602 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
604 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
607 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
609 Add grub-mkconfig support for NetBSD.
611 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
612 * util/grub-mkconfig.in: export new NetBSD specific variables.
613 * po/POTFILES-shell: added 10_netbsd.in.
614 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
616 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
618 Fix emu build with grub-emu-pci and grub-emu-modules.
620 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
622 * include/grub/libpciaccess.h: New file.
623 * conf/any-emu.rmk: Update kernel headers for emu build.
625 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
627 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
629 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
631 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
633 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
635 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
636 Retrieve chosen/bootpath if bootpath isn't hardcoded.
637 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
638 util/ieee1275/ofpath.c.
639 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
640 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
641 * include/grub/sparc64/ieee1275/boot.h
642 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
643 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
644 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
645 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
647 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
648 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
649 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
652 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
654 * util/grub-mkconfig.in: Corrected two == equality tests.
655 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
656 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
657 expect a number appended to it.
658 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
659 expects a number appended to it.
661 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
663 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
665 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
667 * util/hostdisk.c (make_device_name): Change to new partition naming.
669 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
671 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
673 2010-04-17 Christian Franke <franke@computer.org>
675 * Makefile.in: Add missing localedir setting.
677 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
679 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
680 mistake in r2156. Noticed by Anthony Fok.
682 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
684 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
686 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
688 Fix a spurious, uninitialized variable warning.
690 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
691 Initialize variable, shdr.
692 (grub_freebsd_load_elfmodule): Likewise.
693 (grub_freebsd_load_elf_meta): Likewise.
695 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
697 Fix for escaped dollar in double quoted strings.
699 * script/yylex.l: Updated flex rules.
700 * conf/tests.rmk: Rule for new testcase.
701 * tests/grub_script_dollar.in: New testcase.
703 2010-04-13 Carles Pina i Estany <carles@pina.cat>
704 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
706 Enclose all translated strings in grub.cfg in single quotes, and
707 escape them appropriately (Ubuntu bug #552921).
709 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
710 * util/grub.d/10_hurd.in: Use it.
711 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
712 * util/grub.d/10_linux.in (linux_entry): Likewise.
714 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
716 Fix cygwin compilation.
718 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
719 * include/grub/misc.h (__register_frame_info)
720 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
721 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
722 * kern/misc.c (__register_frame_info)
723 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
724 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
726 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
728 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
730 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
732 Unify libgcc processing.
734 * Makefile.in (kernel_img_LDFLAGS): New variable.
735 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
736 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
738 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
739 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
740 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
741 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
742 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
743 overwriting. Remove -lgcc and -static-libgcc
744 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
745 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
746 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
747 (kernel_img_LDFLAGS): Append instead of overwriting.
748 Remove -lgcc and -static-libgcc
749 * conf/sparc64-ieee1275.rmk: Likewise.
750 * include/grub/powerpc/libgcc.h: Move to ...
751 * include/grub/libgcc.h: .. this.
752 * include/grub/libgcc.h: Don't export most of the function on x86.
753 (__bswapsi2): New export.
754 (__bswapdi2): Likewise.
755 * include/grub/mips/libgcc.h: Removed.
756 * include/grub/sparc64/libgcc.h: Likewise.
758 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
760 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
761 disk_info_msg (conflicts with gettexting into languages with cases).
763 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
765 Add grub-probe support for NetBSD.
767 * util/getroot.c (find_root_device): Convert block device to
768 character device on NetBSD.
769 * util/probe.c (probe): Require character device on NetBSD.
770 * util/hostdisk.c: NetBSD specific headers.
771 (configure_device_driver): new function to tune device driver
772 parameters (currently only for NetBSD floppy driver).
773 (grub_util_biosdisk_open): NetBSD specific code (get disk size
774 via disklabel ioctl).
775 (open_device): call configure_device_driver on NetBSD.
776 (convert_system_partition_to_system_disk): NetBSD specific code.
777 (device_is_wholedisk): Likewise.
778 (grub_util_biosdisk_get_grub_dev): Likewise.
779 (make_device_name): Fixed a typo in bsd_part_str.
780 * configure.ac: check for opendisk() and getrawpartition() on
781 NetBSD and set LIBUTIL.
782 * Makefile.in: add LIBUTIL to LIBS.
784 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
788 * util/grub-script-check.c: Better help message.
790 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
794 * configure.ac: Flex version check.
795 * conf/common.rmk: Add -Wno-error to sh.mod.
796 * script/yylex.l: Remove all #pragma.
798 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
800 * include/grub/util/misc.h (canonicalise_file_name): Add missing
802 Reported by: Seth Goldberg.
804 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
806 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
807 Rename "module" to "module2".
808 Reported by: Seth Goldberg.
810 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
812 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
814 Reported by: Seth Goldberg.
816 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
818 * lib/posix_wrap/locale.h: Add missing file.
819 Reported by: Seth Goldberg.
821 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
823 grub-emu module load support.
825 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
826 NO_DYNAMIC_MODULES switched to this.
827 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
829 * conf/any-emu.rmk: Generate symlist.
830 (kernel_img_HEADERS): Add util/datetime.h.
831 (kernel_img_HEADERS) [sdl]: Add sdl.h.
832 (kernel_img_HEADERS) [libusb]: Add libusb.h.
833 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
834 kern/$(target_cpu)/cache.S.
835 * configure.ac (grub-emu-modules): New option.
836 * genmk.rb: Handle multiple source lists.
837 * include/grub/sdl.h: New file.
838 * include/grub/libusb.h: Likewise.
839 * util/grub-emu.c (main): Hanle (host) root.
840 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
841 GRUB_ERR_UNKNOWN_DEVICE.
842 * util/misc.c: Move mm functions to ...
843 * util/mm.c: ... here. All users updated.
845 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
847 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
848 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
850 (maintainer-clean): Remove libgcrypt-grub.
852 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
854 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
856 2010-04-09 EFI Coder <eficoder@hotmail.com>
858 * normal/menu_text.c (print_message): Clean up the message and show
859 the Fn information when on EFI
860 * term/efi/console.c (grub_console_checkkey): Add F4 support.
862 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
864 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
866 * normal/crypto.c (read_crypto_list): Likewise.
867 * normal/dyncmd.c (read_command_list): Likewise.
868 * normal/term.c (read_terminal_list): Likewise.
869 * normal/main.c (read_lists): Use explicit prefix.
870 (read_lists_hook): Use read_lists.
871 (grub_normal_execute): Likewise.
873 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
875 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
876 Reported by: Thomas Schmitt.
877 Add -no-emul-boot to grub-mkisofs parameters.
879 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
881 * font/font.c: Indented.
883 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
885 Elif support to GRUB script (by Deepak Vankadaru).
887 * tests/grub_script_if.in: New testcase.
888 * conf/tests.rmk: Rule for new testcase.
889 * script/parser.y: Grammar rules for elif.
891 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
893 While and until loops support to GRUB script.
895 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
896 (grub_script_create_cmdwhile): New function prototype.
897 (grub_script_execute_cmdwhile): New function prototype.
898 * script/execute.c (grub_script_execute_cmdwhile): New function.
899 * script/parser.y (command): New commands.
900 (whilecmd): New grammar rule.
901 (untilcmd): New grammar rule.
902 * script/script.c (grub_script_create_cmdwhile): New function.
903 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
906 * tests/grub_script_while1.in: New testcase.
907 * conf/tests.rmk: Rule for new testcase.
909 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
911 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
914 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
916 GRUB_BACKGROUND support.
918 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
919 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
921 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
923 Load fonts and modules for gfxmenu in grub-mkconfig.
924 Idea by: Mario Vazquez
926 * util/grub.d/00_header.in: Load pf2 and image modules.
928 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
930 grub-mkconfig multiple terminal support.
932 * util/grub-mkconfig.in: Handle multiple terminals correctly.
933 * util/grub.d/00_header.in: Likewise.
935 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
937 * Makefile.in: Specify files explicitly instead of using $< and $@ since
940 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
942 * util/grub.d/10_linux.in: Only use the first word of
943 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
944 spaces in GRUB_DISTRIBUTOR.
945 * util/grub.d/10_kfreebsd.in: Likewise.
946 * util/grub.d/10_hurd.in: Likewise.
948 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
950 Fix unit testing framework for Qemu 0.12.
952 * tests/util/grub-shell.in: Remove -serial stdio option.
954 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
956 POSIX header file wrappers.
958 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
960 * lib/posix_wrap/ctype.h: Likewise.
961 * lib/posix_wrap/errno.h: Likewise.
962 * lib/posix_wrap/langinfo.h: Likewise.
963 * lib/posix_wrap/limits.h: Likewise.
964 * lib/posix_wrap/localcharset.h: Likewise.
965 * lib/posix_wrap/stdint.h: Likewise.
966 * lib/posix_wrap/stdio.h: Likewise.
967 * lib/posix_wrap/stdlib.h: Likewise.
968 * lib/posix_wrap/string.h: Likewise.
969 * lib/posix_wrap/sys/types.h: Likewise.
970 * lib/posix_wrap/unistd.h: Likewise.
971 * lib/posix_wrap/wchar.h: Likewise.
972 * lib/posix_wrap/wctype.h: Likewise.
973 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
974 (grub_script.yy.h): Likewise.
975 * script/yylex.l: Remove POSIX emulation #defines.
976 * Makefile.in (POSIX_CFLAGS): New variable.
977 (GNULIB_UTIL_CFLAGS): Likewise.
981 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
982 (regexp_mod_SOURCES): New variable.
983 (regexp_mod_CFLAGS): Likewise.
984 (regexp_mod_LDFLAGS): Likewise.
985 * commands/regexp.c: New file.
986 * gnulib/regcomp.c: New file. Imported from gnulib.
987 * gnulib/regex.c: Likewise.
988 * gnulib/regex_internal.c: Likewise.
989 * gnulib/regex_internal.h: Likewise.
990 * gnulib/regexec.c: Likewise.
991 * gnulib/regex.h: Likewise.
993 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
995 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
996 unsupported video mode types.
998 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1000 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
1002 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1004 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
1005 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
1007 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1009 Remove unused grub_vga_get_font.
1011 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
1012 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
1014 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1016 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
1017 * include/grub/misc.h: Likewise.
1019 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1021 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
1022 for which failure is fatal.
1024 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1026 * util/grub-install.in: Use mkdir -p to create grub directory.
1027 * util/i386/efi/grub-install.in: Likewise.
1028 * util/ieee1275/grub-install.in: Likewise.
1030 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1032 * Makefile.in (LEX): new variable.
1034 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1036 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
1037 `=' and added double quotes on operands of this equality test.
1039 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1041 * Makefile.in (uninstall): Remove a leftover debug echo.
1042 Reported by: Grégoire Sutre
1044 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1046 MIPS multiboot2 support.
1048 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
1049 (multiboot2_mod_SOURCES): New variable.
1050 (multiboot2_mod_CFLAGS): Likewise.
1051 (multiboot2_mod_LDFLAGS): Likewise.
1052 (multiboot2_mod_ASFLAGS): Likewise.
1053 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
1055 (MULTIBOOT_ENTRY_REGISTER): Likewise.
1056 (MULTIBOOT_MBI_REGISTER): Likewise.
1057 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
1058 (MULTIBOOT_ELF32_MACHINE): Likewise.
1059 (MULTIBOOT_ELF64_MACHINE): Likewise.
1060 * include/grub/mips/multiboot.h: New file.
1061 * include/grub/video.h (grub_video_driver_id): New type
1062 GRUB_VIDEO_DRIVER_SM712.
1063 (grub_video_get_info_and_fini): Export.
1064 (grub_video_get_palette): Likewise.
1065 (grub_video_get_driver_id): Likewise.
1066 * include/multiboot2.h: Resynced with spec.
1067 * loader/i386/multiboot.c: Moved from here ...
1068 * loader/multiboot.c: ... here. All users updated.
1069 (grub_multiboot_boot): Use platform-specific macros.
1070 * loader/i386/multiboot_elfxx.c: Moved from here ...
1071 * loader/multiboot_elfxx.c: ... here. All users updated.
1072 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
1073 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
1074 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
1076 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
1078 Import gnulib argp module.
1080 * gnulib/argp-ba.c: New file.
1081 * gnulib/argp-eexst.c: Likewise.
1082 * gnulib/argp-fmtstream.c: Likewise.
1083 * gnulib/argp-fmtstream.h: Likewise.
1084 * gnulib/argp-fs-xinl.c: Likewise.
1085 * gnulib/argp-help.c: Likewise.
1086 * gnulib/argp-namefrob.h: Likewise.
1087 * gnulib/argp-parse.c: Likewise.
1088 * gnulib/argp-pin.c: Likewise.
1089 * gnulib/argp-pv.c: Likewise.
1090 * gnulib/argp-pvh.c: Likewise.
1091 * gnulib/argp-version-etc.c: Likewise.
1092 * gnulib/argp-version-etc.h: Likewise.
1093 * gnulib/argp-xinl.c: Likewise.
1094 * gnulib/argp.h: Likewise.
1096 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1098 * kern/device.c (grub_device_iterate): Clear errors after failed
1101 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1103 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
1104 returned by firmware.
1106 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1108 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
1109 compilation on coreboot and qemu
1111 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1113 * include/multiboot2.h: Resync with spec.
1115 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1117 Multiboot2 tag support
1119 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
1120 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
1121 Remove loader/multiboot_loader.c.
1122 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
1123 (grub_multiboot2_real_boot): Likewise.
1124 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
1125 (grub_get_multiboot_mmap_count): New proto.
1126 (grub_fill_multiboot_mmap): Likewise.
1127 (grub_multiboot_set_video_mode): Likewise.
1128 (grub_multiboot_set_console): Likewise.
1129 (grub_multiboot_load): Likewise.
1130 (grub_multiboot_load_elf): Likewise.
1131 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
1132 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
1133 * include/multiboot.h: Resynced with specification.
1134 * include/multiboot2.h: Resynced with specification.
1135 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
1136 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
1137 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
1138 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
1140 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
1141 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
1142 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
1144 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
1146 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
1147 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
1149 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
1150 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
1151 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
1153 * loader/i386/multiboot_mbi2.c: New file.
1155 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
1159 * Makefile.in (GNULIB_CFLAGS): New variable.
1160 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
1161 (grub_script_check_CFLAGS): New variable.
1162 * gnulib/alloca.h: Resync with gnulib.
1163 * gnulib/error.c: Likewise.
1164 * gnulib/error.h: Likewise.
1165 * gnulib/fnmatch.c: Likewise.
1166 * gnulib/fnmatch_loop.c: Likewise.
1167 * gnulib/getdelim.c: Likewise.
1168 * gnulib/getline.c: Likewise.
1169 * gnulib/getopt.c: Likewise.
1170 * gnulib/getopt1.c: Likewise.
1171 * gnulib/getopt_int.h: Likewise.
1172 * gnulib/gettext.h: Likewise.
1173 * gnulib/progname.c: Likewise.
1174 * gnulib/progname.h: Likewise.
1176 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
1178 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
1179 which is the case with --disabled-nls.
1181 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
1182 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
1183 * util/misc.c: Likewise.
1184 * util/mkisofs/mkisofs.c: Likewise.
1185 * util/mkisofs/mkisofs.h: Likewise.
1187 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
1189 Simplify Apple CC support.
1191 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
1192 Add 0 byte at the end not to have a symbol with empty target.
1193 * mmap/i386/pc/mmap_helper.S: Likewise.
1194 * genmk.rb: Ignore errors 2030 and 2050.
1195 * kern/i386/pc/startup.S: Use LOCAL when possible.
1197 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
1199 Testcase and the fix for final semicolon on cmdline.
1201 * tests/grub_script_final_semicolon.in: New testcase.
1202 * conf/tests.rmk: Rules for the new testcase.
1203 * script/parser.y: Grammar fix.
1205 2010-03-26 BVK Chaitanya <bvk@localhost>
1207 Blank lines testcase for GRUB script.
1209 * tests/grub_script_blanklines.in: New testcase.
1210 * conf/tests.rmk: Rules for the new testcase.
1212 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1216 * genmk.rb: Add -DGRUB_FILE to all C targets.
1217 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
1218 * include/grub/list.h: Likewise.
1219 * include/grub/misc.h: Likewise.
1220 * include/grub/mm.h: Likewise.
1221 * include/grub/test.h: Likewise.
1222 * kern/mm.c: Likewise.
1223 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
1225 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1227 Sunpc partitions support.
1229 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
1230 (grub_fstest_SOURCES): Likewise.
1231 (pkglib_MODULES): Add part_sunpc.mod.
1232 (part_sunpc_mod_SOURCES): New variable.
1233 (part_sunpc_mod_CFLAGS): Likewise.
1234 (part_sunpc_mod_LDFLAGS): Likewise.
1235 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
1236 * partmap/sunpc.c: New file.
1238 2010-03-26 BVK Chaitanya <bvk@localhost>
1240 For loop support to GRUB script.
1242 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
1243 (grub_script_create_cmdfor): New function prototype.
1244 (grub_script_execute_cmdfor): New function prototype.
1245 * script/execute.c (grub_script_execute_cmdfor): New function.
1246 * script/parser.y (command): New for command.
1247 (forcmd): New grammar rule.
1248 * script/script.c (grub_script_create_cmdfor): New function.
1249 * util/grub-script-check.c (grub_script_execute_cmdfor): New
1251 * tests/grub_script_for1.in: New testcase.
1252 * conf/tests.rmk: Rules for new testcase.
1254 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1258 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
1259 'partition' is NULL, grub_partition_get_start already does that.
1260 * commands/loadenv.c (check_blocklists): Likewise.
1261 (write_blocklists): Likewise.
1262 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
1263 (grub_fstest_SOURCES): Likewise.
1264 (pkglib_MODULES): Add part_bsd.mod.
1265 (part_bsd_mod_SOURCES): New variable.
1266 (part_bsd_mod_CFLAGS): Likewise.
1267 (part_bsd_mod_LDFLAGS): Likewise.
1268 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
1269 (grub_emu_SOURCES): Likewise.
1270 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1271 * include/grub/bsdlabel.h: New file.
1272 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
1274 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
1275 (grub_partition_map_list): New variable.
1276 (grub_partition_map_register): Inline.
1277 (grub_partition_map_unregister): Likewise.
1278 (FOR_PARTITION_MAPS): New macro.
1279 (grub_partition_map_iterate): Removed.
1280 (grub_partition_get_start): Handle nested partitions.
1281 * include/grub/msdos_partition.h: Remove bsd-related entries.
1282 (grub_pc_partition): Remove.
1283 * kern/disk.c (grub_disk_close): Free partition data.
1284 (grub_disk_adjust_range): Handle nested partitions.
1285 * kern/partition.c (grub_partition_map_probe): New function.
1286 (grub_partition_probe): Parse name to number, handle subpartitions.
1287 (get_partmap): New function.
1288 (grub_partition_iterate): Handle subpartitions.
1289 (grub_partition_get_name): Likewise.
1290 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
1291 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
1292 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
1293 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
1295 (acorn_partition_map_probe): Remove.
1296 (acorn_partition_map_get_name): Likewise.
1297 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
1299 Set 'index' to 0 since there can be only one partition entry per sector.
1300 (amiga_partition_map_probe): Remove.
1301 (amiga_partition_map_get_name): Likewise.
1302 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
1304 Set 'offset' and 'index' to real positions of partitions.
1305 (apple_partition_map_probe): Remove.
1306 (apple_partition_map_get_name): Likewise.
1307 * partmap/bsdlabel.c: New file.
1308 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
1310 Allocate 'data' so it can be correctly freed.
1311 Set 'index' to offset inside sector.
1312 (gpt_partition_map_probe): Remove.
1313 (gpt_partition_map_get_name): Likewise.
1314 * partmap/msdos.c (grub_partition_parse): Remove.
1315 (pc_partition_map_iterate): Don't force raw access.
1317 Make 'ext_offset' a local variable.
1318 (pc_partition_map_probe): Remove.
1319 (pc_partition_map_get_name): Remove.
1320 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
1322 (sun_partition_map_probe): Remove.
1323 (sun_partition_map_get_name): Likewise.
1324 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
1325 (grub_pcpart_type): Likewise.
1326 * util/hostdisk.c (open_device): Handle new numbering scheme.
1327 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
1328 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
1329 * util/grub-probe.c (probe_partmap): Handle nested paritions.
1330 * util/grub-install.in: Insert all subpartition modules.
1331 * util/ieee1275/grub-install.in: Likewise.
1333 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
1335 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
1338 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
1340 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
1342 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
1344 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
1345 match where 'make install' puts them.
1346 * util/i386/efi/grub-install.in: Likewise.
1348 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
1350 * .bzrignore: Add gentrigtables, grub-script-check,
1351 grub_script_check_init.c, grub_script_check_init.h, and
1354 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
1356 * kern/parser.c: Indented.
1358 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
1360 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
1362 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
1364 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
1365 alpha_mask_size == 0 case.
1367 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
1369 GRUB shell lexer and parser improvements.
1371 * conf/any-emu.rmk: Build rule updates.
1372 * conf/common.rmk: Likewise.
1373 * conf/i386-coreboot.rmk: Likewise.
1374 * conf/i386-efi.rmk: Likewise.
1375 * conf/i386-ieee1275.rmk: Likewise.
1376 * conf/i386-pc.rmk: Likewise.
1377 * conf/powerpc-ieee1275.rmk: Likewise.
1378 * conf/x86_64-efi.rmk: Likewise.
1380 * configure.ac: Configure check for flex.
1382 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
1384 (grub_lexer_param): Struct member updates.
1385 (grub_parser_param): Likewise.
1386 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
1387 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
1388 (grub_script_lexer_init): Prototype update.
1389 (grub_script_lexer_record_start): Likewise.
1390 (grub_script_lexer_record_stop): Likewise.
1391 (grub_script_lexer_yywrap): New function prototype.
1392 (grub_script_lexer_fini): Likewise.
1393 (grub_script_execute_argument_to_string): Removed by...
1394 (grub_script_execute_argument_to_argv): ...better version.
1396 * script/execute.c (ROUND_UPTO): New macro.
1397 (grub_script_execute_cmdline): Out of memory fixes.
1398 (grub_script_execute_menuentry): Likewise.
1399 (grub_script_execute_argument_to_string): Removed. Update all
1401 (grub_script_execute_argument_to_argv): ...better version.
1402 * script/function.c (grub_script_function_create): Use
1403 grub_script_execute_argument_to_argv instead of
1404 grub_script_execute_argument_to_string.
1406 * script/lexer.c (check_varstate): Removed.
1407 (check_textstate): Removed.
1408 (grub_script_lexer_record_start): Likewise.
1409 (grub_script_lexer_record_stop): Likewise.
1410 (recordchar): Replaced with...
1411 (grub_script_lexer_record): ...new function.
1412 (nextchar): Removed.
1413 (grub_script_lexer_init): Rewritten.
1414 (grub_script_yylex): Rewritten.
1415 (append_newline): New function.
1416 (grub_script_lexer_yywrap): New function.
1417 (grub_script_lexer_fini): New function.
1418 (grub_script_yyerror): Sets error flag.
1420 * script/yylex.l: New file.
1421 (grub_lexer_yyfree): Wrapper for flex yyffre.
1422 (grub_lexer_yyalloc): Likewise.
1423 (grub_lexer_yyrealloc): Likewise.
1424 * script/parser.y: Refactored.
1426 * script/script.c (grub_script_arg_add): Out of memory fixes.
1427 (grub_script_add_arglist): Likewise.
1428 (grub_script_create_cmdline): Likewise.
1429 (grub_script_create_cmdmenu): Likewise.
1430 (grub_script_add_cmd): Likewise.
1431 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
1432 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
1435 * tests/grub_script_echo1.in: New testcase.
1436 * tests/grub_script_vars1.in: New testcase.
1437 * tests/grub_script_echo_keywords.in: New testcase.
1439 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
1441 Remove some redundancy in build system.
1443 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
1444 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
1445 (TARGET_LDFLAGS): Add -nostdlib.
1446 (TARGET_IMG_LDFLAGS): Likewise.
1447 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
1448 anything since mmap isn't available.
1449 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
1451 (pkglib_MODULES): Remove reboot.mod.
1452 (reboot_mod_SOURCES): Removed.
1453 (reboot_mod_CFLAGS): Likewise.
1454 (reboot_mod_LDFLAGS): Likewise.
1455 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
1456 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
1457 (DEFSYMFILES): Add kernel_syms.lst.
1458 (kernel_img_HEADERS): Add common headers.
1459 (symlist.c): New target.
1460 (kernel_syms.lst): Likewise.
1461 (pkglib_MODULES): Add memdisk.mod.
1462 (memdisk_mod_SOURCES): New variable.
1463 (memdisk_mod_CFLAGS): Likewise.
1464 (memdisk_mod_LDFLAGS): Likewise.
1465 (pkglib_MODULES): Add reboot.mod.
1466 (reboot_mod_SOURCES): New variable.
1467 (reboot_mod_CFLAGS): Likewise.
1468 (reboot_mod_LDFLAGS): Likewise.
1469 (pkglib_MODULES): Add date.mod.
1470 (date_mod_SOURCES): New variable.
1471 (date_mod_CFLAGS): Likewise.
1472 (date_mod_LDFLAGS): Likewise.
1473 (pkglib_MODULES): Add datehook.mod.
1474 (datehook_mod_SOURCES): New variable.
1475 (datehook_mod_CFLAGS): Likewise.
1476 (datehook_mod_LDFLAGS): Likewise.
1477 (pkglib_MODULES): Add lsmmap.mod.
1478 (lsmmap_mod_SOURCES): New variable.
1479 (lsmmap_mod_CFLAGS): Likewise.
1480 (lsmmap_mod_LDFLAGS): Likewise.
1481 (pkglib_MODULES): Add boot.mod.
1482 (boot_mod_SOURCES): New variable.
1483 (boot_mod_CFLAGS): Likewise.
1484 (boot_mod_LDFLAGS): Likewise.
1485 * conf/i386-coreboot.rmk: Removed redundant parts.
1486 * conf/i386-ieee1275.rmk: Likewise.
1487 * conf/i386-pc.rmk: Likewise.
1488 * conf/mips-yeeloong.rmk: Likewise.
1489 * conf/mips.rmk: Likewise.
1490 * conf/powerpc-ieee1275.rmk: Likewise.
1491 * conf/sparc64-ieee1275.rmk: Likewise.
1492 * conf/x86_64-efi.rmk: Likewise.
1493 * conf/i386-coreboot.rmk: Moved qemu parts ..
1494 * conf/i386-qemu.rmk: ... here
1495 * conf/i386-efi.rmk: Moved common parts to...
1496 * conf/x86-efi.rmk: ... here.
1497 * conf/i386.rmk: Added modules common to all x86 variants.
1498 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
1499 * disk/memdisk.c: Remove grub/machine/kernel.h.
1500 * gensymlist.sh.in: Include symbol.h.
1501 * hook/datehook.c: Correct module name.
1502 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
1503 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
1504 * include/grub/i386/efi/serial.h: New file.
1505 * include/grub/x86_64/efi/serial.h: Likewise.
1506 * util/time.c: Likewise.
1507 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
1509 2010-03-14 Colin King <colin.king@ubuntu.com>
1510 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
1512 Shrink the pre-partition-table part of boot.img by eight bytes.
1514 * boot/i386/pc/boot.S (ERR): New macro.
1515 (chs_mode): Use ERR.
1516 (geometry_error): Likewise.
1517 (hd_probe_error): Remove. This is only used once, so we wrwite
1519 (read_error): Instead of printing read_error_string, just set up
1520 %si and fall through to ...
1521 (error_message): ... this new function, also used by ERR.
1523 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
1525 Speed up consecutive hostdisk operations on the same device.
1527 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
1528 (grub_util_biosdisk_open): Initialise disk->data.
1529 (struct linux_partition_cache): New structure.
1530 (linux_find_partition): Cache partition start positions; these are
1531 expensive to compute on every read and write.
1532 (open_device): Cache open file descriptor in disk->data, so that we
1533 don't have to reopen it and flush the buffer cache for consecutive
1534 operations on the same device.
1535 (grub_util_biosdisk_close): New function.
1536 (grub_util_biosdisk_dev): Set `close' member.
1538 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
1539 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
1540 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
1541 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
1542 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
1544 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
1546 Compile parts of grub-emu as modules.
1548 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
1549 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
1550 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
1551 (all-local): Add $(GRUB_EMU).
1552 (install-local): Install $(GRUB_EMU).
1553 (uninstall): Uninstall $(GRUB_EMU).
1554 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
1555 * kern/dl.c: Likewise.
1556 * commands/sleep.c: Not include machine/time.h.
1557 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
1558 (COMMON_CFLAGS): Likewise.
1559 (sbin_UTILITIES): Remove grub-emu.
1560 (grub_emu_SOURCES): Removed.
1561 (kernel_img_RELOCATABLE): New variable.
1562 (pkglib_PROGRAMS): Add kernel.img.
1563 (kernel_img_SOURCES): New variable
1564 (kernel_img_CFLAGS): Likewise.
1565 (kernel_img_LDFLAGS): Likewise.
1566 (TARGET_NO_STRIP): Likewise.
1567 (TARGET_NO_DYNAMIC_MODULES): Likewise.
1568 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
1569 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
1570 (grub-emu): New target.
1571 (GRUB_EMU): New variable.
1572 * configure.ac: Whitelist -emu as possible x86_64 architecture.
1573 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
1574 * loader/xnu.c: Likewise.
1575 * include/grub/pci.h: Likewise.
1576 * genemuinit.sh: New file.
1577 * genemuinitheader.sh: Likewise.
1578 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
1579 Support TARGET_NO_DYNAMIC_MODULES.
1580 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
1581 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
1582 * disk/loopback.c: Likewise.
1583 * font/font_cmd.c: Likewise.
1584 * partmap/acorn.c: Likewise.
1585 * partmap/amiga.c: Likewise.
1586 * partmap/apple.c: Likewise.
1587 * partmap/gpt.c: Likewise.
1588 * partmap/msdos.c: Likewise.
1589 * partmap/sun.c: Likewise.
1590 * parttool/msdospart.c: Likewise.
1591 * term/gfxterm.c: Likewise.
1592 * video/bitmap.c: Likewise.
1593 * video/readers/jpeg.c: Likewise.
1594 * video/readers/png.c: Likewise.
1595 * video/readers/tga.c: Likewise.
1596 * video/video.c: Likewise.
1597 * util/grub-emu.c (read_command_list): Removed.
1598 (main): Don't call util_init_nls.
1599 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
1600 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
1602 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
1604 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
1605 date.mod, datehook.mod.
1606 (datetime_mod_SOURCES): New variable.
1607 (datetime_mod_CFLAGS): Likewise.
1608 (datetime_mod_LDFLAGS): Likewise.
1609 (date_mod_SOURCES): Likewise.
1610 (date_mod_CFLAGS): Likewise.
1611 (date_mod_LDFLAGS): Likewise.
1612 (datehook_mod_SOURCES): Likewise.
1613 (datehook_mod_CFLAGS): Likewise.
1614 (datehook_mod_LDFLAGS): Likewise.
1615 * conf/sparc64-ieee1275.rmk: Likewise.
1616 * lib/ieee1275/datetime.c: New file.
1618 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
1620 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
1621 (ieee1275_fb_mod_SOURCES): New variable.
1622 (ieee1275_fb_mod_CFLAGS): Likewise.
1623 (ieee1275_fb_mod_LDFLAGS): Likewise.
1624 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
1626 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
1627 (HEAP_MAX_ADDR): Likewise.
1628 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
1630 Correct stop condition.
1631 (grub_ieee1275_devices_iterate): New function.
1632 * video/ieee1275.c: New file.
1634 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
1636 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
1638 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
1640 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
1641 SCRATCH_PAD_DISKBOOT as scratch.
1642 (bootit): Pass Openfirmware pointer in %o4.
1643 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
1645 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
1646 with util/grub-mkrawimage.c.
1647 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
1648 * include/grub/aout.h (AOUT_MID_SUN): New definition.
1649 (grub_aout_get_type) [GRUB_UTIL]: Removed.
1650 (grub_aout_load) [GRUB_UTIL]: Likewise.
1651 * include/grub/kernel.h (grub_modules_get_end): New proto.
1652 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
1653 (SCRATCH_PAD_BOOT): New definition.
1654 (SCRATCH_PAD_DISKBOOT): Likewise.
1655 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
1656 * include/grub/sparc64/ieee1275/ieee1275.h
1657 (grub_ieee1275_original_stack): New variable
1658 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
1660 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
1661 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
1662 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
1663 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
1664 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
1665 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
1666 (grub_platform_image_format_t): New type.
1667 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
1668 * kern/main.c (grub_modules_get_end)
1669 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
1670 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
1671 (codestart): Switch stacks.
1672 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
1674 (grub_heap_init): Use grub_modules_get_end.
1675 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
1677 * util/grub-mkrawimage.c (generate_image): Support sparc64.
1679 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
1681 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
1683 * util/grub-mkrescue.in: Base ISO UUID on UTC.
1685 2010-03-08 Matt Kraai <kraai@ftbfs.org>
1687 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
1690 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
1692 * genmoddep.awk: Output all missing symbols and not only first.
1694 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1696 * NEWS: Put the date of 1.98 release.
1698 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1700 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
1703 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1705 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
1706 completition in the middle of string.
1708 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1710 * util/grub-mkrescue.in: Use mktemp with explicit template.
1712 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1714 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
1716 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1718 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
1721 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1723 Fix FreeBSD compilation.
1725 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
1726 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
1728 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1730 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
1732 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1734 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
1736 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1738 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
1740 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
1742 Support relative image path in theme file.
1744 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
1745 (image_set_property): Handle theme_dir and relative path.
1747 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1749 * configure.ac: Alias amd64 to x86_64.
1751 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1753 * NEWS: mention multiboot on EFI.
1755 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1757 * kern/main.c (grub_load_modules): Handle errors from init functions of
1760 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1762 * normal/autofs.c (autoload_fs_module): Handle errors.
1764 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1766 Disable linux.mod on qemu-mips since it's not functional and leads
1767 to compilation failure.
1769 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
1770 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
1771 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
1772 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
1773 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
1774 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
1775 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
1776 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
1777 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
1778 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
1779 Reported by: BVK Chaitanya
1781 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
1783 * INSTALL: Add gettext as a dependency and add qemu to a new section
1784 "Prerequisites for make-check".
1786 2010-03-04 Christian Franke <franke@computer.org>
1788 * util/grub-pe2elf.c: Add missing include "progname.h".
1790 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1792 * normal/crypto.c (read_crypto_list): Fix a typo.
1793 Reported by: Seth Goldberg.
1795 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1797 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
1798 Reported by: Seth Goldberg.
1800 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1802 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
1805 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1807 * genmk.rb: Remove terminal*.lst in make clean.
1808 Reported by: Seth Goldberg.
1810 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1812 * util/i386/efi/grub-install.in: Copy gettext files.
1814 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1816 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
1818 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1820 Wait for user entry basing on presence of output rather than on errors.
1822 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
1823 (grub_install_newline_hook): Likewise.
1824 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
1825 * normal/menu.c (show_menu): Check line_counter to determine presence
1827 * normal/term.c (grub_normal_line_counter): New variable.
1828 (grub_normal_get_line_counter): New function.
1829 (grub_install_newline_hook): Likewise.
1831 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1833 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
1835 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1837 * configure.ac: Update version to 1.98.
1839 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1841 * util/grub.d/10_linux.in (linux_entry): Don't default to
1842 gfxpayload=keep if Linux doesn't support video handover.
1844 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1846 Don't compile video modules on yeeloong since video subsystem is part
1849 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
1850 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
1851 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
1852 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
1853 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
1854 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
1855 * include/grub/bitmap_scale.h: Likewise.
1856 * include/grub/bufio.h: Likewise.
1857 * include/grub/font.h: Likewise.
1858 * include/grub/gfxterm.h: Likewise.
1859 * include/grub/video.h: Likewise.
1860 * include/grub/vbe.h: Don't include video_fb.h.
1861 * video/i386/pc/vbe.c: Include video_fb.h.
1862 * commands/i386/pc/vbetest.c: Include video.h.
1864 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
1866 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
1867 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
1868 default entry if GRUB_SAVEDEFAULT=true. This allows using
1869 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
1870 saving a new default on every boot.
1872 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1874 * normal/crypto.c (read_crypto_list): Fix a memory leak.
1875 * normal/term.c (read_terminal_list): Likewise.
1876 * normal/main.c (grub_normal_init_page): Likewise.
1877 (grub_normal_read_line_real): Likewise.
1879 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1881 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
1883 Reported by: Seth Goldberg.
1885 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
1887 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
1888 duplicate declaration of `start'.
1890 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
1892 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
1894 Reported by: Georgy Buranov
1896 2010-02-20 Carles Pina i Estany <carles@pina.cat>
1898 * util/grub-mkrawimage.c (usage): Change string formatting to
1901 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
1903 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
1906 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
1908 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
1909 Reported by: Michael Suchanek.
1911 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
1913 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
1914 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
1916 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
1918 Remove any reference to non-free fonts.
1920 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
1921 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
1922 uses non-free components.
1923 * font/font.c (grub_font_get_name): Remove example name.
1924 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
1925 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
1926 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
1927 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
1929 2010-02-16 Georgy Buranov <gburanov@gmail.com>
1931 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
1933 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
1935 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
1937 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
1939 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
1941 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
1943 * gensymlist.sh.in: Use TARGET_CC instead of CC.
1945 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
1947 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
1948 * docs/grub.texi (Command-line and menu entry commands): Document play
1951 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
1953 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
1954 parse arguments as inline tempo and notes. Move code for playing notes
1956 (play): ... new function.
1958 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
1960 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
1961 grub_uint16_t instead of short.
1962 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
1963 disk from little endian to cpu endianness.
1965 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
1967 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
1968 GRUB_TICKS_PER_SECOND instead of 120.
1970 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1972 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
1973 escape sequence after \e.
1975 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1977 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
1978 non-ASCII characters.
1980 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1982 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
1983 set root in single quotes to prevent \, from being unescaped.
1985 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1987 Prevent unknown commands from stopping menuentry execution.
1989 * script/execute.c (grub_script_execute_cmdline): Print error after
1992 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1994 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
1995 Reported by: Pavel Pisa.
1997 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1999 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
2001 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2003 Merge grub_ieee1275_map_physical into grub_map and rename to
2006 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
2007 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
2009 * kern/ieee1275/openfw.c (grub_map): Rename to ...
2010 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
2012 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
2014 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2016 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
2017 opening and not after.
2019 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2021 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
2024 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2026 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
2027 (alloc_phys): Use ALIGN_UP instead of align_addr.
2029 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2031 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
2033 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2035 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
2037 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2039 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
2042 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2044 Fix over-4GiB seek on sparc64.
2046 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
2047 Replace pos_i and pos_lo with pos. All users updated.
2048 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
2050 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
2052 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
2055 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2057 * util/grub-mkrawimage.c (main): Call set_program_name.
2059 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2061 Properly align 64-bit targets.
2063 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
2064 (generate_image): Use ALIGN_ADDR.
2066 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2068 Properly create cross-endian images.
2070 * include/grub/types.h (grub_host_to_target_addr): New macro
2071 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
2073 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2075 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
2077 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2079 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
2081 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
2082 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
2083 (grub_linux_boot): Divide by 64K when on VESA.
2085 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2087 Support GRUB_GFXPAYLOAD_LINUX.
2089 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
2090 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
2092 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2094 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
2095 to show messages instead of discarding them.
2096 Process errors after executing command and not before. Keep old method
2099 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2101 * configure.ac: Check for ft2build.h.
2103 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2105 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
2107 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2109 * genkernsyms.sh.in: Use TARGET_CC.
2111 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
2115 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2117 * include/grub/multiboot2.h: Remove leftover file.
2118 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
2119 * include/grub/partition.h [GRUB_UTIL]: Likewise.
2121 2010-02-07 Yves Blusseau <blusseau@zetam.org>
2123 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
2125 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2127 Fix warnings in grub-emu when compiling with maximum warning options.
2129 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
2130 (grub_arch_modules_addr): Return 0 and not NULL.
2131 * util/misc.c (ENABLE_RELOCATABLE): New definition.
2132 (xstrdup): Use newstr instead of dup.
2133 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
2134 of disk to dsk to avoid shadowing.
2135 (find_free_slot): Fix prototype.
2136 * util/getroot.c (grub_util_is_dmraid): Make static.
2137 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
2138 Add missing prototype.
2139 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
2141 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2143 * loader/i386/linux.c (grub_linux_setup_video): Handle error
2146 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2148 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
2151 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2153 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
2154 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
2155 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
2156 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
2157 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
2158 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
2160 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2162 * include/grub/err.h (grub_err_printf): Don't export.
2164 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2166 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
2168 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2170 * include/grub/i18n.h (grub_gettext_dummy): Removed.
2171 * kern/misc.c (grub_gettext_dummy): Make static.
2173 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2175 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
2177 * kern/term.c (grub_putchar): Likewise.
2179 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2181 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
2182 buggy hook call and memory leak.
2184 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2186 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
2188 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2190 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
2192 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2194 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
2196 Return grub_errno on allocation error.
2198 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2200 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
2202 2010-02-06 Yves Blusseau <blusseau@zetam.org>
2204 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
2205 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
2207 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2209 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
2211 (grub_pxefs_open): Likewise.
2213 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
2215 * util/grub.d/10_hurd.in: Add --class information to menuentries.
2216 * util/grub.d/10_kfreebsd.in: Likewise.
2217 * util/grub.d/10_linux.in: Likewise.
2219 2010-02-06 Colin D Bennett <colin@gibibit.com>
2221 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
2222 (gfxmenu_mod_SOURCES): New variable.
2223 (gfxmenu_mod_CFLAGS): Likewise.
2224 (gfxmenu_mod_LDFLAGS): Likewise.
2225 * include/grub/term.h (grub_term_set_current_output): Declare
2227 * docs/gfxmenu-theme-example.txt: New file.
2228 * gfxmenu/gfxmenu.c: Likewise.
2229 * gfxmenu/gui_box.c: Likewise.
2230 * gfxmenu/gui_canvas.c: Likewise.
2231 * gfxmenu/gui_circular_progress.c: Likewise.
2232 * gfxmenu/gui_image.c: Likewise.
2233 * gfxmenu/gui_label.c: Likewise.
2234 * gfxmenu/gui_list.c: Likewise.
2235 * gfxmenu/gui_progress_bar.c: Likewise.
2236 * gfxmenu/gui_string_util.c: Likewise.
2237 * gfxmenu/gui_util.c: Likewise.
2238 * gfxmenu/icon_manager.c: Likewise.
2239 * gfxmenu/model.c: Likewise.
2240 * gfxmenu/named_colors.c: Likewise.
2241 * gfxmenu/theme_loader.c: Likewise.
2242 * gfxmenu/view.c: Likewise.
2243 * gfxmenu/widget-box.c: Likewise.
2244 * include/grub/gfxmenu_model.h: Likewise.
2245 * include/grub/gfxmenu_view.h: Likewise.
2246 * include/grub/gfxwidgets.h: Likewise.
2247 * include/grub/gui.h: Likewise.
2248 * include/grub/gui_string_util.h: Likewise.
2249 * include/grub/icon_manager.h: Likewise.
2251 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2253 Agglomerate scrolling in gfxterm.
2255 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
2256 (grub_virtual_screen_setup): Initialise 'total_screen'.
2257 (write_char): Split to ...
2258 (paint_char): ... this ...
2259 (write_char): ... and this.
2260 (paint_char): Handle delayed scrolling.
2261 (draw_cursor): Likewise.
2262 (scroll_up): Split to ...
2263 (real_scroll): ... this ...
2264 (scroll_up): ... and this.
2265 (real_scroll): Handle multi-line scroll and draw below-the-bottom
2267 (grub_gfxterm_refresh): Call real_scroll.
2269 2010-02-06 Colin D Bennett <colin@gibibit.com>
2271 * include/grub/misc.h (grub_iscntrl): New inline function.
2272 (grub_isalnum): Likewise.
2273 (grub_strtol): Likewise.
2275 2010-02-06 Colin D Bennett <colin@gibibit.com>
2277 * normal/menu_text.c (get_entry_number): Move from here ...
2278 * normal/menu.c (get_entry_number): ... moved here.
2279 * include/grub/menu.h (grub_menu_get_default_entry_index):
2281 * normal/menu.c (grub_menu_get_default_entry_index): New function.
2282 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
2283 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
2284 (grub_menu_viewer_should_return): Likewise.
2285 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
2286 * normal/menu_text.c (run_menu): Enable menu switching.
2287 * normal/menu_viewer.c (should_return): New variable.
2288 (menu_viewer_changed): Likewise.
2289 (grub_menu_viewer_show_menu): Handle menu viewer changes.
2290 (grub_menu_viewer_should_return): New function.
2291 (menuviewer_write_hook): Likewise.
2292 (grub_menu_viewer_init): Likewise.
2294 2010-02-06 Colin D Bennet <colin@gibibit.com>
2295 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2297 Support for gfxterm in a window.
2299 * include/grub/gfxterm.h: New file.
2300 * include/grub/video.h (struct grub_video_rect): New declaration.
2301 (grub_video_rect_t): Likewise.
2302 * term/gfxterm.c (struct grub_gfxterm_window): New type.
2303 (refcount): New variable.
2304 (render_target): Likewise.
2306 (repaint_callback): Likewise.
2307 (grub_virtual_screen_setup): Use 'render_target'.
2308 (init_window): New function.
2309 (grub_gfxterm_init_window): Likewise.
2310 (grub_gfxterm_init): Check reference counter.
2312 (destroy_window): New function.
2313 (grub_gfxterm_destroy_window): Likewise.
2314 (grub_gfxterm_fini): Check reference counter.
2316 (redraw_screen_rect): Restore viewport.
2317 Use 'render_target' and 'window'.
2318 Call 'repaint_callback'.
2319 (write_char): Use 'render_target'.
2320 (draw_cursor): Likewise.
2321 (scroll_up): Restore viewport.
2322 Use 'render_target' and 'window'.
2323 Call 'repaint_callback'.
2324 (grub_gfxterm_cls): Likewise.
2325 (grub_gfxterm_refresh): Use 'window'.
2326 (grub_gfxterm_set_repaint_callback): New function.
2327 (grub_gfxterm_background_image_cmd): Use 'window'.
2328 (grub_gfxterm_get_term): New function.
2329 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
2331 2010-02-06 Colin D Bennett <colin@gibibit.com>
2333 Bitmap scaling support.
2335 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
2336 (bitmap_scale_mod_SOURCES): New variable.
2337 (bitmap_scale_mod_CFLAGS): Likewise.
2338 (bitmap_scale_mod_LDFLAGS): Likewise.
2339 * include/grub/bitmap_scale.h: New file.
2340 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
2341 (background_image_cmd_options): New variable.
2342 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
2343 (cmd): Rename and change type to ...
2344 (background_image_cmd_handle): ... this. All users updated.
2345 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
2346 * video/bitmap_scale.c: New file.
2348 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2352 * Makefile.in (LIBSDL): New variable.
2353 (enable_grub_emu_sdl): Likewise.
2354 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
2355 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
2356 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
2357 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
2358 * util/sdl.c: New file.
2360 2010-02-06 Colin D Bennett <colin@gibibit.com>
2361 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2363 Double buffering support.
2365 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
2366 * include/grub/video.h: Update comment.
2367 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
2369 (grub_video_fb_doublebuf_blit_init): New prototype.
2370 * term/gfxterm.c (scroll_up): Support double buffering.
2371 (grub_gfxterm_refresh): Likewise.
2372 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
2373 (grub_video_fb_doublebuf_blit_init): Likewise.
2374 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
2375 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
2376 'displayed_page', 'render_page' and 'update_screen'.
2377 (grub_video_vbe_fini): Free offscreen buffer.
2378 (doublebuf_pageflipping_commit): New function.
2379 (doublebuf_pageflipping_update_screen): Likewise.
2380 (doublebuf_pageflipping_init): Likewise.
2381 (double_buffering_init): Likewise.
2382 (grub_video_vbe_setup): Enable doublebuffering.
2383 (grub_video_vbe_swap_buffers): Implement.
2384 (grub_video_vbe_set_active_render_target): Handle double buffering.
2385 (grub_video_vbe_get_active_render_target): Likewise.
2386 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
2387 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
2388 (grub_video_vbe_enable_double_buffering): Likewise.
2389 (grub_video_vbe_swap_buffers): Use update_screen.
2390 (grub_video_set_mode): Use double buffering.
2392 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
2394 * maintainance/gentrigtables.py: Remove.
2395 * lib/trig.c: Likewise.
2397 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
2399 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
2401 (trigtables.c): New rule.
2402 (gentrigtables): Likewise.
2403 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
2405 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
2407 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
2410 2010-02-06 Colin D Bennet <colin@gibibit.com>
2412 Trigonometry support.
2414 * include/grub/trig.h: New file.
2415 * lib/trig.c: Likewise.
2416 * maintainance/gentrigtables.py: Likewise.
2417 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
2418 (trig_mod_SOURCES): New variable.
2419 (trig_mod_CFLAGS): Likewise.
2420 (trig_mod_LDFLAGS): Likewise.
2422 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2424 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
2427 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2429 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
2432 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2434 * util/hostdisk.c (open_device): Don't use partition device when reading
2435 before the partition.
2436 (grub_util_biosdisk_read): Don't read from partition and before the
2437 partition in single operation.
2438 (grub_util_biosdisk_write): Don't write to partition and before the
2439 partition in single operation.
2441 2010-02-03 Torsten Landschoff <torsten@debian.org>
2443 * kern/disk.c (grub_disk_read): Fix offset computation when reading
2446 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2448 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
2450 (grub_biosdisk_write): Refuse to write to CDROM.
2452 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2454 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
2456 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2458 * font/font.c (find_glyph): Check that bmp_idx is available before
2460 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
2461 with (font == NULL).
2463 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
2465 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
2467 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
2469 * include/grub/script_sh.h (sourcecode): Add const qualifier.
2470 * util/grub-script-check.c (getline): Fix empty lines case.
2472 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
2474 * Makefile.in (check): Exit with fail status when one of the tests
2476 * tests/example_functional_test.c (example_test): Fix reversed assert.
2477 * tests/example_unit_test.c (example_test): Likewise.
2479 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
2481 * util/grub.d/10_linux.in: This script does not use any of the
2482 contents of gettext.sh, only the external command `gettext', so stop
2483 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
2484 the same prefix as GRUB.)
2485 * util/grub.d/10_kfreebsd.in: Likewise.
2487 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2489 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
2492 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2494 * kern/disk.c (grub_disk_read): Fix offset computation when reading
2497 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2499 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
2500 having a 4KiB and not 32KiB buffer size.
2502 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
2504 * util/hostfs.c: Include `<errno.h>'.
2505 (grub_hostfs_read): Handle errors from fseeko() and fread().
2507 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
2509 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
2510 loop when using read hooks on files whose size isn't sector-aligned.
2512 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
2514 Remove unused parameter.
2516 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
2517 (grub_iso9660_open): Remove initialization of `data->length'.
2519 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
2521 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
2524 2010-01-27 Carles Pina i Estany <carles@pina.cat>
2526 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
2527 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
2529 2010-01-26 Carles Pina i Estany <carles@pina.cat>
2531 * util/bin2h.c (usage): Fix warning (space after backslash).
2533 2010-01-26 Carles Pina i Estany <carles@pina.cat>
2535 * font/font.c: Include `grub/fontformat.h.
2536 Remove font file format constants.
2537 (grub_font_load): Use the new macros.
2538 * include/grub/fontformat.h: New file.
2539 * util/grub-mkfont.c: Include `grub/fontformat.c'.
2540 (write_font_pf2): Use the new macros.
2542 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
2544 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
2547 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
2549 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
2551 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
2552 (_start): Macroify `0x7F'.
2554 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
2555 (make_install_device): Use "(pxe)" as fallback prefix when booting
2558 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
2560 * configure.ac: Reset LIBS after check for libgcc symbols.
2562 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
2564 * util/hostdisk.c (open_device): Add trailing newline to debug
2567 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
2569 * configure.ac: Check for `limits.h'.
2570 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
2572 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
2574 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
2575 capitalize error strings.
2577 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
2579 * util/grub.d/10_hurd.in: Add a recovery mode.
2581 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
2583 * configure.ac: Check for libgcc symbols with -nostdlib.
2585 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
2587 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
2589 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2591 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
2592 stack since heap may be unavailable at that point.
2593 (grub_ofconsole_gotoxy): Likewise.
2595 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2597 * configure.ac: Check for _restgpr_14_x.
2598 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
2599 and _savegpr_* prototypes.
2601 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
2603 Use generic grub_reboot() for i386-efi.
2605 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
2606 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
2607 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
2609 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2611 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
2612 presence of "prefix" variable as it breaks when normal.mod is
2615 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2617 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
2618 stack since heap is unavailable at that point.
2620 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2622 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
2623 (grub_freebsd_bootinfo): Rewritten.
2624 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
2626 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2628 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
2630 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
2632 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
2635 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
2637 * util/misc.c (make_system_path_relative_to_its_root): Change the work
2638 around for handling "/" to the correct fix. Fix a memory leak. Use
2639 xstrdup instead of strdup.
2641 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2643 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
2645 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2647 Optimise glyph lookup by Basic Multilingual Plane lookup array.
2649 * font/font.c (struct grub_font): New member 'bmp_idx'.
2650 (font_init): Initialise 'bmp_idx'.
2651 (load_font_index): Fill 'bmp_idx'.
2652 (find_glyph): Make inline. Use bmp_idx for BMP characters.
2654 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2656 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
2659 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2661 Move context handling out of the kernel.
2663 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
2664 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
2665 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
2666 * conf/i386-efi.rmk: Likewise.
2667 * conf/i386-ieee1275.rmk: Likewise.
2668 * conf/i386-pc.rmk: Likewise.
2669 * conf/powerpc-ieee1275.rmk: Likewise.
2670 * conf/sparc64-ieee1275.rmk: Likewise.
2671 * conf/x86_64-efi.rmk: Likewise.
2672 * include/grub/env.h: Include grub/menu.h.
2673 (grub_env_var_type): Removed.
2674 (grub_env_var): Replaced field 'type' with 'global'.
2675 (grub_env_find): New prototype.
2676 (grub_env_context_open): Remove EXPORT_FUNC.
2677 (grub_env_context_close): Likewise.
2678 (grub_env_export): Likewise.
2679 (grub_env_set_data_slot): Removed.
2680 (grub_env_get_data_slot): Likewise.
2681 (grub_env_unset_data_slot): Likewise.
2682 (grub_env_unset_menu): New prototype.
2683 (grub_env_set_menu): Likewise.
2684 (grub_env_get_menu): Likewise.
2685 * include/grub/env_private.h: New file.
2686 * include/grub/normal.h (grub_context_init): New prototype.
2687 (grub_context_fini): Likewise.
2688 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
2689 * normal/context.c (grub_cmd_export): ... to here.
2690 * kern/env.c: Include env_private.h.
2691 (HASHSZ): Moved to include/grub/env_private.h.
2692 (grub_env_context): Likewise.
2693 (grub_env_sorted_var): Likewise.
2694 (current_context): Renamed from this ...
2695 (grub_current_context): ...to this. 'static' removed. All users updated.
2696 (grub_env_find): Removed 'static'.
2697 (grub_env_context_open): Moved to normal/context.c.
2698 (grub_env_context_close): Likewise.
2699 (grub_env_export): Likewise.
2700 (mangle_data_slot_name): Removed.
2701 (grub_env_set_data_slot): Likewise.
2702 (grub_env_get_data_slot): Likewise.
2703 (grub_env_unset_data_slot): Likewise.
2704 * kern/main.c (grub_set_root_dev): Don't export root.
2705 It will be done later.
2706 (grub_main): Don't export prefix.
2707 It will be done later.
2708 * normal/context.c: New file.
2709 * normal/main.c (free_menu): Use grub_env_unset_menu.
2710 (grub_normal_add_menu_entry): Use grub_env_get_menu.
2711 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
2712 (GRUB_MOD_INIT(normal)): Call grub_context_init.
2713 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
2715 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2719 * commands/setpci.c: New file.
2720 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
2721 (setpci_mod_SOURCES): New variable.
2722 (setpci_mod_CFLAGS): Likewise.
2723 (setpci_mod_LDFLAGS): Likewise.
2725 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2727 Byte-addressable PCI configuration space.
2729 * bus/pci.c (grub_pci_make_address): Use byte address instead of
2731 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
2732 GRUB_PCI_REG_CACHELINE.
2733 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
2734 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
2735 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
2736 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
2737 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
2738 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
2739 grub_pci_make_address.
2740 (lock_rom_area): Likewise.
2741 * commands/lspci.c (grub_lspci_iter): Use macroses
2742 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
2743 of grub_pci_make_address.
2744 * disk/ata.c (grub_ata_pciinit): Likewise.
2745 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
2746 (GRUB_PCI_REG_VENDOR): Likewise.
2747 (GRUB_PCI_REG_DEVICE): Likewise.
2748 (GRUB_PCI_REG_COMMAND): Likewise.
2749 (GRUB_PCI_REG_STATUS): Likewise.
2750 (GRUB_PCI_REG_REVISION): Likewise.
2751 (GRUB_PCI_REG_CLASS): Likewise.
2752 (GRUB_PCI_REG_CACHELINE): Likewise.
2753 (GRUB_PCI_REG_LAT_TIMER): Likewise.
2754 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
2755 (GRUB_PCI_REG_BIST): Likewise.
2756 (GRUB_PCI_REG_ADDRESSES): Likewise.
2757 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
2758 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
2759 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
2760 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
2761 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
2762 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
2763 (GRUB_PCI_REG_CIS_POINTER): Likewise.
2764 (GRUB_PCI_REG_SUBVENDOR): Likewise.
2765 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
2766 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
2767 (GRUB_PCI_REG_CAP_POINTER): Likewise.
2768 (GRUB_PCI_REG_IRQ_LINE): Likewise.
2769 (GRUB_PCI_REG_IRQ_PIN): Likewise.
2770 (GRUB_PCI_REG_MIN_GNT): Likewise.
2771 (GRUB_PCI_REG_MAX_LAT): Likewise.
2772 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
2773 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
2774 * video/efi_uga.c (find_framebuf): Likewise.
2775 * video/sm712.c (grub_video_sm712_setup): Likewise.
2776 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
2779 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
2781 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
2782 can be reliably determined to be supported.
2784 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
2786 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
2787 that VESA is supported.
2788 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
2791 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2793 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
2795 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
2797 * util/misc.c (make_system_path_relative_to_its_root): Work around
2798 special-casing of "/", as previous incarnation of this routine did.
2800 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2802 Fix any-emu compilation.
2804 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
2805 * grub_bin2h_SOURCES: New variable.
2807 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
2809 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
2811 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
2813 * util/grub.d/00_header.in: Fix handling of locale_dir.
2815 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2817 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
2818 as possible unifont location (Gentoo).
2819 Reported by: Alexander Brüning
2821 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2823 Don't try to generate lists for kernel.img.
2825 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
2826 (pkglib_MODULES): Remove kernel.img.
2827 (kernel_img_EXPORTS): Removed.
2828 (kernel_img_RELOCATABLE): New variable.
2829 * conf/x86_64-efi.rmk: Likewise.
2830 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
2832 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2834 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
2835 grub_xasprintf or grub_snprintf.
2836 (grub_vsprintf): Likewise.
2837 (grub_snprintf): New proto.
2838 (grub_vsnprintf): Likewise.
2839 (grub_xasprintf): Likewise.
2840 (grub_xvasprintf): Likewise.
2841 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
2842 (grub_sprintf): Removed.
2843 (grub_vsnprintf): New function.
2844 (grub_snprintf): Likewise.
2845 (grub_xvasprintf): Likewise.
2846 (grub_xasprintf): Likewise.
2847 (grub_vsprintf): Renamed to ...
2848 (grub_vsnprintf_real): ...this. New argument max_len.
2850 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
2852 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
2853 fix grub-script-check warning.
2855 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2857 * include/grub/font.h (grub_font_load): Fix prototype.
2859 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2861 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
2863 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2865 * include/grub/x86_64/at_keyboard.h: New file.
2867 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2869 * loader/mips/linux.c: Include missing grub/i18n.h.
2871 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
2873 * normal/menu.c (notify_execution_failure): Clarify error message.
2875 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
2877 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
2878 return value (and revert all return statements). Update users.
2880 2010-01-20 Dan Merillat <debian@dan.merillat.org>
2882 * kern/device.c (grub_device_iterate): Allocate new part_ent
2883 structure based on sizeof (*p) rather than sizeof (p->next), to
2884 account for structure padding.
2886 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
2887 disk is NULL, which might happen for LVM physical volumes with no
2890 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
2892 * loader/mips/linux.c (grub_cmd_initrd)
2893 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
2895 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
2897 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
2898 (grub_video_video_init, grub_video_bitmap_init)
2899 (grub_font_manager_init, grub_term_gfxterm_init)
2900 (grub_at_keyboard_init): New extern declarations.
2901 (grub_machine_init): Initialize gfxterm and at_keyboard.
2903 * kern/main.c (grub_main): Revert grub_printf delay kludge.
2905 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
2906 `gfxterm.mod' into core image.
2908 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
2909 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
2910 (kernel_img_FORMAT): Copy to ...
2912 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
2913 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
2914 (kernel_img_FORMAT): ... here, and ...
2916 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
2917 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
2918 (kernel_img_FORMAT): ... here.
2920 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
2921 and input (at_keyboard) terminals in kernel.
2922 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
2924 (pkglib_MODULES): Remove `pci.mod'.
2925 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
2926 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
2927 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
2928 (at_keyboard_mod_LDFLAGS): Remove variables.
2930 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
2932 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
2934 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
2936 * include/grub/mips/libgcc.h: Only export symbols for functions
2937 that libgcc provides.
2939 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
2943 * bus/bonito.c: New file.
2944 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
2945 GRUB_PCI_NUM_DEVICES.
2946 * term/i386/pc/serial.c: Move to ...
2947 * term/serial.c: ... here. All users updated.
2948 * util/i386/pc/grub-mkimage.c: Move to ...
2949 * util/grub-mkrawimage.c: ... here. All users updated.
2950 * term/i386/pc/at_keyboard.c: Move to ...
2951 * term/at_keyboard.c: ... here. All users updated.
2952 * conf/mips-qemu-mips.rmk: New file.
2953 * conf/mips-yeeloong.rmk: Likewise.
2954 * conf/mips.rmk: Likewise.
2955 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
2957 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
2959 (grub_ata_pciinit): Support CS5536.
2960 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
2961 * font/font_cmd.c (loadfont_command): Open file before passing it to
2963 (pseudo_file_read): New function.
2964 (pseudo_file_close): Likewise.
2965 (pseudo_fs): New structure.
2966 (load_font_module): New function.
2967 (GRUB_MOD_INIT(font_manager)): Load embedded font.
2968 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
2969 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
2970 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
2971 * include/grub/i386/at_keyboard.h: Split into ...
2972 * include/grub/at_keyboard.h: ... this ...
2973 * include/grub/i386/at_keyboard.h: ... and this.
2974 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
2976 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
2978 (grub_elf64_size): Likewise.
2979 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
2981 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
2982 * include/grub/i386/coreboot/serial.h: Rewritten.
2983 * include/grub/i386/ieee1275/serial.h: Include
2984 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
2985 * include/grub/i386/pc/serial.h: Moved from here ...
2986 * include/grub/serial.h: ... to here. All users updated.
2987 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
2988 (GRUB_PCI_NUM_BUS): Likewise.
2989 (GRUB_PCI_NUM_DEVICES): Likewise.
2990 (grub_pci_device_map_range): Add missing volatile keyword.
2991 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
2992 * include/grub/mips/at_keyboard.h: New file.
2993 * include/grub/mips/cache.h: Likewise.
2994 * include/grub/mips/io.h: Likewise.
2995 * include/grub/mips/kernel.h: Likewise.
2996 * include/grub/mips/libgcc.h: Likewise.
2997 * include/grub/mips/pci.h: Likewise.
2998 * include/grub/mips/qemu-mips/boot.h: Likewise.
2999 * include/grub/mips/qemu-mips/kernel.h: Likewise.
3000 * include/grub/mips/qemu-mips/loader.h: Likewise.
3001 * include/grub/mips/qemu-mips/memory.h: Likewise.
3002 * include/grub/mips/qemu-mips/serial.h: Likewise.
3003 * include/grub/mips/qemu-mips/time.h: Likewise.
3004 * include/grub/mips/relocator.h: Likewise.
3005 * include/grub/mips/time.h: Likewise.
3006 * include/grub/mips/types.h: Likewise.
3007 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
3008 * include/grub/mips/yeeloong/boot.h: Likewise.
3009 * include/grub/mips/yeeloong/kernel.h: Likewise.
3010 * include/grub/mips/yeeloong/loader.h: Likewise.
3011 * include/grub/mips/yeeloong/memory.h: Likewise.
3012 * include/grub/mips/yeeloong/pci.h: Likewise.
3013 * include/grub/mips/yeeloong/serial.h: Likewise.
3014 * include/grub/mips/yeeloong/time.h: Likewise.
3015 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
3016 * kern/elf.c (grub_elf32_size): New parameter. All users
3018 (grub_elf64_size): Likewise.
3019 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
3020 Load modules before saying "Welcome to GRUB!".
3021 Call grub_refresh after saying "Welcome to GRUB!".
3022 * kern/mips/cache.S: New file.
3023 * kern/mips/cache_flush.S: Likewise.
3024 * kern/mips/dl.c: Likewise.
3025 * kern/mips/init.c: Likewise.
3026 * kern/mips/qemu-mips/init.c: Likewise.
3027 * kern/mips/startup.S: Likewise.
3028 * kern/mips/yeeloong/init.c: Likewise.
3029 * kern/term.c (grub_putcode): Handle NULL terminal.
3030 (grub_getcharwidth): Likewise.
3031 (grub_getkey): Likewise.
3032 (grub_checkkey): Likewise.
3033 (grub_getkeystatus): Likewise.
3034 (grub_getxy): Likewise.
3035 (grub_getwh): Likewise.
3036 (grub_gotoxy): Likewise.
3037 (grub_cls): Likewise.
3038 (grub_setcolorstate): Likewise.
3039 (grub_setcolor): Likewise.
3040 (grub_getcolor): Likewise.
3041 (grub_refresh): Likewise.
3042 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
3043 (write_jump): Add hatch nop.
3044 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
3045 * lib/mips/setjmp.S: New file.
3046 * loader/mips/linux.c: Likewise.
3047 * term/i386/pc/at_keyboard.c: Move from here ...
3048 * term/at_keyboard.c: ... to here.
3049 * term/i386/pc/serial.c: Moved from here ...
3050 * term/serial.c: ... to here. All users updated.
3051 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
3052 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
3053 (serial_translate_key_sequence): Avoid deadlock.
3054 (grub_serial_getkey): Handle backspace.
3055 (grub_serial_putchar): Fix newline handling.
3056 * util/i386/pc/grub-mkimage.c: Move from here ...
3057 * util/grub-mkrawimage.c: ... to here. All users updated.
3058 (generate_image): New parameters 'font_path' and 'format'.
3059 Support embedding font.
3060 Use grub_host_to_target* instead of grub_cpu_to_le*.
3061 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
3062 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
3063 (options): New option "--font".
3065 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
3066 (main): Handle "--font".
3067 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
3068 (grub_virtual_screen_setup): Set bg_color_display.
3069 (redraw_screen_rect): Use bg_color_display instead of incorrect
3071 (grub_gfxterm_cls): Likewise.
3072 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
3073 Support embedding config file.
3074 (add_segments): Likewise.
3075 (options): New option "--config".
3076 (main): Handle "--config".
3077 * video/sm712.c: New file.
3079 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3081 Fix parallel builds.
3083 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
3084 font.c depend on ascii.h).
3086 2010-01-12 Carles Pina i Estany <carles@pina.cat>
3088 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
3090 2010-01-11 Carles Pina i Estany <carles@pina.cat>
3092 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
3093 By default: disabled.
3094 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
3097 2010-01-10 Carles Pina i Estany <carles@pina.cat>
3099 * font/font.c: Update copyright years.
3100 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
3102 2010-01-10 Carles Pina i Estany <carles@pina.cat>
3104 * font/font.c: Include `ascii.h'.
3105 (ASCII_BITMAP_SIZE): New macro.
3106 (ascii_font_glyph): Define.
3107 (ascii_glyph_lookup): New function.
3108 (grub_font_get_string_width): Change comment. If glyph not found, use
3110 (grub_font_get_glyph_with_fallback): If glyph not available returns
3112 * util/grub-mkfont.c (file_formats): New enum.
3113 (options): Add `ascii-bitmaps' new option.
3114 (usage): Add `asii-bitmaps' new option.
3115 (write_font_ascii_bitmap): New function.
3116 (write_font): Rename to ...
3117 (write_font_p2): ... this. Remove print_glyphs call.
3118 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
3119 used. Call print_glyphs.
3120 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
3122 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
3124 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
3125 (grub_bin2h_SOURCES): New variable.
3126 * util/bin2h.c: New file.
3128 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3130 * include/multiboot.h: Resynced with spec.
3131 * include/multiboot2.h: Likewise.
3132 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
3133 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
3135 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3137 * include/grub/term.h (grub_term_register_input,
3138 grub_term_register_output): Check return of terminal init()
3139 routines, and abort if errors are raised.
3141 * commands/terminal.c: Update copyright year.
3143 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3145 * commands/terminal.c (grub_cmd_terminal_input)
3146 (grub_cmd_terminal_output): Check return of terminal init()
3147 routines, and abort if errors are raised.
3149 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3151 * include/grub/i386/bsd.h: Fix include pathes.
3153 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3155 Add missing *BSD copyright headers.
3157 * include/grub/aout.h: Add BSD licence.
3158 * include/grub/i386/bsd.h: Parts under different licences moved to ...
3159 * include/grub/i386/freebsd_linker.h: ... here,
3160 * include/grub/i386/freebsd_reboot.h: ... here,
3161 * include/grub/i386/netbsd_bootinfo.h: ... here,
3162 * include/grub/i386/netbsd_reboot.h: ... here,
3163 * include/grub/i386/openbsd_bootarg.h: ... here,
3164 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
3165 licence to each file.
3167 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3169 * acinclude.m4: Remove `nop' assembly instruction; it's not
3170 implemented by all architectures.
3172 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3174 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
3175 ELILO. This is no longer necessary.
3177 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
3179 Added new tool, grub-scrit-check to verify grub.cfg syntax.
3181 * util/grub-script-check.c: grub-script-check tool.
3182 * conf/common.rmk: Make rules for grub-script-check.
3184 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3186 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
3187 spotting it back in 2008. Shame on me for forgetting he did.
3189 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
3191 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3193 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
3194 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
3195 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
3196 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
3197 (GRUB_VIDEO_TYPE_EFI): Rename to ...
3198 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
3200 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
3202 * include/grub/test.h: Add license header.
3203 * tests/example_functional_test.c: Likewise.
3204 * tests/example_unit_test.c: Likewise.
3205 * tests/lib/functional_test.c: Likewise.
3206 * tests/lib/test.c: Likewise.
3207 * tests/lib/unit_test.c: Likewise.
3209 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
3211 Use flag-based instead of hook-based video mode selection and "auto"
3214 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
3215 (grub_video_set_mode): Changed prototype. All users updated.
3216 (grub_video_check_mode_flag): New inline function.
3217 * video/video.c (parse_modespec): New function.
3218 (grub_video_set_mode): Parse flags and keywords.
3220 2010-01-17 Carles Pina i Estany <carles@pina.cat>
3222 * util/misc.c (grub_util_info): Fix the order of the parameters in a
3225 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3227 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
3229 2010-01-16 Carles Pina i Estany <carles@pina.cat>
3231 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
3233 * util/grub-emu.c (usage): Likewise.
3234 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
3235 * util/i386/efi/grub-mkimage.c (usage): Likewise.
3236 * util/i386/pc/grub-mkimage.c (usage): Likewise.
3237 * util/i386/pc/grub-setup.c (usage): Likewise.
3239 2010-01-16 Carles Pina i Estany <carles@pina.cat>
3241 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
3243 (grub_util_info): Likewise.
3244 (grub_util_error): Likewise.
3245 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
3246 and/or new lines in `grub_util_warna', `grub_util_info',
3247 `grub_util_error' calls.
3248 * util/getroot.c: Likewise.
3249 * util/grub-editenv.c: Likewise.
3250 * util/grub-emu.c: Likewise.
3251 * util/grub-fstest.c: Likewise.
3252 * util/grub-mkdevicemap.c: Likewise.
3253 * util/grub-mkfont.c: Likewise.
3254 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3255 * util/grub-mkrelpath.c: Likewise.
3256 * util/grub-pe2elf.c: Likewise.
3257 * util/grub-probe.c: Likewise.
3258 * util/hostdisk.c: Likewise.
3259 * util/i386/efi/grub-mkimage.c: Likewise.
3260 * util/i386/pc/grub-mkimage.c: Likewise.
3261 * util/i386/pc/grub-setup.c: Likewise.
3262 * util/ieee1275/ofpath.c: Likewise.
3263 * util/mkisofs/eltorito.c: Likewise.
3264 * util/mkisofs/rock.c: Likewise.
3265 * util/mkisofs/write.c: Likewise.
3266 * util/raid.c: Likewise.
3267 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
3268 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3270 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3272 Enable multiboot on non-pc.
3274 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
3275 multiboot.mod and multiboot2.mod to ...
3276 * conf/i386.rmk (pkglib_MODULES): ... here.
3277 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
3279 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
3280 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
3282 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
3283 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
3285 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
3286 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
3288 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
3289 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
3291 (ata_mod_SOURCES): Removed.
3292 (ata_mod_CFLAGS): Likewise.
3293 (ata_mod_LDFLAGS): Likewise.
3294 (relocator_mod_SOURCES): Removed.
3295 (relocator_mod_CFLAGS): Likewise.
3296 (relocator_mod_ASFLAGS): Likewise.
3297 (relocator_mod_LDFLAGS): Likewise.
3299 * include/grub/x86_64/multiboot.h: New file.
3300 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
3303 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3305 Video multiboot support.
3307 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
3309 * include/multiboot.h: Resynced with multiboot specification.
3310 * include/multiboot2.h: Likewise.
3311 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
3312 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
3313 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
3314 (HAS_VGA_TEXT): Likewise.
3315 (accepts_video): New variable.
3316 (grub_multiboot_set_accepts_video): New function.
3317 (grub_multiboot_get_mbi_size): Account for video structures.
3318 (set_video_mode): New function.
3319 (retrieve_video_parameters): Likewise.
3320 (grub_multiboot_make_mbi): Fill video fields.
3322 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3326 * include/grub/video.h (grub_video_driver_id): New type.
3327 (grub_video_adapter): New member 'id'. All users updated.
3328 (grub_video_get_driver_id): New proto.
3329 * video/video.c (grub_video_get_driver_id): New function.
3331 2010-01-14 Carles Pina i Estany <carles@pina.cat>
3333 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
3336 2010-01-14 Carles Pina i Estany <carles@pina.cat>
3338 * normal/cmdline.c (print_completion): Gettextizze.
3340 2001-01-14 Carles Pina i Estany <carles@pina.cat>
3342 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
3344 2010-01-14 Carles Pina i Estany <carles@pina.cat>
3346 * gettext/gettext.c (grub_gettext_translate): Push and pop
3348 (grub_gettext_delete_list): Change comment style.
3349 * kern/err.c (grub_error): Gettextizze.
3350 (grub_fatal): Gettextizze.
3352 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
3354 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
3355 (grub_linux16_real_boot): ... this.
3356 * kern/i386/loader.S: Likewise.
3357 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
3358 (grub_linux16_boot): New function. Switches to text mode and calls
3359 grub_linux16_real_boot().
3361 * loader/i386/bsd.c: Include `<grub/video.h>'.
3362 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
3363 text mode before calling grub_unix_real_boot().
3365 * loader/i386/multiboot.c: Include `<grub/video.h>'.
3366 (grub_multiboot_boot): Switch to text mode before calling
3367 grub_relocator32_boot().
3369 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
3370 (grub_chainloader_boot): Switch to text mode before calling
3371 grub_chainloader_real_boot().
3373 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
3374 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
3376 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
3379 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
3380 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
3382 * util/grub.d/00_header.in: Define a "savedefault" function for use
3384 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
3386 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
3387 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
3389 * util/grub-mkconfig_lib.in (save_default_entry): Only set
3390 saved_entry if boot_once is unset.
3391 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
3392 previous saved entry (i.e. grub-reboot).
3394 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
3396 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
3398 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
3400 * util/grub.d/00_header.in: Use `set var=val' rather than plain
3402 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
3404 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
3406 * util/grub-reboot.in: Fix --version output.
3407 * util/grub-set-default.in: Likewise.
3409 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
3411 * util/grub.d/00_header.in: Silently ignore zero-sized environment
3414 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
3416 * util/grub.d/00_header.in: Quote the value assigned to `default',
3417 in case it contains spaces.
3419 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
3421 * util/grub.d/30_os-prober.in: Fix merge error that moved a
3422 `save_default_entry' call from the macosx case to the linux case.
3424 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3425 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
3427 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
3428 in `chosen' environment variable.
3429 * normal/menu_text.c (get_entry_number): Check if the variable
3430 matches the title of a menu entry.
3431 (run_menu): Pass menu to get_entry_number.
3433 * util/grub-reboot.in: New file.
3434 * util/grub-set-default.in: New file.
3435 * conf/common.rmk (grub-reboot): New utility.
3436 (grub-set-default): New utility.
3438 * util/grub-mkconfig_lib.in (save_default_entry): New function.
3439 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
3440 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
3441 move it to `saved_entry' for the next boot. Load environment on
3443 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
3444 * util/grub.d/10_hurd.in: Likewise.
3445 * util/grub.d/10_linux.in (linux_entry): Likewise.
3446 * util/grub.d/10_windows.in: Likewise.
3447 * util/grub.d/30_os-prober.in: Likewise.
3449 * util/grub-install.in: Create environment block.
3450 * util/i386/efi/grub-install.in: Likewise.
3451 * util/ieee1275/grub-install.in: Likewise.
3452 * util/sparc64/ieee1275/grub-install.in: Likewise.
3454 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
3456 Unit testing framework for GRUB.
3458 * Makefile.in: Test framework build rules for 'make check'.
3459 * conf/tests.rmk: Build rules for individual tests and framework.
3461 * include/grub/test.h: Header file for whitebox tests.
3462 * tests/lib/functional_test.c: Framework support for whitebox
3464 * tests/lib/test.c: Common whitebox testing code for unit and
3466 * tests/lib/unit_test.c: Framework support for whitebox unit
3469 * tests/util/grub-shell-tester.in: Support utility for grub-script
3471 * tests/util/grub-shell.in: Utility to execute grub-script
3472 commands in a Qemu instance.
3474 * tests/example_functional_test.c: Example whitebox functional
3476 * tests/example_grub_script_test.in: Example grub-script test.
3477 * tests/example_scripted_test.in: Example scripted test.
3478 * tests/example_unit_test.c: Example whitebox unit test.
3480 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3482 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
3483 Add loader/i386/multiboot_mbi.c.
3484 (multiboot2_mod_SOURCES): Likewise.
3485 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
3486 (multiboot2_mod_SOURCES): Likewise.
3487 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
3488 (grub_multiboot_make_mbi): Likewise.
3489 (grub_multiboot_free_mbi): Likewise.
3490 (grub_multiboot_init_mbi): Likewise.
3491 (grub_multiboot_add_module): Likewise.
3492 (grub_multiboot_set_bootdev): Likewise.
3493 * loader/i386/multiboot.c (mbi): Removed.
3494 (mbi_dest): Likewise.
3495 (alloc_mbi): New variable.
3496 (grub_multiboot_payload_size): Removed. All users updated.
3497 (grub_multiboot_pure_size): New variable.
3498 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
3499 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
3500 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
3501 (grub_fill_multiboot_mmap): Likewise.
3502 (grub_multiboot_get_bootdev): Likewise.
3503 (grub_multiboot): Use multiboot_mbi functions.
3504 * loader/i386/multiboot_mbi.c: New file.
3506 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3508 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
3509 it would result in module crash.
3511 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3513 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
3514 (grub_ofconsole_getwh): Split to ...
3515 (grub_ofconsole_getwh): ... this.
3516 (grub_ofconsole_dimensions): ...and this.
3517 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
3519 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
3521 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
3523 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3525 * loader/i386/pc/multiboot2.c: Removed stalled file.
3527 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3529 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
3530 Reported by: Grégoire Sutre
3532 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
3534 * util/misc.c (canonicalize_file_name): New function.
3535 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
3536 instead of realpath().
3538 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
3540 * util/grub-install.in (usage): Clarify meaning of --root-directory,
3541 and make it clearer that it's optional. Based on confusion
3544 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3546 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
3547 in premature implicit newline.
3549 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3551 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
3552 which resulted in garbled command line at the end of screen.
3554 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
3556 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
3557 initialization with similar approach as with other Linux loaders.
3559 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
3561 Fix i386-ieee1275 build.
3563 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
3564 and grub_term_height() for video_{width,height} initialization.
3566 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
3570 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
3572 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3573 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
3575 Support for multiple terminals.
3577 * Makefile.in (pkglib_DATA): terminal.lst.
3578 (terminal.lst): New target.
3579 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
3580 (GRUB_MOD_INIT(handler)): Likewise.
3581 (GRUB_MOD_FINI(handler)): Likewise.
3582 * commands/help.c (grub_cmd_help): Handle multiple terminals.
3583 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
3584 * commands/sleep.c (do_print): Use grub_term_restore_pos.
3585 (grub_cmd_sleep): Use grub_term_save_pos.
3586 * commands/terminal.c: New file.
3587 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
3588 commands/terminal.c and lib/charset.c.
3589 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
3590 (pkglib_MODULES): Add terminal.mod.
3591 (terminal_mod_SOURCES): New variable.
3592 (terminal_mod_CFLAGS): Likewise.
3593 (terminal_mod_LDFLAGS): Likewise.
3594 * genhandlerlist.sh: Don't handle terminals.
3595 * genmk.rb: Generate terminal-*.lst.
3596 * genterminallist.sh: New file.
3597 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
3598 (grub_is_valid_utf8): Likewise.
3599 (grub_utf8_to_ucs4_alloc): Likewise.
3600 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
3601 (grub_menu_register_viewer): Changed argument.
3602 (grub_menu_try_text): New proto.
3603 (grub_gfxmenu_try_hook): New declaration.
3604 * include/grub/normal.h (grub_normal_exit_level): New declaration.
3605 (grub_menu_init_page): Additional argument term.
3606 (grub_normal_init_page): Likewise.
3607 (grub_cmdline_get): Arguments simplified.
3608 (grub_utf8_to_ucs4_alloc): Removed.
3609 (grub_print_ucs4): Additional argument term.
3610 (grub_getstringwidth): Likewise.
3611 (grub_print_message_indented): Likewise.
3612 (grub_menu_text_register_instances): New proto.
3613 (grub_show_menu): Likewise.
3614 (read_terminal_list): Likewise.
3615 (grub_set_more): Likewise.
3616 * include/grub/parser.h: Include handler.h.
3617 * include/grub/reader.h: Rewritten.
3618 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
3619 (GRUB_TERM_WIDTH): Changed to function.
3620 (GRUB_TERM_HEIGHT): Likewise.
3621 (GRUB_TERM_BORDER_WIDTH): Likewise.
3622 (GRUB_TERM_BORDER_HEIGHT): Likewise.
3623 (GRUB_TERM_NUM_ENTRIES): Likewise.
3624 (GRUB_TERM_ENTRY_WIDTH): Likewise.
3625 (GRUB_TERM_CURSOR_X): Likewise.
3626 (grub_term_input_class): Likewise.
3627 (grub_term_output_class): Likewise.
3628 (grub_term_outputs_disabled): New declaration.
3629 (grub_term_inputs_disabled): Likewise.
3630 (grub_term_outputs): Likewise.
3631 (grub_term_inputs): Likewise.
3632 (grub_term_register_input): Rewritten.
3633 (grub_term_register_output): Likewise.
3634 (grub_term_unregister_input): Likewise.
3635 (grub_term_unregister_output): Likewise.
3636 (FOR_ACTIVE_TERM_INPUTS): New macro.
3637 (FOR_DISABLED_TERM_INPUTS): Likewise.
3638 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
3639 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
3640 * include/grub/terminfo.h: Add oterm argument to all protypes.
3641 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
3642 Use grub_rescue_run.
3643 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
3645 * kern/reader.c: Removed. All users updated.
3646 * kern/rescue_reader.c (grub_rescue_init): Removed.
3647 (grub_rescue_reader): Likewise.
3648 (grub_register_rescue_reader): Likewise.
3649 (grub_rescue_run): New function based on kern/reader.c.
3650 * kern/term.c: Adapted for multiterm.
3651 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
3652 (grub_is_valid_utf8): Likewise.
3653 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
3654 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
3656 * loader/i386/linux.c (grub_linux_boot): Likewise.
3657 * normal/auth.c (grub_username_get): New function.
3658 (grub_auth_check_authentication): Use grub_username_get.
3659 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
3660 * normal/color.c: Adapt for multiterm.
3661 * normal/main.c (read_config_file): Don't use grub_reader_loop.
3662 (grub_normal_init_page): Additional argument term.
3663 (read_lists): Call read_terminal_lists.
3664 (grub_enter_normal_mode): Call grub_cmdline_run.
3665 Handle grub_normal_exit_level.
3666 (grub_cmd_normal): Make reentrant.
3667 (grub_cmd_normal_exit): New function.
3668 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
3669 * normal/menu.c: Adapt for multiterm.
3670 * normal/menu_entry.c: Likewise.
3671 * normal/menu_text.c: Likewise.
3672 * normal/menu_viewer.c: Removed. All users updated.
3673 * normal/term.c: New file.
3674 * util/console.c: Change order of includes to workaround a bug in
3676 * term/terminfo.c: New argument oterm on all exported functions.
3678 * util/grub-editenv.c (grub_term_input_class): Removed.
3679 (grub_term_output_class): Likewise.
3681 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
3683 Make loader output a bit more user-friendly.
3685 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
3686 is being loaded. Likewise for the Hurd.
3688 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
3689 that kernel of FreeBSD ${version} is being loaded.
3691 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
3693 (grub_cmd_initrd): Likewise.
3694 * util/grub.d/10_linux.in (linux_entry): Print message indicating
3695 that Linux ${version} is being loaded. Likewise for initrd.
3697 2010-01-09 Carles Pina i Estany <carles@pina.cat>
3699 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
3701 2010-01-08 Carles Pina i Estany <carles@pina.cat>
3703 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
3704 (GRUB_MOD_INIT): Gettextizze.
3705 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
3706 (GRUB_MOD_INIT): Gettextizze.
3707 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
3708 (grub_cmd_linux): Capitalise Linux.
3709 (GRUB_MOD_INIT): Gettextizze.
3710 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
3711 (grub_cmd_linux): Capitalise Linux.
3712 (GRUB_MOD_INIT): Gettextizze.
3713 * loader/i386/linux.c: Include `<grub/i18n.h>'.
3714 (grub_cmd_linux): Capitalise Linux.
3715 (GRUB_MOD_INIT): Gettextizze.
3716 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
3717 (GRUB_MOD_INIT): Gettextizze.
3718 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
3719 (grub_cmd_linux): Capitalise Linux.
3720 (GRUB_MOD_INIT): Gettextizze.
3721 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
3722 (grub_cpu_xnu_init): Gettextizze.
3723 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
3724 (GRUB_MOD_INIT): Gettextizze.
3725 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
3726 (GRUB_MOD_INIT): Gettextizze.
3727 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
3728 (grub_linux_load64): Capitalise Linux.
3729 (GRUB_MOD_INIT): Gettextizze.
3730 * loader/xnu.c: Include `<grub/i18n.h>'.
3731 (GRUB_MOD_INIT): Gettextizze.
3732 * po/POTFILES: Add `loader/efi/appleloader.c',
3733 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
3734 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
3735 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
3736 `loader/i386/xnu.c', `loader/multiboot_loader.c',
3737 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
3740 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
3742 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
3744 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
3746 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
3747 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
3748 * util/mkisofs/mkisofs.c (main): Readjust --version output.
3750 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
3752 Reset Multiboot 2 support. New loader implements the draft in
3753 /branches/multiboot2 and shares as much code as possible with the
3754 production Multiboot 1 implementation.
3756 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
3757 * loader/multiboot2.c: Likewise.
3758 * loader/i386/multiboot_helper.S: Likewise.
3759 * include/multiboot2.h: Replace with latest version from the draft
3760 in /branches/multiboot2.
3762 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
3763 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
3764 and `loader/multiboot2.c'.
3765 (pkglib_MODULES): Add `multiboot2.mod'.
3766 (multiboot2_mod_SOURCES): New variable.
3767 (multiboot2_mod_LDFLAGS): Likewise.
3768 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
3770 * conf/i386-pc.rmk: Likewise.
3772 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
3773 (multiboot_mod_SOURCES): Remove variable.
3774 (multiboot_mod_LDFLAGS): Likewise.
3775 (multiboot_mod_CFLAGS): Likewise.
3777 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
3778 `<multiboot2.h>' instead of `<multiboot.h>'.
3779 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
3780 (MULTIBOOT_HEADER_MAGIC): New macros.
3782 * loader/multiboot_loader.c (module_version_status): Remove variable.
3783 (find_multi_boot2_header): Remove function.
3784 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
3785 logic. Always check for the Multiboot version we're compiling for.
3786 (grub_cmd_module_loader): Likewise.
3787 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
3788 command instead of `multiboot'.
3790 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
3792 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
3793 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
3796 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
3797 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3799 Fix breakage introduced with previous commit.
3801 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
3803 * normal/handler.c (read_handler_list): Revert part of previous commit
3804 affecting this file.
3805 * normal/main.c (read_lists): Move read_handler_list() call back to ...
3806 (grub_normal_execute): ... here.
3808 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
3810 Merge prefix-redefinition-fix branch.
3812 * normal/autofs.c (read_fs_list): Make function capable of being
3813 run multiple times, gracefuly replacing the previous data
3815 * normal/dyncmd.c (read_command_list): Likewise.
3816 * normal/handler.c (read_handler_list): Likewise.
3817 * normal/main.c (read_lists): New function. Calls all the
3818 list reading functions.
3819 (grub_normal_execute): Use read_lists() instead of calling all
3820 list reading functions explicitly. Register read_lists() as a
3821 variable hook attached to ${prefix}.
3823 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3825 Merge crypto branch.
3827 * Makefile.in (pkglib_DATA): Add crypto.lst.
3828 (crypto.lst): New target.
3829 * commands/hashsum.c: New file.
3830 * commands/password.c (check_password): Use grub_crypto_memcmp.
3831 * commands/password_pbkdf2.c: New file.
3832 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
3833 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
3834 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
3835 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
3836 -I$(srcdir)/lib/libgcrypt_wrap.
3837 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
3838 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
3839 password_pbkdf2.mod.
3840 (crypto_mod_SOURCES): New variable.
3841 (crypto_mod_CFLAGS): Likewise.
3842 (crypto_mod_LDFLAGS): Likewise.
3843 (hashsum_mod_SOURCES): New variable.
3844 (hashsum_mod_CFLAGS): Likewise.
3845 (hashsum_mod_LDFLAGS): Likewise.
3846 (pbkdf2_mod_SOURCES): New variable.
3847 (pbkdf2_mod_CFLAGS): Likewise.
3848 (pbkdf2_mod_LDFLAGS): Likewise.
3849 (password_pbkdf2_mod_SOURCES): New variable.
3850 (password_pbkdf2_mod_CFLAGS): Likewise.
3851 (password_pbkdf2_mod_LDFLAGS): Likewise.
3852 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
3853 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
3854 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
3855 Include conf/gcry.rmk.
3856 * include/grub/auth.h: Rewritten.
3857 * include/grub/crypto.h: New file.
3858 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
3859 * include/grub/normal.h (read_crypto_list): New prototype.
3860 * lib/crypto.c: New file.
3861 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
3862 * lib/pbkdf2.c: Likewise.
3863 * normal/auth.c (grub_auth_strcmp): Removed.
3864 (grub_iswordseparator): Likewise.
3865 (grub_auth_strword): Likewise.
3866 (is_authenticated): Use grub_strword.
3867 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
3868 and grub_strword. Pass entered password to authentication callback.
3869 * normal/crypto.c: New file.
3870 * normal/main.c: Call read_crypto_list.
3871 * util/grub-mkpasswd-pbkdf2.c: New file.
3872 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
3874 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
3876 Fix descent and ascent calculation.
3878 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
3879 (options): New option "asce".
3881 (add_char): Ignore invalid glyphs for descent calculation.
3882 Calculate ascent from actual content.
3883 (print_glyphs): Use 'asce'.
3884 (write_font): Likewise. Allow ascent override.
3885 (main): Handle "asce" option.
3887 2010-01-06 Carles Pina i Estany <carles@pina.cat>
3889 * kern/err.c: Include `<grub/i18n.h>'.
3890 (grub_print_error): Add full stop. Gettextizze.
3891 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
3892 (grub_bsd_load_elf): Capitalise ELF.
3893 (grub_cmd_freebsd_loadenv): Add `s' in error string.
3894 (grub_cmd_freebsd_module): Likewise.
3895 (grub_cmd_freebsd_module_elf): Likewise.
3896 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
3898 2010-01-06 Carles Pina i Estany <carles@pina.cat>
3900 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
3901 * commands/search_file.c (HELP_MESSAGE): New macro.
3902 * commands/search_label.c (HELP_MESSAGE): Likewise.
3903 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
3904 * po/POTFILES: Add `commands/search_file.c',
3905 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
3906 `commands/search.c'.
3908 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
3910 * config.rpath: Update from Gnulib.
3912 2010-01-05 Yves Blusseau <blusseau@zetam.org>
3914 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
3916 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
3918 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
3920 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
3922 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
3923 arguments to fread so that we get a return value in bytes, rather
3924 than something that will normally be rounded down to 0.
3925 Adjust error handling to avoid producing garbage when size_t is not
3926 the same size as long long.
3928 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
3930 * util/mkisofs/write.c (padblock_write): Check return value of
3933 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
3935 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
3938 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
3940 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
3942 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
3943 instead of manual alignment.
3944 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
3945 verbose). Avoid attempts to read past end of the device
3946 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
3947 but GRUB_DISK_CACHE_SIZE may exceed that).
3949 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
3951 * commands/crc.c (grub_cmd_crc): Abort on read errors.
3952 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
3955 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3957 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
3959 (grub_efi_piwg_device_path): New structure
3960 (grub_efi_piwg_device_path_t): New type.
3961 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
3962 (devpath_1): Transform to a structure. All users updated.
3963 (devpath_2): Likewise.
3964 (devpath_3): Likewise.
3965 (devpath_4): Likewise.
3966 (devpath_5): Likewise.
3968 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3970 * loader/efi/appleloader.c: Restored. Update all users.
3972 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
3974 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
3976 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
3977 (struct boot_blocklist): Move from here ...
3978 * include/grub/i386/pc/boot.h [ASM_FILE]
3979 (struct grub_boot_blocklist): ... to here. Update all users.
3980 (setup): Only initialize `start' member of `first_block'
3981 structure. Add assert() calls to verify the other members.
3983 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
3984 (generate_image): Fix broken blocklist length initialization.
3985 Add assert() call to verify blocklist `segment' field.
3987 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
3989 * loader/efi/appleloader.c: Remove. Update all users.
3991 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
3993 * boot/i386/pc/boot.S: Update copyright year.
3994 * boot/i386/pc/cdboot.S: Likewise.
3995 * boot/i386/pc/diskboot.S: Likewise.
3996 * boot/i386/pc/lnxboot.S: Likewise.
3997 * boot/i386/pc/pxeboot.S: Likewise.
3998 * bus/pci.c: Likewise.
3999 * commands/cmp.c: Likewise.
4000 * commands/help.c: Likewise.
4001 * commands/hexdump.c: Likewise.
4002 * commands/i386/pc/halt.c: Likewise.
4003 * commands/i386/pc/play.c: Likewise.
4004 * commands/i386/pc/vbeinfo.c: Likewise.
4005 * commands/ls.c: Likewise.
4006 * commands/test.c: Likewise.
4007 * disk/dmraid_nvidia.c: Likewise.
4008 * disk/i386/pc/biosdisk.c: Likewise.
4009 * disk/ieee1275/nand.c: Likewise.
4010 * disk/ieee1275/ofdisk.c: Likewise.
4011 * disk/lvm.c: Likewise.
4012 * disk/raid.c: Likewise.
4013 * disk/raid6_recover.c: Likewise.
4014 * disk/scsi.c: Likewise.
4015 * fs/affs.c: Likewise.
4016 * fs/cpio.c: Likewise.
4017 * fs/ext2.c: Likewise.
4018 * fs/hfs.c: Likewise.
4019 * fs/iso9660.c: Likewise.
4020 * fs/ntfs.c: Likewise.
4021 * fs/sfs.c: Likewise.
4022 * fs/udf.c: Likewise.
4023 * fs/ufs.c: Likewise.
4024 * fs/xfs.c: Likewise.
4025 * gencmdlist.sh: Likewise.
4026 * genmk.rb: Likewise.
4027 * include/grub/disk.h: Likewise.
4028 * include/grub/efi/api.h: Likewise.
4029 * include/grub/efi/efi.h: Likewise.
4030 * include/grub/efi/pe32.h: Likewise.
4031 * include/grub/elf.h: Likewise.
4032 * include/grub/fs.h: Likewise.
4033 * include/grub/i386/at_keyboard.h: Likewise.
4034 * include/grub/i386/pc/memory.h: Likewise.
4035 * include/grub/i386/pc/vbe.h: Likewise.
4036 * include/grub/i386/pci.h: Likewise.
4037 * include/grub/i386/tsc.h: Likewise.
4038 * include/grub/ieee1275/ieee1275.h: Likewise.
4039 * include/grub/ntfs.h: Likewise.
4040 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
4041 * include/grub/sparc64/libgcc.h: Likewise.
4042 * include/grub/symbol.h: Likewise.
4043 * include/grub/types.h: Likewise.
4044 * include/multiboot2.h: Likewise.
4045 * io/gzio.c: Likewise.
4046 * kern/device.c: Likewise.
4047 * kern/disk.c: Likewise.
4048 * kern/efi/efi.c: Likewise.
4049 * kern/efi/mm.c: Likewise.
4050 * kern/elf.c: Likewise.
4051 * kern/file.c: Likewise.
4052 * kern/i386/dl.c: Likewise.
4053 * kern/i386/pc/init.c: Likewise.
4054 * kern/i386/pc/startup.S: Likewise.
4055 * kern/ieee1275/ieee1275.c: Likewise.
4056 * kern/ieee1275/init.c: Likewise.
4057 * kern/main.c: Likewise.
4058 * kern/mm.c: Likewise.
4059 * kern/powerpc/dl.c: Likewise.
4060 * kern/sparc64/dl.c: Likewise.
4061 * kern/x86_64/dl.c: Likewise.
4062 * lib/hexdump.c: Likewise.
4063 * loader/efi/appleloader.c: Likewise.
4064 * loader/i386/ieee1275/linux.c: Likewise.
4065 * loader/i386/pc/chainloader.c: Likewise.
4066 * loader/i386/pc/linux.c: Likewise.
4067 * loader/i386/pc/multiboot2.c: Likewise.
4068 * loader/ieee1275/multiboot2.c: Likewise.
4069 * loader/multiboot2.c: Likewise.
4070 * loader/multiboot_loader.c: Likewise.
4071 * loader/powerpc/ieee1275/linux.c: Likewise.
4072 * normal/completion.c: Likewise.
4073 * normal/menu_entry.c: Likewise.
4074 * partmap/apple.c: Likewise.
4075 * util/grub.d/10_hurd.in: Likewise.
4076 * util/hostfs.c: Likewise.
4077 * video/readers/png.c: Likewise.
4079 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
4081 * include/grub/misc.h (GNUC_PREREQ): New macro.
4082 (ATTRIBUTE_ERROR): New macro.
4083 * include/grub/list.h (grub_bad_type_cast_real): Use
4086 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4088 * normal/menu_text.c (print_message): Change messages.
4090 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4092 * normal/menu_entry.c (store_completion): Gettextizze.
4094 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4096 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
4098 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4100 * po/POTFILES: Sort correctly.
4102 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4104 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
4105 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
4106 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
4108 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
4109 summary. Gettextizze the strings.
4110 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
4111 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
4112 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
4114 (GRUB_MOD_INIT): Remove command name from summary.
4115 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
4117 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
4118 * term/i386/pc/serial.c (options): Add full stops.
4119 (GRUB_MOD_INIT): Remove command name from the summary.
4121 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4123 * commands/acpi.c: Gettextizze help strings and/or options. Include
4124 `grub/i18n.h' if needed.
4125 * commands/blocklist.c: Likewise.
4126 * commands/boot.c: Likewise.
4127 * commands/cat.c: Likewise.
4128 * commands/cmp.c: Likewise.
4129 * commands/configfile.c: Likewise.
4130 * commands/crc.c: Likewise.
4131 * commands/date.c: Likewise.
4132 * commands/echo.c: Likewise.
4133 * commands/efi/fixvideo.c: Likewise.
4134 * commands/efi/loadbios.c: Likewise.
4135 * commands/gptsync.c: Likewise.
4136 * commands/halt.c: Likewise.
4137 * commands/handler.c: Likewise.
4138 * commands/hdparm.c: Likewise.
4139 * commands/hexdump.c: Likewise.
4140 * commands/i386/cpuid.c: Likewise.
4141 * commands/i386/pc/drivemap.c: Likewise.
4142 * commands/i386/pc/halt.c: Likewise.
4143 * commands/i386/pc/pxecmd.c: Likewise.
4144 * commands/i386/pc/vbeinfo.c: Likewise.
4145 * commands/i386/pc/vbetest.c: Likewise.
4146 * commands/ieee1275/suspend.c: Likewise.
4147 * commands/keystatus.c: Likewise.
4148 * commands/loadenv.c: Likewise.
4149 * commands/ls.c: Likewise.
4150 * commands/lsmmap.c: Likewise.
4151 * commands/lspci.c: Likewise.
4152 * commands/memrw.c: Likewise.
4153 * commands/minicmd.c: Likewise.
4154 * commands/parttool.c: Likewise.
4155 * commands/password.c: Likewise.
4156 * commands/probe.c: Likewise.
4157 * commands/read.c: Likewise.
4158 * commands/reboot.c: Likewise.
4159 * commands/search.c: Likewise.
4160 * commands/sleep.c: Likewise.
4161 * commands/test.c: Likewise.
4162 * commands/true.c: Likewise.
4163 * commands/usbtest.c: Likewise.
4164 * commands/videotest.c: Likewise.
4165 * commands/xnu_uuid.c: Likewise.
4166 * disk/loopback.c: Likewise.
4167 * hello/hello.c: Likewise.
4168 * loader/i386/bsd.c: Likewise.
4169 * term/i386/pc/serial.c: Likewise.
4170 * po/POTFILES: Add new files.
4172 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
4174 * term/i386/pc/at_keyboard.c
4175 (keyboard_controller_wait_untill_ready): Rename to ...
4176 (keyboard_controller_wait_until_ready): ... this. Update all users.
4178 2010-01-01 Carles Pina i Estany <carles@pina.cat>
4180 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
4181 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
4182 string using string width.
4183 * normal/menu_text.c (grub_print_message_indented): Use
4184 grub_print_spaces and not print_spaces.
4185 (print_timeout): Likewise.
4186 (print_spaces): Move to...
4187 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
4189 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
4193 * gnulib/getdelim.c: New file.
4194 * gnulib/getline.c: Likewise.
4196 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
4198 * include/grub/list.h (grub_assert_fail): Removed.
4199 (grub_bad_type_cast_real): New function.
4200 (grub_bad_type_cast): New macro.
4201 (GRUB_AS_LIST): Use grub_bad_type_cast.
4202 (GRUB_AS_LIST_P): Likewise.
4203 (GRUB_AS_NAMED_LIST): Likewise.
4204 (GRUB_AS_NAMED_LIST_P): Likewise.
4205 (GRUB_AS_PRIO_LIST): Likewise.
4206 (GRUB_AS_PRIO_LIST_P): Likewise.
4207 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
4209 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
4211 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
4214 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
4216 * configure.ac: Check for TARGET_CFLAGS initialization before we
4217 initialize it ourselves (sigh).
4218 Move a few modifications to TARGET_CFLAGS to be unconditional
4219 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
4222 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
4223 * term/i386/pc/at_keyboard.c
4224 (keyboard_controller_wait_untill_ready): Likewise.
4225 (keyboard_controller_led): Rename `led_status' paramter to avoid
4228 2009-12-28 Carles Pina i Estany <carles@pina.cat>
4230 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
4233 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4235 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
4237 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4239 * normal/menu_text.c (grub_print_message_indented): Prevent
4240 past-the-end-of-array dereference.
4242 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4244 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
4245 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
4247 2009-12-27 Carles Pina i Estany <carles@pina.cat>
4249 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
4250 * normal/main.c (grub_normal_read_line): Remove a space from the
4253 2009-12-27 Carles Pina i Estany <carles@pina.cat>
4255 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
4256 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4257 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
4258 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
4259 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4260 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4261 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
4263 2009-12-26 Carles Pina i Estany <carles@pina.cat>
4265 * video/readers/jpeg.c (cmd): Declare.
4266 (grub_cmd_jpegtest): Use `grub_command_t' type.
4267 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
4269 (GRUB_MOD_FINI): Use `cmd' to unregister.
4270 * video/readers/png.c (cmd): Declare.
4271 (grub_cmd_pngtest): Use `grub_command_t' type.
4272 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
4274 (GRUB_MOD_FINI): Use `cmd' to unregister.
4275 * video/readers/tga.c (cmd): Declare.
4276 (grub_cmd_tgatest): Use `grub_command_t' type.
4277 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
4279 (GRUB_MOD_FINI): Use `cmd' to unregister.
4281 2009-12-26 Carles Pina i Estany <carles@pina.cat>
4283 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
4285 * kern/corecmd.c (grub_register_core_commands): Likewise.
4286 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
4287 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
4288 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
4289 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4290 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
4291 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
4292 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
4293 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
4294 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4295 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4296 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
4297 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
4298 * normal/handler.c (insert_handler): Likewise.
4299 * normal/main.c (GRUB_MOD_INIT): Likewise.
4300 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
4302 2009-12-26 Carles Pina i Estany <carles@pina.cat>
4304 * commands/help.c (grub_cmd_help): Print the command name before the
4306 (GRUB_MOD_INIT): Remove command name from the summary.
4307 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
4309 * lib/arg.c (find_long): Print the command name before the summary.
4310 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
4312 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
4313 * commands/cat.c (GRUB_MOD_INIT): Likewise.
4314 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
4315 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
4316 * commands/crc.c (GRUB_MOD_INIT): Likewise.
4317 * commands/date.c (GRUB_MOD_INIT): Likewise.
4318 * commands/echo.c (GRUB_MOD_INIT): Likewise.
4319 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
4320 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
4321 * commands/handler.c (GRUB_MOD_INIT): Likewise.
4322 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
4323 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
4324 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
4325 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
4326 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
4327 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
4328 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
4329 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
4330 * commands/ls.c (GRUB_MOD_INIT): Likewise.
4331 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
4332 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
4333 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
4334 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
4335 * commands/password.c (GRUB_MOD_INIT): Likewise.
4336 * commands/probe.c (GRUB_MOD_INIT): Likewise.
4337 * commands/read.c (GRUB_MOD_INIT): Likewise.
4338 * commands/search.c (GRUB_MOD_INIT): Likewise.
4339 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
4340 * commands/test.c (GRUB_MOD_INIT): Likewise.
4341 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
4342 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
4343 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
4344 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
4345 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
4346 * lib/arg.c (GRUB_MOD_INIT): Likewise.
4347 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
4348 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
4349 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
4350 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
4351 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
4352 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
4353 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
4354 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
4356 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4358 Use search command for preliminar UUID search.
4360 * commands/search.c: Split into ...
4361 * commands/search_wrap.c: ...this
4362 * commands/search.c: ...and this.
4363 * commands/search_file.c: New file.
4364 * commands/search_label.c: New file.
4365 * commands/search_uuid.c: New file.
4366 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
4367 Add commands/search_wrap.c, commands/search_file.c,
4368 commands/search_label.c and commands/search_uuid.c.
4369 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
4370 (search_mod_SOURCES): Set to commands/search_wrap.c.
4371 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
4373 (search_fs_file_mod_SOURCES): New variable.
4374 (search_fs_file_mod_CFLAGS): Likewise.
4375 (search_fs_file_mod_LDFLAGS): Likewise.
4376 (search_label_mod_SOURCES): Likewise.
4377 (search_label_mod_CFLAGS): Likewise.
4378 (search_label_mod_LDFLAGS): Likewise.
4379 (search_fs_uuid_mod_SOURCES): New variable.
4380 (search_fs_uuid_mod_CFLAGS): Likewise.
4381 (search_fs_uuid_mod_LDFLAGS): Likewise.
4382 (fs_file_mod_SOURCES): Removed.
4383 (fs_file_mod_CFLAGS): Likewise.
4384 (fs_file_mod_LDFLAGS): Likewise.
4385 (fs_uuid_mod_SOURCES): Removed.
4386 (fs_uuid_mod_CFLAGS): Likewise.
4387 (fs_uuid_mod_LDFLAGS): Likewise.
4388 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
4389 Set to util/grub-install.in.
4390 * disk/fs_file.c: Removed.
4391 * disk/fs_uuid.c: Likewise.
4392 * include/grub/search.h: New file.
4393 * util/grub-install.in: Handle sparc64.
4394 Create and use load.cfg.
4395 * util/sparc64/ieee1275/grub-install.in: Removed.
4397 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4399 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
4400 Ignore return status if CF is cleared.
4401 (grub_biosdisk_get_diskinfo_standard): Likewise.
4403 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
4405 * term/i386/pc/at_keyboard.c
4406 (keyboard_controller_wait_untill_ready): New function.
4407 (grub_keyboard_controller_write, grub_keyboard_controller_read)
4408 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
4409 for keyboard polling, rather than duplicate the same loop. This
4410 saves a few bytes in code size.
4412 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4414 Support for (pxe[:server[:gateway]]) syntax and
4415 use environment variable for PXE.
4417 * commands/i386/pc/pxecmd.c (options): Removed.
4418 (print_ip): Removed.
4419 (grub_cmd_pxe): Removed
4420 (grub_cmd_pxe_unload): New function.
4421 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
4422 (grub_pxe_your_ip): Made static.
4423 (grub_pxe_default_server_ip): Likewise.
4424 (grub_pxe_default_gateway_ip): Likewise.
4425 (grub_pxe_blksize): Likewise.
4426 (parse_ip): New function.
4427 (grub_pxe_open): Support server and gateway specification.
4428 (grub_pxe_close): Free disk->data.
4429 (grub_pxefs_open): Use disk->data.
4430 (grub_pxefs_read): Likewise.
4431 (grub_env_write_readonly): New function.
4432 (set_mac_env): Likewise.
4433 (set_env_limn_ro): Likewise.
4434 (parse_dhcp_vendor): Likewise.
4435 (grub_pxe_detect): Set the environment variables.
4436 (set_ip_env): New function.
4437 (write_ip_env): Likewise.
4438 (grub_env_write_pxe_default_server): Likewise.
4439 (grub_env_write_pxe_default_gateway): Likewise.
4440 (grub_env_write_pxe_blocksize): Likewise.
4441 (GRUB_MOD_INIT(pxe)): Set environment variables.
4442 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
4443 (grub_pxe_mac_addr_t): ... this. All users updated.
4444 (grub_pxe_your_ip): Removed.
4445 (grub_pxe_server_ip): Likewise.
4446 (grub_pxe_gateway_ip): Likewise.
4447 (grub_pxe_blksize): Likewise.
4449 2009-12-25 Carles Pina i Estany <carles@pina.cat>
4451 * commands/help.c: Include `<grub/i18n.h>'.
4452 (grub_cmd_help): Gettextizze.
4453 (GRUB_MOD_INIT): Likewise.
4454 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
4455 (GRUB_MOD_INIT): Gettextizze.
4456 * commands/search.c: Include `<grub/i18n.h>'.
4457 (options): Gettextizze.
4458 (GRUB_MOD_INIT): Gettextizze.
4459 * lib/arg.c: Include `<grub/i18n.h>'.
4460 (help_options): Gettextizze.
4461 (find_long): Likewise.
4462 (grub_arg_show_help): Likewise.
4463 * normal/dyncmd.c: Include `<grub/i18n.h>'.
4464 (read_command_list): Gettextizze.
4465 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
4466 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
4468 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
4470 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
4471 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
4472 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
4473 (led_status): New variable.
4474 (keyboard_controller_led): New function.
4475 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
4476 update led status for caps lock, num lock and scroll lock.
4478 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
4480 * util/hostdisk.c (open_device): Fix a comment.
4482 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4484 * util/grub-install.in (host_os): New variable.
4485 * util/i386/efi/grub-install.in (host_os): Likewise.
4487 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4489 * util/mkisofs/write.c (padblock_write): Abort when given an
4490 excedingly large embed image, instead of silently truncating it.
4492 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4494 * include/multiboot.h: Indentation fixes.
4496 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4498 * include/multiboot.h (struct multiboot_aout_symbol_table)
4499 (struct multiboot_elf_section_header_table): New structure
4500 declarations (stolen from GRUB Legacy).
4501 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
4504 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
4505 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
4508 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4510 * include/multiboot.h: Make comments src2texi-friendly.
4512 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4514 For consistency with [multiboot]/docs/boot.S.
4516 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
4517 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
4518 (MULTIBOOT_MAGIC2): Rename from this ...
4519 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
4521 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4523 * include/multiboot.h: Remove `<grub/types.h>'.
4524 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
4525 types. Update all users.
4527 2009-12-25 Carles Pina i Estany <carles@pina.cat>
4529 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
4530 `couldn't' and `can not' by `cannot'.
4531 * commands/i386/pc/drivemap.c: Likewise.
4532 * disk/ata.c: Likewise.
4533 * disk/ieee1275/nand.c: Likewise.
4534 * fs/affs.c: Likewise.
4535 * fs/fat.c: Likewise.
4536 * fs/hfs.c: Likewise.
4537 * fs/hfsplus.c: Likewise.
4538 * fs/iso9660.c: Likewise.
4539 * fs/jfs.c: Likewise.
4540 * fs/minix.c: Likewise.
4541 * fs/reiserfs.c: Likewise.
4542 * fs/sfs.c: Likewise.
4543 * fs/udf.c: Likewise.
4544 * fs/ufs.c: Likewise.
4545 * fs/xfs.c: Likewise.
4546 * loader/powerpc/ieee1275/linux.c: Likewise.
4547 * loader/sparc64/ieee1275/linux.c: Likewise.
4548 * util/grub-probe.c: Likewise.
4549 * util/misc.c: Likewise.
4551 2009-12-24 Carles Pina i Estany <carles@pina.cat>
4553 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
4555 * commands/acpi.c: Likewise.
4556 * commands/blocklist.c: Likewise.
4557 * commands/efi/loadbios.c: Likewise.
4558 * commands/i386/pc/drivemap.c: Likewise.
4559 * commands/loadenv.c: Likewise.
4560 * commands/memrw.c: Likewise.
4561 * commands/password.c: Likewise.
4562 * commands/videotest.c: Likewise.
4563 * disk/ata.c: Likewise.
4564 * disk/ata_pthru.c: Likewise.
4565 * disk/dmraid_nvidia.c: Likewise.
4566 * disk/ieee1275/nand.c: Likewise.
4567 * disk/ieee1275/ofdisk.c: Likewise.
4568 * disk/loopback.c: Likewise.
4569 * disk/lvm.c: Likewise.
4570 * disk/mdraid_linux.c: Likewise.
4571 * disk/raid.c: Likewise.
4572 * disk/raid6_recover.c: Likewise.
4573 * disk/scsi.c: Likewise.
4574 * efiemu/main.c: Likewise.
4575 * efiemu/mm.c: Likewise.
4576 * efiemu/pnvram.c: Likewise.
4577 * efiemu/symbols.c: Likewise.
4578 * font/font.c: Likewise.
4579 * fs/cpio.c: Likewise.
4580 * fs/hfsplus.c: Likewise.
4581 * fs/iso9660.c: Likewise.
4582 * fs/jfs.c: Likewise.
4583 * fs/minix.c: Likewise.
4584 * fs/ntfs.c: Likewise.
4585 * fs/ntfscomp.c: Likewise.
4586 * fs/reiserfs.c: Likewise.
4587 * fs/ufs.c: Likewise.
4588 * fs/xfs.c: Likewise.
4589 * gettext/gettext.c: Likewise.
4590 * include/grub/auth.h: Likewise.
4591 * kern/elf.c: Likewise.
4592 * kern/file.c: Likewise.
4593 * kern/ieee1275/init.c: Likewise.
4594 * kern/ieee1275/mmap.c: Likewise.
4595 * kern/ieee1275/openfw.c: Likewise.
4596 * kern/powerpc/dl.c: Likewise.
4597 * kern/sparc64/dl.c: Likewise.
4598 * lib/arg.c: Likewise.
4599 * loader/i386/bsd.c: Likewise.
4600 * loader/i386/bsdXX.c: Likewise.
4601 * loader/i386/efi/linux.c: Likewise.
4602 * loader/i386/efi/xnu.c: Likewise.
4603 * loader/i386/ieee1275/linux.c: Likewise.
4604 * loader/i386/linux.c: Likewise.
4605 * loader/i386/multiboot.c: Likewise.
4606 * loader/i386/pc/linux.c: Likewise.
4607 * loader/i386/pc/multiboot2.c: Likewise.
4608 * loader/i386/xnu.c: Likewise.
4609 * loader/ieee1275/multiboot2.c: Likewise.
4610 * loader/macho.c: Likewise.
4611 * loader/machoXX.c: Likewise.
4612 * loader/multiboot2.c: Likewise.
4613 * loader/multiboot_loader.c: Likewise.
4614 * loader/powerpc/ieee1275/linux.c: Likewise.
4615 * loader/sparc64/ieee1275/linux.c: Likewise.
4616 * loader/xnu.c: Likewise.
4617 * loader/xnu_resume.c: Likewise.
4618 * mmap/i386/pc/mmap.c: Likewise.
4619 * normal/menu_viewer.c: Likewise.
4620 * partmap/acorn.c: Likewise.
4621 * partmap/amiga.c: Likewise.
4622 * partmap/apple.c: Likewise.
4623 * script/lexer.c: Likewise.
4624 * term/gfxterm.c: Likewise.
4625 * term/i386/pc/serial.c: Likewise.
4626 * term/i386/pc/vga.c: Likewise.
4627 * term/ieee1275/ofconsole.c: Likewise.
4628 * term/terminfo.c: Likewise.
4629 * video/bitmap.c: Likewise.
4630 * video/efi_gop.c: Likewise.
4631 * video/efi_uga.c: Likewise.
4632 * video/fb/video_fb.c: Likewise.
4633 * video/i386/pc/vbe.c: Likewise.
4634 * video/readers/tga.c: Likewise.
4635 * video/video.c: Likewise.
4637 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
4639 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
4640 * commands/lspci.c: Likewise.
4641 * commands/probe.c: Likewise.
4642 * commands/xnu_uuid.c: Likewise.
4643 * conf/i386-coreboot.rmk: Likewise.
4644 * conf/i386-efi.rmk: Likewise.
4645 * conf/i386-ieee1275.rmk: Likewise.
4646 * conf/i386-pc.rmk: Likewise.
4647 * conf/powerpc-ieee1275.rmk: Likewise.
4648 * conf/sparc64-ieee1275.rmk: Likewise.
4649 * conf/x86_64-efi.rmk: Likewise.
4650 * fs/i386/pc/pxe.c: Likewise.
4651 * gettext/gettext.c: Likewise.
4652 * include/grub/efi/graphics_output.h: Likewise.
4653 * include/grub/i386/pc/memory.h: Likewise.
4654 * kern/env.c: Likewise.
4655 * kern/i386/qemu/startup.S: Likewise.
4656 * lib/i386/pc/biosnum.c: Likewise.
4657 * lib/i386/relocator.c: Likewise.
4658 * lib/i386/relocator_asm.S: Likewise.
4659 * lib/relocator.c: Likewise.
4660 * loader/i386/bsd.c: Likewise.
4661 * loader/i386/multiboot.c: Likewise.
4662 * loader/i386/pc/chainloader.c: Likewise.
4663 * loader/i386/xnu.c: Likewise.
4664 * loader/xnu.c: Likewise.
4665 * normal/main.c: Likewise.
4666 * normal/menu_text.c: Likewise.
4667 * util/getroot.c: Likewise.
4668 * util/grub-mkconfig_lib.in: Likewise.
4669 * util/grub.d/00_header.in: Likewise.
4670 * util/i386/pc/grub-mkimage.c: Likewise.
4671 * util/mkisofs/eltorito.c: Likewise.
4672 * util/mkisofs/exclude.h: Likewise.
4673 * util/mkisofs/hash.c: Likewise.
4674 * util/mkisofs/iso9660.h: Likewise.
4675 * util/mkisofs/joliet.c: Likewise.
4676 * util/mkisofs/mkisofs.c: Likewise.
4677 * util/mkisofs/mkisofs.h: Likewise.
4678 * util/mkisofs/multi.c: Likewise.
4679 * util/mkisofs/name.c: Likewise.
4680 * util/mkisofs/rock.c: Likewise.
4681 * util/mkisofs/tree.c: Likewise.
4682 * util/mkisofs/write.c: Likewise.
4683 * video/efi_gop.c: Likewise.
4685 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4687 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
4690 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
4692 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
4693 * genmk.rb (class SCRIPT): Modify the target file instead of source.
4695 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4697 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
4698 (GRUB_MOD_INIT(memrw)): Update help line.
4700 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4702 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
4703 Use grub_extcmd_t. All users updated.
4704 (options): New variable.
4705 (grub_cmd_read): Restructure for readability. Support "-v" option.
4706 (grub_cmd_write): Restructure for readability.
4708 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
4710 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
4712 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
4714 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
4715 with the actual contents of the correspondending make variable.
4716 * util/grub-mkrescue.in (pkglib_DATA): New variable.
4717 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
4718 specifying `*.lst' and `efiemu??.o'
4720 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
4722 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
4723 after function name.
4724 Noticed by Rene Engelhard <rene@debian.org>.
4726 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4728 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
4729 (options): New variable.
4730 (iospace): Likewise.
4731 (grub_lspci_iter): List IO spaces if "-i" was given.
4732 (grub_cmd_lspci): Parse options.
4733 (GRUB_MOD_INIT(lspci)): Use extcmd.
4734 (GRUB_MOD_FINI(lspci)): Likewise.
4736 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
4738 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
4740 Patch by Tony Mancill <tmancill@debian.org>.
4742 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4744 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
4745 (grub_uhci_portstatus): Likewise.
4746 (grub_uhci_portstatus): Add necessary delay.
4747 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
4749 2009-12-21 Carles Pina i Estany <carles@pina.cat>
4751 * commands/acpi.c (options): Fix capitalizations and/or full stops.
4752 (GRUB_MOD_INIT): Likewise.
4753 * commands/boot.c (GRUB_MOD_INIT): Likewise.
4754 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
4755 * commands/echo.c (options): Fix capitalizations and/or full stops.
4756 * commands/efi/loadbios.c (enable_rom_area): Likewise.
4757 (enable_rom_area): Likewise.
4758 (GRUB_MOD_INIT): Likewise.
4759 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
4760 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
4761 * commands/handler.c (GRUB_MOD_INIT): Likewise.
4762 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
4763 * commands/hexdump.c (options): Likewise.
4764 * commands/i386/cpuid.c (options): Likewise.
4765 (GRUB_MOD_INIT): Likewise.
4766 * commands/i386/pc/drivemap.c (options): Likewise.
4767 (GRUB_MOD_INIT): Likewise.
4768 * commands/i386/pc/halt (options): Likewise.
4769 (GRUB_MOD_INIT): Likewise.
4770 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
4771 * commands/i386/pc/pxecmd.c (options): Likewise.
4772 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
4773 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
4774 * commands/keystatus.c (options): Likewise.
4775 (GRUB_MOD_INIT): Likewise.
4776 * commands/loadenv.c (options): Likewise.
4777 * commands/ls.c (options): Likewise.
4778 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
4779 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
4780 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
4781 * commands/parttool.c (helpmsg): Likewise.
4782 * commands/probe.c (options): Likewise.
4783 * commands/read.c (GRUB_MOD_INIT): Likewise.
4784 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
4785 * commands/search.c (options): Likewise.
4786 * commands/sleep.c (options): Likewise.
4787 * commands/test.c (GRUB_MOD_INIT): Likewise.
4788 * commands/true.c (GRUB_MOD_INIT): Likewise.
4789 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
4790 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
4791 * lib/arg.c (help_options): Likewise.
4792 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
4794 * po/POTFILES: Add `commands/loadenv.c'.
4796 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
4798 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4799 instead of specifying them explicit.
4801 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4803 * NEWS: Add grub-probe support for GNU/Hurd.
4805 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4807 * NEWS: gettext was added after 1.97.
4809 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4811 * util/mkisofs/msdos_partition.h: New file (based on
4812 include/grub/msdos_partition.h).
4813 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
4814 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
4815 (ld_options, main): Recognize --protective-msdos-label.
4816 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
4817 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
4818 (padblock_write): If `use_protective_msdos_label' is set, patch a
4819 protective DOS-style label in the output image.
4821 * util/grub-mkrescue.in: Use --protective-msdos-label.
4823 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4825 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
4828 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4830 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
4832 (ld_options, main): Recognize `--embedded-boot'.
4833 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
4835 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
4836 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
4837 (padblock_write): Likewise. Rewrite to support embedded boot image.
4839 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
4840 for BIOS-based disk boot instead of only ElTorito.
4842 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4844 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
4845 build (not needed for bootstrap).
4847 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4849 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
4850 from i386-pc build (not needed for bootstrap).
4851 Rewrite a pair of strings.
4853 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4855 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
4857 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
4859 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
4861 2009-12-21 Andreas Born <futur.andy@googlemail.com>
4863 * kern/env.c (grub_env_context_open): Mark exported variable for
4866 2009-12-21 Andreas Born <futur.andy@googlemail.com>
4868 * kern/env.c (grub_env_export): Create nonexistent variables before
4871 2009-12-20 Carles Pina i Estany <carles@pina.cat>
4873 * include/grub/auth.h: Include `<grub/i18n.h>'.
4874 (GRUB_GET_PASSWORD): Gettextizze string.
4875 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
4877 (grub_utf8_to_ucs4_alloc): Fix indentation.
4878 (grub_print_ucs4): Likewise.
4879 (grub_getstringwidth): Likewise.
4880 (print_message_indented): New declaration.
4881 * normal/auth.c: Include `<grub/i18n.h>'.
4882 (grub_auth_check_authentication): Gettexttize string.
4883 * normal/cmdline.c: Include `<grub/i18n.h>'.
4884 (grub_cmdline_get): Gettextizze.
4885 * normal/color.c: Include `<grub/i18n.h>'.
4886 (grub_parse_color_name_pair): Gettexttize strings.
4887 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
4888 string (use `print_message_indented').
4889 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
4890 `include/grub/normal.h'.
4891 (print_message_indented): Renamed to ...
4892 (grub_print_message_indented): ... this. Remove `static' qualifer (now
4893 used in normal/main.c).
4894 (print_message): Use `grub_print_message_indented' instead of
4895 `print_message_indented'.
4896 (print_timeout): Likewise.
4897 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
4898 (grub_normal_print_device_info): Gettexttize strings.
4899 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
4901 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4903 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
4904 of arguments. Return number of tokens and not arguments. All users
4907 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4909 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
4910 non-MSDOS paritions.
4912 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
4914 * include/grub/types.h (UNUSED): Removed since it conflicts with
4915 NetBSD headers. All users changed to direct __attribute__ ((unused)).
4916 Reported by Grégoire Sutre.
4918 2009-12-19 Carles Pina i Estany <carles@pina.cat>
4920 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
4921 (grub_print_ucs4_alloc): Likewise.
4922 (grub_getstringwidth): Likewise.
4923 * normal/main.c (grub_normal_init_page): Gettextize version string.
4924 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
4925 (getstringwidth): Renamed to ...
4926 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
4927 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
4928 (grub_print_ucs4): Remove `static' qualifer (now used in
4930 * po/POTFILES: Add normal/main.c.
4932 2009-12-19 Carles Pina i Estany <carles@pina.cat>
4934 * normal/menu_text.c (STANDARD_MARGIN): New macro.
4935 (print_message_indented): Add `margin_left' and `margin_right'
4937 (print_message): Update `print_message_indented' calls. Adds '\n' to the
4939 (print_timeout): Use `print_message_indented' to print the message.
4940 Deletes `second_stage' parameter.
4941 (run_menu): Update `print_timeout' calls.
4943 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
4945 Fix console palette on OpenFirmware.
4947 * term/ieee1275/ofconsole.c (MAX): Removed.
4948 (colors): Redone based on VGA palette.
4949 (grub_ofconsole_setcolor): Discard brightness bit since only 8
4950 colors are supported.
4951 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
4953 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
4955 Fix potential EfiEmu double prepare.
4957 * efiemu/main.c (prepared): New variable
4958 (grub_efiemu_unload): Set prepare to '0'.
4959 (grub_efiemu_prepare): Return if already prepared. Set prepared.
4961 set_virtual_address_map support.
4963 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
4965 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
4967 (grub_efiemu_crc32): Likewise.
4968 (grub_efiemu_crc64): Likewise.
4969 (grub_efiemu_set_virtual_address_map): Likewise.
4970 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
4972 (grub_autoefi_set_virtual_address_map): Likewise.
4973 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
4974 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
4975 Restructure flow to accomodate it.
4976 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
4977 (grub_efiemu_crc): Recompute CRC32.
4978 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
4979 (efiemu_ptv_relocated): ... this. Made global. All users updated.
4980 * efiemu/symbols.c (relocated_handle): New variable.
4981 (grub_efiemu_free_syms): Free relocated_handle.
4982 (grub_efiemu_alloc_syms): Allocate relocated_handle.
4983 (grub_efiemu_write_sym_markers): New function.
4984 (grub_efiemu_set_virtual_address_map): Likewise.
4986 Newer XNU parameters.
4988 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
4989 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
4990 (grub_xnu_fill_devicetree): New prototype.
4991 (grub_xnu_heap_real_start): New variable.
4992 * loader/xnu.c (get_name_ptr): New function.
4993 (grub_xnu_load_driver): Fill namelen and name.
4997 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
4998 and 'loader/macho64.c'.
4999 * conf/i386-pc.rmk: Likewise.
5000 * conf/x86_64-efi.rmk: Likewise.
5001 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
5002 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
5003 * include/grub/macho.h (grub_macho_segment64): New structure.
5004 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
5005 (grub_macho_size32): ... to this.
5006 (grub_macho32_get_entry_point): Renamed from ...
5007 (grub_macho_get_entry_point32): ... to this.
5008 (grub_macho_contains_macho64): New prototype.
5009 (grub_macho_size64): Likewise.
5010 (grub_macho_get_entry_point64): Likewise.
5011 (grub_macho32_load): Renamed from ...
5012 (grub_macho_load32): ... to this.
5013 (grub_macho32_filesize): Renamed from ...
5014 (grub_macho_filesize32): ... to this.
5015 (grub_macho32_readfile): Renamed from ...
5016 (grub_macho_readfile32): ... to this.
5017 (grub_macho_filesize64): New prototype.
5018 (grub_macho_readfile64): Likewise.
5019 (grub_macho_parse32): Likewise.
5020 (grub_macho_parse64): Likewise.
5021 * loader/macho.c: Split into ...
5022 * loader/machoXX.c: ... and this. Replace 32 with XX.
5023 * loader/macho32.c: New file.
5024 * loader/macho64.c: Likewise.
5025 * loader/xnu.c (grub_xnu_is_64bit): New variable.
5026 (grub_cmd_xnu_kernel): Make 32-bit only.
5027 (grub_cmd_xnu_kernel64): New function.
5028 (grub_xnu_load_driver): Support Mach-O 64.
5029 (grub_cmd_xnu_mkext): Likewise.
5030 * util/grub.d/30_os-prober.in (osx_entry): New function.
5031 Generate entries for 64-bit boot too.
5033 Eliminate ad-hoc tree format in XNU and EfiEmu.
5035 * efiemu/main.c (grub_efiemu_prepare): Update comment.
5036 * efiemu/pnvram.c: Rewritten to use environment variables.
5039 Inline utf16_to_utf8.
5041 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
5042 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
5044 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
5046 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
5047 * commands/usbtest.c (grub_usb_get_string): ... move here.
5048 (usb_print_str): Fix error handling.
5049 * include/grub/usb.h (grub_usb_get_string): Remove.
5051 UTF-8 to UTF-16 transformation.
5053 * conf/common.rmk (pkglib_MODULES): Add charset.mod
5054 (charset_mod_SOURCES): New variable.
5055 (charset_mod_CFLAGS): Likewise.
5056 (charset_mod_LDFLAGS): Likewise.
5057 * include/grub/utf.h: New file.
5058 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
5060 Support for device properties.
5062 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
5063 (grub_xnu_devprop_device_header): Likewise.
5064 (grub_xnu_devprop_device_descriptor): Likewise.
5065 (grub_xnu_devprop_add_device): New prototype.
5066 (grub_xnu_devprop_remove_device): Likewise.
5067 (grub_xnu_devprop_remove_property): Likewise.
5068 (grub_xnu_devprop_add_property_utf8): Likewise.
5069 (grub_xnu_devprop_add_property_utf16): Likewise.
5070 (grub_cpu_xnu_init): Likewise.
5071 (grub_cpu_xnu_fini): Likewise.
5072 (grub_cpu_xnu_unload): Likewise.
5073 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
5074 (property_descriptor): Likewise.
5075 (devices): New variable.
5076 (grub_xnu_devprop_remove_property): New function.
5077 (grub_xnu_devprop_add_device): Likewise.
5078 (grub_xnu_devprop_remove_device): Likewise.
5079 (grub_xnu_devprop_add_property): Likewise.
5080 (grub_xnu_devprop_add_property_utf8): Likewise.
5081 (grub_xnu_devprop_add_property_utf16): Likewise.
5082 (hextoval): Likewise.
5083 (grub_cpu_xnu_fill_devprop): Likewise.
5084 (grub_cmd_devprop_load): Likewise.
5085 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
5086 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
5087 (cmd_devprop_load): New variable.
5088 (grub_cpu_xnu_init): New function.
5089 (grub_cpu_xnu_fini): Likewise.
5090 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
5091 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
5092 (grub_cmd_xnu_devtree): Likewise.
5093 (hextoval): New function.
5094 (unescape): Likewise.
5095 (grub_xnu_fill_devicetree): Likewise.
5097 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
5098 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
5100 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5102 Workaround for broken ATI VBE.
5104 * video/i386/pc/vbe.c (last_set_mode): New variable.
5105 (grub_vbe_set_video_mode): Set 'last_set_mode'.
5106 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
5107 (grub_video_vbe_setup): Don't check for reserved flag.
5109 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
5111 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
5114 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
5116 UUID support for HFS.
5118 * fs/hfs.c (grub_hfs_uuid): New function.
5119 (grub_hfs_fs): New value .uuid.
5120 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
5122 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
5124 Fix a segfault with parsing unknown long options.
5126 * util/grub-mkrelpath.c (options): Zero terminate it.
5128 2009-12-13 Carles Pina i Estany <carles@pina.cat>
5130 * include/grub/misc.h (grub_puts): New declaration.
5131 (grub_puts_): Likewise.
5132 * kern/misc.c (grub_puts): New definition.
5133 (grub_puts_): Likewise.
5135 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
5137 * util/grub-probe.c (probe): Improve error message.
5139 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
5141 * loader/i386/multiboot_elfxx.c
5142 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
5145 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5149 * loader/i386/xnu_helper.S: Removed. All users updated.
5150 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
5151 (relocator_mod_SOURCES): New variable.
5152 (relocator_mod_CFLAGS): Likewise.
5153 (relocator_mod_LDFLAGS): Likewise.
5154 (relocator_mod_ASFLAGS): Likewise.
5155 * conf/x86_64.rmk: Likewise.
5156 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
5157 (grub_multiboot_payload_entry_offset): Likewise.
5158 (grub_multiboot_forward_relocator): Likewise.
5159 (grub_multiboot_forward_relocator_end): Likewise.
5160 (grub_multiboot_backward_relocator): Likewise.
5161 (grub_multiboot_backward_relocator_end): Likewise.
5162 (grub_multiboot_payload_eip): New variable.
5163 (grub_multiboot_payload_orig): Likewise.
5164 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
5165 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
5166 * include/grub/i386/memory.h
5167 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
5168 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
5169 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
5170 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
5171 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
5172 * include/grub/i386/relocator.h: New file.
5173 * include/grub/x86_64/relocator.h: Likewise.
5174 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
5175 (XNU_RELOCATOR): New macro.
5176 (grub_xnu_launcher_start): Remove.
5177 (grub_xnu_launcher_end): Likewise.
5178 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
5179 (grub_xnu_heap_real_start): Remove.
5180 (grub_xnu_heap_start): Change to void *. All users updated.
5181 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
5182 * lib/i386/relocator.c: New file.
5183 * lib/i386/relocator_asm.S: Likewise.
5184 * lib/i386/relocator_backward.S: Likewise.
5185 * lib/mips/relocator.c: Likewise.
5186 * lib/mips/relocator_asm.S: Likewise.
5187 * lib/relocator.c: Likewise.
5188 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
5190 (playground): Likewise.
5191 (grub_multiboot_payload_orig): New variable.
5192 (grub_multiboot_payload_dest): Likewise.
5193 (grub_multiboot_payload_size): Likewise.
5194 (grub_multiboot_payload_eip): Likewise.
5195 (grub_multiboot_payload_esp): Likewise.
5196 (grub_multiboot_boot): Use grub_relocator32_boot.
5197 (grub_multiboot_unload): Free relocators.
5198 (grub_multiboot): Setup stack. Use relocators.
5199 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
5200 (grub_multiboot_load_elfXX): Use relocators.
5201 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
5202 (grub_multiboot_payload_size): Likewise.
5203 (grub_multiboot_payload_dest): Likewise.
5204 (grub_multiboot_payload_entry_offset): Likewise.
5205 (grub_multiboot_forward_relocator): Likewise.
5206 (grub_multiboot_backward_relocator): Likewise.
5207 (grub_multiboot_real_boot): Likewise.
5208 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
5209 (grub_xnu_entry_point): Likewise.
5210 (grub_xnu_arg1): Likewise.
5211 (grub_xnu_stack): Likewise.
5212 (grub_xnu_launch): Removed.
5213 (grub_xnu_boot_resume): New function.
5214 (grub_xnu_boot): Use relocators.
5215 * loader/i386/xnu_helper.S: Removed.
5216 * loader/xnu.c (grub_xnu_heap_start): New variable.
5217 (grub_xnu_heap_size): Likewise.
5218 (grub_xnu_heap_malloc): Use relocators.
5219 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
5221 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5223 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
5226 2009-12-13 Carles Pina i Estany <carles@pina.cat>
5228 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
5229 GRUB_ERR_NONE before calling grub_env_set.
5231 2009-12-12 Robert Millan <rmh@aybabtu.com>
5233 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
5234 * genmk.rb (video): New variable.
5235 (CLEANFILES, VIDEOFILES): Add #{video}.
5236 (#{video}): New target rule.
5237 * genvideolist.sh: New file.
5238 * Makefile.in (pkglib_DATA): Add video.lst.
5239 (video.lst): New target rule.
5240 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
5242 * util/grub.d/30_os-prober.in: Replace `vbe' with
5243 ${GRUB_VIDEO_BACKEND}.
5245 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
5247 * THANKS: Add David Miller.
5249 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
5251 libpciaccess support.
5253 * Makefile.in (LIBPCIACCESS): New variable.
5254 (enable_grub_emu_pci): Likewise.
5255 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
5256 util/pci.c and commands/lspci.c.
5257 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
5258 * configure.ac (grub-emu-pci): New option.
5259 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
5260 (grub_pci_device_unmap_range): Likewise.
5261 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
5262 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
5263 (grub_pci_address_t) [!GRUB_UTIL]: New type.
5264 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
5265 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
5266 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
5267 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
5268 * include/grub/pciutils.h: New file.
5269 * util/pci.c: Likewise.
5271 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
5273 * util/misc.c: Don't include <errno.h> twice.
5275 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
5277 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
5278 name in an error message.
5279 (grub_biosdisk_rw): Likewise.
5281 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5283 Eliminate NTFS 4Gib barrier.
5285 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
5286 (read_run_data): Likewise.
5287 (grub_ntfs_read_run_list): Likewise.
5288 (grub_ntfs_read_block): Likewise.
5289 (grub_ntfs_iterate_dir): Likewise.
5290 (read_mft): Likewise.
5291 (read_data): Likewise.
5293 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
5294 to avoid 64-bit division
5295 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
5296 (grub_ntfs_rlst): Use grub_disk_addr_t.
5298 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5300 Eliminate grub-fstest 4Gib barrier.
5302 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
5303 (read_file): Fix error reporting.
5305 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5307 Eliminate hexdump 4Gib barrier.
5309 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
5310 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
5312 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5314 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
5317 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
5319 Remove miscellaneous files in distclean target.
5321 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
5323 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
5325 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
5326 if they're already set. This resolves the conflict between my
5327 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
5328 fixing the --grub-probe option again.
5329 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
5330 change on 2009-10-06, so that we now once again source
5331 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
5333 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
5335 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
5336 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
5339 2009-12-08 Carles Pina i Estany <carles@pina.cat>
5341 * include/grub/misc.h (grub_printf_): New declaration.
5342 * kern/misc.c (grub_printf_): New definition.
5343 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
5344 instead of `grub_printf' and `_'.
5345 * normal/menu_entry.c (store_completion): Likewise.
5347 (grub_menu_entry_run): Likewise.
5348 * normal/menu_text.c (grub_wait_after_message): Likewise.
5349 (notify_booting): Likewise.
5350 (notify_fallback): Likewise.
5351 (notify_execution_failure): Likewise.
5353 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
5355 * configure.ac: Check for vasprintf.
5356 * util/misc.c (asprintf): Move allocation from here ...
5357 (vasprintf): ... to here. New function.
5358 (xasprintf): New function.
5359 * include/grub/util/misc.h (vasprintf, xasprintf): Add
5361 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
5362 * util/grub-mkfont.c (write_font): Likewise.
5363 * util/grub-probe.c (probe): Likewise.
5364 * util/hostdisk.c (make_device_name): Likewise.
5366 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
5368 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
5369 anything even prefixed with 'cdrom' as a cdrom.
5371 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
5373 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
5376 2009-12-05 Carles Pina i Estany <carles@pina.cat>
5378 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
5379 grub_gettext_msg_list.
5380 (grub_gettext_gettranslation_from_position): Return const char *
5382 (grub_gettext_translate): Add the translated strings into a list,
5383 returns from the list if existing there.
5384 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
5385 (grub_gettext_delete_list): Delete the list.
5386 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
5387 lang environment variable is changed.
5388 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
5390 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
5392 Rename kernel.mod to kernel.img.
5394 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
5395 (kernel_mod_EXPORTS): Rename to ...
5396 (kernel_img_EXPORTS): ... this.
5397 (kernel_mod_SOURCES): Rename to ...
5398 (kernel_img_SOURCES): ... this.
5399 (kernel_mod_HEADERS): Rename to ...
5400 (kernel_img_HEADERS): ... this. All users updated.
5401 (kernel_mod_CFLAGS): Rename to ...
5402 (kernel_img_CFLAGS): ... this.
5403 (kernel_mod_ASFLAGS): Rename to ...
5404 (kernel_img_ASFLAGS): ... this.
5405 (kernel_mod_LDFLAGS): Rename to ...
5406 (kernel_img_LDFLAGS): ... this.
5407 * conf/x86_64-efi.rmk: Likewise.
5408 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
5409 (read_kernel_image): ... this. All users updated.
5410 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
5412 2009-12-05 Carles Pina i Estany <carles@pina.cat>
5414 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
5415 (print_spaces): New function.
5416 (grub_print_ucs4): New function.
5417 (getstringwidth): New function.
5418 (print_message_indented): New function.
5419 (print_message): Gettexttize strings using print_message_indented.
5420 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
5422 (get_entry_number): Gettextize and uses dynamic terminal width.
5423 (notify_booting, notify_fallback, notify_execution_failure):
5425 * normal/menu_entry.c (store_completion): Cleanup the gettextized
5428 (grub_menu_entry_run): Likewise.
5429 * PO/POTFILES: Add normal/menu_entry.c.
5431 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
5433 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
5435 2009-12-05 Carles Pina i Estany <carles@pina.cat>
5437 * util/grub-install.in: Install gettext .mo files.
5438 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
5440 2009-12-05 Carles Pina i Estany <carles@pina.cat>
5442 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
5445 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
5447 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
5448 non-firmware-dependant one in realmode.S takes precedence.
5450 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
5452 * commands/halt.c: Replace misc arch-specific headers with
5454 * commands/reboot.c: Likewise.
5455 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
5457 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
5458 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
5459 (kernel_img_SOURCES): ... to here.
5461 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
5462 * include/grub/i386/pc/init.h: Likewise.
5463 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
5464 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
5466 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
5468 * include/grub/i386/halt.h: Remove.
5469 * include/grub/i386/reboot.h: Likewise.
5471 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
5473 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
5475 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
5476 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
5477 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
5479 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
5480 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5481 (usage): Add missing comma in printf.
5483 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
5485 Use the same reboot approach on i386 coreboot and qemu as we do on
5488 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
5489 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
5490 * kern/i386/reboot.c: Remove.
5491 * include/grub/i386/reboot.h (grub_reboot): Export function.
5492 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
5493 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
5494 0xf000:0xfff0 instead of 0xffff:0x0000.
5495 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
5496 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
5498 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
5500 Fix $srcdir != $objdir build.
5502 * Makefile.in (po/%.po): Rewrite as ...
5503 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
5505 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
5507 Fix GNU/Hurd grub-install crash.
5508 * util/grub-probe.c (probe): Try to access `path' only when it is not
5511 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
5513 Correct module naming.
5515 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
5516 (GRUB_MOD_INIT(efi_uga)): ... to this
5517 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
5518 (GRUB_MOD_FINI(efi_uga)): ... to this
5519 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
5520 (GRUB_MOD_INIT(efi_gop)): ... to this
5521 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
5522 (GRUB_MOD_FINI(efi_gop)): ... to this
5524 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
5526 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
5528 (usage): Translate `arg' strings using gettext().
5529 Thanks to Jordi Mallach for the suggestion.
5531 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
5533 GOP support. Based on patch from Bean
5534 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
5536 * video/efi_gop.c: New file.
5537 * include/grub/efi/graphics_output.h: Likewise.
5538 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
5539 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
5541 * conf/x86_64-efi.rmk: Likewise.
5543 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
5545 Rename efi_fb to efi_uga.
5547 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
5549 (efi_fb_mod_SOURCES): Rename this ...
5550 (efi_uga_mod_SOURCES): ... to this.
5551 (efi_fb_mod_CFLAGS): Rename this ...
5552 (efi_uga_mod_CFLAGS): ... to this.
5553 (efi_fb_mod_LDFLAGS): Rename this ...
5554 (efi_uga_mod_LDFLAGS): ... to this.
5555 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
5557 (efi_fb_mod_SOURCES): Rename this ...
5558 (efi_uga_mod_SOURCES): ... to this.
5559 (efi_fb_mod_CFLAGS): Rename this ...
5560 (efi_uga_mod_CFLAGS): ... to this.
5561 (efi_fb_mod_LDFLAGS): Rename this ...
5562 (efi_uga_mod_LDFLAGS): ... to this.
5563 * video/efi_fb.c: Move this ...
5564 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
5566 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
5568 * po/README: New file. Explain our PO file workflow.
5570 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
5572 * po/ChangeLog: Remove. Move relevant entries back to ...
5573 * ChangeLog: ... here.
5574 * po/ca.po: Remove (now handled by TLP).
5575 * po/id.po: Likewise.
5576 * po/zh_CN.po: Likewise.
5577 * Makefile.in (LINGUAS): Initialize in a way that supports
5580 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
5582 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
5583 reliing on po/LINGUAS.
5584 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
5585 (po/%.po): ... this.
5587 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
5589 * util/i386/efi/grub-mkimage.c: Include "progname.h".
5590 (main): Use `program_name' instead of nonexistent `progname'.
5592 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
5594 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
5595 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
5597 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
5599 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
5601 * conf/i386-efi.rmk: Likewise.
5602 * conf/i386-ieee1275.rmk: Likewise.
5603 * conf/powerpc-ieee1275.rmk: Likewise.
5604 * conf/sparc64-ieee1275.rmk: Likewise.
5605 * conf/x86_64-efi.rmk: Likewise.
5607 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
5609 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
5611 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
5613 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
5615 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
5617 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
5618 (grub_mkdevicemap_SOURCES): New variable.
5619 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
5620 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
5621 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
5622 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
5623 (grub_mkdevicemap_SOURCES): Remove.
5624 * conf/i386-efi.rmk: Likewise.
5625 * conf/i386-ieee1275.rmk: Likewise.
5626 * conf/i386-pc.rmk: Likewise.
5627 * conf/powerpc-ieee1275.rmk: Likewise.
5628 * conf/sparc64-ieee1275.rmk: Likewise.
5629 * conf/x86_64-efi.rmk: Likewise.
5630 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
5631 (usage): Fix strings to use `program_name'.
5632 (main): Initialize gettext.
5633 * util/grub-editenv.c: Likewise.
5634 * util/grub-emu.c: Likewise.
5635 * util/grub-fstest.c: Likewise.
5636 * util/grub-mkdevicemap.c: Likewise.
5637 * util/grub-mkfont.c: Likewise.
5638 * util/grub-mkrelpath.c: Likewise.
5639 * util/grub-pe2elf.c: Likewise.
5640 * util/grub-probe.c: Likewise.
5641 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
5642 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
5643 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5645 * util/misc.c: Include `"progname.h"'.
5646 (progname): Remove variable.
5647 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
5649 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
5651 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
5652 printf and print a newline after the menuentry header line.
5653 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
5655 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
5657 autoconf >= 2.60 support $(localedir).
5659 * INSTALL: Note that autoconf 2.60 is required.
5660 * configure.ac (AC_PREREQ): Bump to 2.60.
5661 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
5662 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
5664 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
5666 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
5669 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
5671 * normal/main.c (grub_normal_read_line): Fix off-by-one
5674 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
5676 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
5677 "parser.grub" in grub_command_execute() call.
5679 2009-11-24 Carles Pina i Estany <carles@pina.cat>
5681 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
5682 * conf/i386-efi.rmk: Likewise.
5683 * conf/i386-ieee1275.rmk: Likewise.
5684 * conf/i386-pc.rmk: Likewise.
5685 * conf/powerpc-ieee1275.rmk: Likewise.
5686 * conf/sparc64-ieee1275.rmk: Likewise.
5687 * conf/x86_64-efi.rmk: Likewise.
5688 * gettext/gettex.c: Include <grub/i18n.h>.
5689 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
5691 * include/grub/i18n.h: ... to here
5692 * include/grub/i18n.h: ... to here.
5693 * kern/misc.c: Include <grub/i18n.h>
5694 (grub_gettext_dummy): Move above user.
5696 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
5698 * util/Makefile.in (install-local): Convert a `for' into a normal
5701 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
5703 * autogen.sh: Add automake call.
5704 * config.guess: Remove.
5705 * config.sub: Likewise.
5706 * install-sh: Likewise.
5708 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
5710 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
5712 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
5714 * util/Makefile.in (install-local): Convert a make `$(foreach)'
5715 function to a normal shell `for'.
5717 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
5719 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
5721 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
5723 * util/grub-mkrelpath.c: New file.
5724 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
5725 (grub_mkrelpath_SOURCES): New variable.
5726 * include/grub/util/misc.h: New function prototype.
5727 * util/misc.c (make_system_path_relative_to_its_root): New function.
5729 * util/grub-mkconfig_lib.in (bindir): New variable.
5730 (grub_mkrelpath): Likewise.
5731 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
5733 * util/probe.c (probe): Make the file path relative to its root.
5734 Change a info message to use the GRUB path. Enable again the
5735 check if we can read the file with GRUB facilities.
5737 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
5740 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
5742 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
5745 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
5747 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
5750 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
5752 * util/getroot.c (grub_util_is_dmraid): New function.
5753 (grub_util_get_dev_abstraction): Treat dmraid and multipath
5754 devices as normal ones, not as LVM.
5756 2009-11-23 Carles Pina i Estany <carles@pina.cat>
5758 * conf/common.rmk: Add grub-gettext_lib target and updates
5759 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
5761 * gettext/gettext.c: New file. (Reads mo files).
5762 * include/grub/file.h (grub_file_pread): New prototype.
5763 * include/grub/i18n.h (_): New prototype.
5764 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
5766 * kern/misc.c (grub_gettext_dummy): New function.
5767 * normal/menu_text.c: Include <grub/i18n.h>.
5768 * normal/menu_text.c (print_timeout): Gettexttize string.
5769 * normal/menu_text.c (print_message): Gettexttize string.
5770 * po/POTFILES: Add `normal/menu_text.c'.
5771 * po/ca.po: Add new translations.
5772 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
5773 gettext module and defines locale_dir and lang in grub.cfg.
5774 * NEWS: Add gettext support.
5776 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
5778 * util/hostdisk.c: Include `<grub/i18n.h>'.
5779 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
5780 (make_device_name): Rewrite using asprintf.
5781 (convert_system_partition_to_system_disk): Replace 0 with NULL.
5782 (find_system_device): If a device is not found, generate one just
5783 by reusing the OS path name.
5784 (read_device_map): Make it permissible for device.map not to exist.
5786 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
5788 * script/sh/execute.c: Move from here ...
5789 * script/execute.c: ... to here. Update all users.
5790 * script/sh/function.c: Move from here ...
5791 * script/function.c: ... to here. Update all users.
5792 * script/sh/lexer.c: Move from here ...
5793 * script/lexer.c: ... to here. Update all users.
5794 * script/sh/main.c: Move from here ...
5795 * script/main.c: ... to here. Update all users.
5796 * script/sh/parser.y: Move from here ...
5797 * script/parser.y: ... to here. Update all users.
5798 * script/sh/script.c: Move from here ...
5799 * script/script.c: ... to here. Update all users.
5801 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
5803 * configure.ac: Detect all `emu' platforms. Define
5804 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
5805 --enable-grub-emu logic. Disable include/grub/machine
5806 symlink on `emu' platforms.
5808 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
5809 * gensymlist.sh.in: Likewise.
5811 * include/grub/i386/coreboot/machine.h: Remove file.
5812 * include/grub/i386/efi/machine.h: Likewise.
5813 * include/grub/i386/ieee1275/machine.h: Likewise.
5814 * include/grub/i386/pc/machine.h: Likewise.
5815 * include/grub/i386/qemu/machine.h: Likewise.
5816 * include/grub/powerpc/ieee1275/machine.h: Likewise.
5817 * include/grub/sparc64/ieee1275/machine.h: Likewise.
5818 * include/grub/x86_64/efi/machine.h: Likewise.
5820 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
5821 * commands/halt.c: Likewise.
5822 * commands/reboot.c: Likewise.
5823 * include/grub/autoefi.h: Likewise.
5824 * include/grub/i386/at_keyboard.h: Likewise.
5825 * include/grub/i386/kernel.h: Likewise.
5826 * include/grub/i386/loader.h: Likewise.
5827 * include/grub/i386/pc/memory.h: Likewise.
5828 * kern/dl.c: Likewise.
5829 * kern/i386/coreboot/init.c: Likewise.
5830 * loader/i386/bsd.c: Likewise.
5831 * loader/i386/linux.c: Likewise.
5832 * loader/multiboot_loader.c: Likewise.
5833 * term/i386/pc/serial.c: Likewise.
5834 * term/usb_keyboard.c: Likewise.
5836 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
5837 `<grub/machine/machine.h>'
5838 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
5839 * util/misc.c: Remove `<grub/machine/machine.h>' and
5840 `<grub/machine/time.h>'.
5842 * Makefile.in (enable_grub_emu): Remove variable.
5843 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
5845 * conf/any-emu.rmk: New file.
5846 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
5847 (grub_emu_init.c): Move from here ...
5848 * conf/any-emu.rmk: ... to here.
5850 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
5851 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
5852 * conf/any-emu.rmk: ... to here.
5854 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
5856 * include/grub/parser.h (grub_parser_register): Document need
5857 of `name' parameter.
5858 * normal/main.c (grub_normal_read_line): Simplify prompt string.
5859 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
5862 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
5864 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
5866 * include/grub/i18n.h (N_): New macro.
5867 * util/mkisofs/mkisofs.h: Likewise.
5868 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
5870 (usage): Use gettext() to translate help strings when printing them.
5872 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
5874 Based on patch from Bean
5875 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
5877 * video/efi_fb.c: New file.
5878 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
5879 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
5881 * conf/x86_64-efi.rmk: Likewise.
5883 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
5885 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
5886 * util/i386/pc/grub-setup.c: Likewise.
5888 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
5890 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
5892 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
5893 file_get_storage_info to implement grub_guess_root_device.
5895 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
5897 * Makefile.in (target): Use make's builtin $(shell) function
5898 instead of calling directly $(SHELL) to create the locale directories,
5899 inside the $(foreach) function.
5901 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
5903 * util/grub-mkrescue.in: Print an error and usage if output option
5906 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
5908 Patch from Loïc Minier <loic.minier@ubuntu.com>.
5909 * util/grub.d/30_os-prober.in: Cope with Linux entries where
5910 root and /boot are on different devices.
5912 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
5914 Fix build for srcdir != objdir.
5916 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
5917 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
5919 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
5920 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
5921 reference for input.
5923 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
5925 * util/grub-mkrescue.in: Use source directory direcly (without copiing
5926 or hardlinking it). Remove -J option, Joliet is not compatible with
5927 multiple source directories.
5929 2009-11-21 Carles Pina i Estany <carles@pina.cat>
5930 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
5932 * util/grub-mkrescue.in: Recognize `--override-directory' option.
5933 (process_input_dir): New function. Process an arbitrary input
5935 Misc adjustments to support both "override mode" and system-wide mode.
5937 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
5939 * configure.ac (UNIFONT_BDF): Rename to ...
5940 (FONT_SOURCE): ... this. Update all users.
5942 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
5944 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
5945 to the list of unifont files to look for.
5947 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
5949 Patch from Joe Auricchio <jauricchio@gmail.com>
5950 * commands/minicmd.c (grub_mini_cmd_clear): New function.
5951 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
5952 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
5954 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
5956 * Makefile.in (install-local): Add a missing backslash.
5958 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
5960 * include/grub/x86_64/io.h: New file.
5962 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
5964 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
5965 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
5966 Include `"progname.h"'.
5967 (main): Initialize gettext.
5968 * util/i386/pc/grub-setup.c: Gettexttize.
5969 * util/i386/pc/grub-mkimage.c: Likewise.
5971 * Makefile.in (po/*.po): Redefine as ...
5972 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
5974 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
5976 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
5978 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
5979 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
5980 (program_name): Remove.
5981 (main): Initialize gettext support.
5982 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
5983 Include `<libintl.h>'.
5986 * util/mkisofs/eltorito.c: Gettexttize.
5987 * util/mkisofs/joliet.c: Likewise.
5988 * util/mkisofs/mkisofs.c: Likewise.
5989 * util/mkisofs/multi.c: Likewise.
5990 * util/mkisofs/rock.c: Likewise.
5991 * util/mkisofs/tree.c: Likewise.
5992 * util/mkisofs/write.c: Likewise.
5994 * po/POTFILES: Update with new files.
5996 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
5998 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
5999 * util/mkisofs/iso9660.h: Likewise.
6000 * util/mkisofs/joliet.c: Likewise.
6001 * util/mkisofs/mkisofs.c: Likewise.
6002 * util/mkisofs/mkisofs.h: Likewise.
6003 * util/mkisofs/rock.c: Likewise.
6004 * util/mkisofs/tree.c: Likewise.
6005 * util/mkisofs/write.c: Likewise.
6007 * util/mkisofs/eltorito.c (rcsid): Remove.
6008 * util/mkisofs/hash.c: Likewise.
6009 * util/mkisofs/joliet.c: Likewise.
6010 * util/mkisofs/name.c: Likewise.
6011 * util/mkisofs/rock.c: Likewise.
6012 * util/mkisofs/tree.c: Likewise.
6013 * util/mkisofs/write.c: Likewise.
6015 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6017 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
6018 instead of static allocation.
6019 * util/mkisofs/match.h: Likewise.
6021 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6023 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
6024 and `util/grub.d/10_linux.in'.
6025 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
6026 translatable Shell files.
6028 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6030 * Makefile.in ($(srcdir)/aclocal.m4): New target.
6032 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6034 * INSTALL: Document Automake is needed for bootstrap.
6035 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
6036 * util/grub.d/10_kfreebsd.in (bindir): New variable.
6037 Add gettext initialization.
6038 (kfreebsd_entry): Make menuentry output translatable.
6040 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6042 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
6043 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
6044 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
6045 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
6046 (LINGUAS): Auto-generate using `po/LINGUAS'.
6047 * po/LINGUAS: New file.
6049 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6051 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
6053 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
6054 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
6055 bindtextdomain() calls for gettext initialization.
6057 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6059 * gnulib/progname.c: New file (imported from Gnulib).
6060 * gnulib/progname.h: Likewise.
6061 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6062 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
6063 (usage): Replace `progname' with `program_name'.
6064 (main): Use set_program_name() for program name initialization.
6066 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6068 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
6070 * Makefile.in (CPPFLAGS): ... to here.
6072 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6074 * aclocal.m4: Move from here ...
6075 * acinclude.m4: ... to here.
6076 * autogen.sh: Add call to `aclocal'.
6077 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
6079 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6081 * Makefile.in (CLEANFILES): Add `po/*.mo'.
6082 (LINGUAS): New variable.
6083 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
6084 (install-local): Install MO files.
6085 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
6086 * include/grub/i18n.h: New file.
6087 * po/POTFILES: New file.
6088 * po/ca.po: New file.
6089 * util/grub.d/10_linux.in (bindir): New variable.
6090 Add gettext initialization.
6091 (linux_entry): Make menuentry output translatable.
6092 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
6093 (usage): Make --help output translatable.
6094 (main): Initialize gettext.
6096 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6098 * import_gcry.py: New file (written by Vladimir with minor
6100 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
6102 * INSTALL: Document that Python is required for bootstrap.
6104 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6106 Import ciphers from libgcrypt 1.4.4.
6108 * lib/libgcrypt/cipher/ChangeLog
6109 * lib/libgcrypt/cipher/ac.c
6110 * lib/libgcrypt/cipher/arcfour.c
6111 * lib/libgcrypt/cipher/bithelp.h
6112 * lib/libgcrypt/cipher/blowfish.c
6113 * lib/libgcrypt/cipher/camellia-glue.c
6114 * lib/libgcrypt/cipher/camellia.c
6115 * lib/libgcrypt/cipher/camellia.h
6116 * lib/libgcrypt/cipher/cast5.c
6117 * lib/libgcrypt/cipher/cipher.c
6118 * lib/libgcrypt/cipher/crc.c
6119 * lib/libgcrypt/cipher/des.c
6120 * lib/libgcrypt/cipher/dsa.c
6121 * lib/libgcrypt/cipher/ecc.c
6122 * lib/libgcrypt/cipher/elgamal.c
6123 * lib/libgcrypt/cipher/hash-common.c
6124 * lib/libgcrypt/cipher/hash-common.h
6125 * lib/libgcrypt/cipher/hmac-tests.c
6126 * lib/libgcrypt/cipher/md.c
6127 * lib/libgcrypt/cipher/md4.c
6128 * lib/libgcrypt/cipher/md5.c
6129 * lib/libgcrypt/cipher/primegen.c
6130 * lib/libgcrypt/cipher/pubkey.c
6131 * lib/libgcrypt/cipher/rfc2268.c
6132 * lib/libgcrypt/cipher/rijndael-tables.h
6133 * lib/libgcrypt/cipher/rijndael.c
6134 * lib/libgcrypt/cipher/rmd.h
6135 * lib/libgcrypt/cipher/rmd160.c
6136 * lib/libgcrypt/cipher/rsa.c
6137 * lib/libgcrypt/cipher/seed.c
6138 * lib/libgcrypt/cipher/serpent.c
6139 * lib/libgcrypt/cipher/sha1.c
6140 * lib/libgcrypt/cipher/sha256.c
6141 * lib/libgcrypt/cipher/sha512.c
6142 * lib/libgcrypt/cipher/tiger.c
6143 * lib/libgcrypt/cipher/twofish.c
6144 * lib/libgcrypt/cipher/whirlpool.c
6146 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6148 Fix build for systems without error().
6150 * gnulib/error.c: New file (imported from Gnulib).
6151 * gnulib/error.h: Likewise.
6152 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
6153 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
6154 (this variable is now used by error()).
6156 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
6158 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
6159 instead of relying that char is signed.
6161 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6163 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
6164 blocksize different from specified.
6165 (grub_pxefs_read): Likewise.
6167 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
6169 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
6171 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
6172 (grub_ata_readwrite): Likewise. Update 2 format strings.
6173 (grub_atapi_read): Likewise.
6175 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
6176 * conf/i386.rmk (pkglib_MODULES): ... to here ...
6177 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
6178 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
6179 (ata_mod_LDFLAGS): Move from here ...
6180 * conf/i386.rmk: ... to here ...
6181 * conf/x86_64-efi.rmk: ... and here.
6182 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
6183 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
6185 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6187 Relicense multiboot.h, with RMS' blessing.
6189 * include/multiboot.h: Change to X11 license.
6191 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
6193 Support --version in grub-mkisofs.
6195 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
6196 (OPTION_VERSION): New macro.
6197 (ld_options): Recognize --version.
6198 (usage): Move `program_name' from here ...
6199 (program_name): ... to here. Add `static' qualifier.
6200 (main): Recognize `OPTION_VERSION'.
6202 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
6204 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
6205 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
6207 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
6209 Fix help2man generation for mkisofs.
6211 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
6212 (usage): Send output to stdout (rather than stderr).
6214 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
6216 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
6217 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
6218 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
6219 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
6220 (bin_SCRIPTS): Add `grub-mkfloppy'.
6221 (grub_mkfloppy_SOURCES): New variable.
6223 * util/grub-mkrescue.in: New file.
6224 * util/i386/pc/grub-mkfloppy.in: New file.
6226 * util/i386/coreboot/grub-mkrescue.in: Remove.
6227 * util/i386/pc/grub-mkrescue.in: Remove.
6229 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
6231 * include/grub/multiboot.h (struct grub_multiboot_header): Move
6233 * include/multiboot.h (struct multiboot_header): ... to here. Update
6235 * include/grub/multiboot.h (struct grub_multiboot_info): Move
6237 * include/multiboot.h (struct multiboot_info): ... to here. Update
6239 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
6241 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
6243 * include/grub/multiboot.h (struct grub_mod_list): Move
6245 * include/multiboot.h (struct multiboot_mod_list): ... to here.
6248 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
6250 * include/multiboot2.h (multiboot_word): Rename from this ...
6251 (multiboot2_word): ... to this. Update all users.
6252 (multiboot_header): Rename from this ...
6253 (multiboot2_header): ... to this. Update all users.
6254 (multiboot_tag_header): Rename from this ...
6255 (multiboot2_tag_header): ... to this. Update all users.
6256 (multiboot_tag_start): Rename from this ...
6257 (multiboot2_tag_start): ... to this. Update all users.
6258 (multiboot_tag_name): Rename from this ...
6259 (multiboot2_tag_name): ... to this. Update all users.
6260 (multiboot_tag_module): Rename from this ...
6261 (multiboot2_tag_module): ... to this. Update all users.
6262 (multiboot_tag_memory): Rename from this ...
6263 (multiboot2_tag_memory): ... to this. Update all users.
6264 (multiboot_tag_unused): Rename from this ...
6265 (multiboot2_tag_unused): ... to this. Update all users.
6266 (multiboot_tag_end): Rename from this ...
6267 (multiboot2_tag_end): ... to this. Update all users.
6269 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
6271 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
6272 this platform we should support Multiboot1 first.
6274 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
6275 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
6276 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
6278 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
6280 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
6281 of write calls (converting them to fwrite() if they aren't already).
6282 (get_torito_desc): Likewise.
6283 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
6285 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
6287 * util/i386/pc/grub-install.in: Move from here ...
6288 * util/grub-install.in: ... to here. Update all users.
6290 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
6292 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
6294 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
6296 Support for El Torito without floppy emulation.
6298 * util/mkisofs/eltorito.c: Include `<errno.h>'.
6299 (init_boot_catalog): Improve error handling.
6300 (get_torito_desc): Don't use floppy emulation unless requested by
6301 user. Patch boot information table when requested via
6303 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
6304 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
6305 (use_boot_info_table): New variables.
6306 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
6307 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
6308 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
6309 `--eltorito-emul-floppy'.
6310 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
6311 and `OPTION_ELTORITO_EMUL_FLOPPY'.
6312 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
6313 (use_boot_info_table, get_731): New prototypes.
6314 * util/mkisofs/write.c (get_731): New function.
6316 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
6318 Fix the generation of the man page.
6320 * util/pc/i386/grub-install.in: Source
6321 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
6323 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
6325 Large file support for grub-mkisofs.
6327 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
6328 * util/mkisofs/mkisofs.c (next_extent, last_extent)
6329 (session_start): Upgrade type to `uint64_t'. Update all users.
6330 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
6331 (struct directory_entry): Upgrade type of `starting_block' and
6332 `size' to `uint64_t'. Update all users.
6333 (struct deferred): Remove unused structure.
6334 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
6336 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
6337 file is larger than `UINT32_MAX'.
6338 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
6339 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
6341 (struct deferred_write): Upgrade type of `extent' and `size' to
6342 `uint64_t'. Update all users.
6343 (last_extent_written): Upgrade type to `uint64_t'. Update all
6345 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
6346 Update all users. Upgrade type of `remain' to `int64_t' and
6347 `use' to `size_t'. Use error() to handle fread() errors.
6348 (write_files): Rely on write_one_file() rather than calling
6351 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
6353 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
6355 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6357 * util/mkisofs/fnmatch.c: Remove.
6358 * util/mkisofs/getopt1.c: Likewise.
6359 * util/mkisofs/getopt.c: Likewise.
6360 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
6361 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
6362 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
6363 `gnulib/getopt1.c' and `gnulib/getopt.c'.
6364 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
6366 * configure.ac: Detect `mingw32msvc' host_os.
6367 Check for lstat(), getuid() and getgid().
6369 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
6370 instances of `u_char' with `uint8_t'.
6372 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
6373 [!HAVE_GETUID] (getuid): New function (stub).
6374 [!HAVE_GETGID] (getgid): Likewise.
6375 [!HAVE_LSTAT] (lstat): Likewise.
6376 [!S_IROTH] (S_IROTH): New macro (dummy).
6377 [!S_IRGRP] (S_IRGRP): Likewise.
6379 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6381 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
6382 conditional expression).
6384 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6388 * gnulib/fnmatch.c: New file.
6389 * gnulib/fnmatch.h: Likewise.
6390 * gnulib/fnmatch_loop.c: Likewise.
6391 * gnulib/getopt.c: Likewise.
6392 * gnulib/getopt.h: Likewise.
6393 * gnulib/getopt1.c: Likewise.
6394 * gnulib/getopt_int.h: Likewise.
6395 * gnulib/gettext.h: Likewise.
6397 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6399 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
6400 * normal/handler.c (read_handler_list): Likewise.
6402 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6406 * kern/command.c (grub_register_command_prio): Use
6407 grub_zalloc() instead of explicitly zeroing data.
6408 * kern/list.c: Include `<grub/mm.h>'.
6409 (grub_named_list_find): Replace `0' with `NULL'.
6410 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
6411 (fs_module_list): Change type to `grub_named_list_t'. Update all
6413 * normal/dyncmd.c (read_command_list): Add space between function
6414 call and parenthesis.
6415 * normal/handler.c (read_handler_list): Likewise.
6417 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6419 * normal/auth.c (punishment_delay): Moved from here ...
6420 (grub_auth_strcmp): ... to here (inside function).
6422 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6424 * include/grub/list.h (struct grub_named_list): Remove `const'
6425 qualifier from `name'.
6426 (struct grub_prio_list): Likewise.
6428 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6430 * normal/auth.c: Include `<grub/time.h>'.
6431 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
6433 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6435 * normal/auth.c (punishment_delay): New variable.
6436 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
6437 (grub_auth_check_authentication): Punish failed login attempts with
6438 an incremental (2^N) delay.
6440 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6442 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
6443 path with $(srcdir).
6445 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6447 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
6449 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6451 * util/i386/coreboot/grub-mkrescue.in: New file.
6452 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
6455 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
6456 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
6457 * configure.ac: Add header and function checks to satisfy grub-mkisofs
6459 * util/mkisofs/defaults.h: New file.
6460 * util/mkisofs/eltorito.c: Likewise.
6461 * util/mkisofs/exclude.h: Likewise.
6462 * util/mkisofs/fnmatch.c: Likewise.
6463 * util/mkisofs/getopt.c: Likewise.
6464 * util/mkisofs/getopt1.c: Likewise.
6465 * util/mkisofs/hash.c: Likewise.
6466 * util/mkisofs/include/fctldefs.h: Likewise.
6467 * util/mkisofs/include/mconfig.h: Likewise.
6468 * util/mkisofs/include/prototyp.h: Likewise.
6469 * util/mkisofs/include/statdefs.h: Likewise.
6470 * util/mkisofs/iso9660.h: Likewise.
6471 * util/mkisofs/joliet.c: Likewise.
6472 * util/mkisofs/match.c: Likewise.
6473 * util/mkisofs/match.h: Likewise.
6474 * util/mkisofs/mkisofs.c: Likewise.
6475 * util/mkisofs/mkisofs.h: Likewise.
6476 * util/mkisofs/multi.c: Likewise.
6477 * util/mkisofs/name.c: Likewise.
6478 * util/mkisofs/rock.c: Likewise.
6479 * util/mkisofs/tree.c: Likewise.
6480 * util/mkisofs/write.c: Likewise.
6482 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6484 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
6487 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6489 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
6490 `grub-mkimage' (and use $0 when possible).
6492 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6494 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
6495 error message for excessively large memory map.
6497 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6499 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
6502 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6504 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
6505 message for coreboot users.
6507 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
6509 Fix build with GNU gold.
6511 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
6512 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
6513 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
6515 * aclocal.m4: Likewise.
6517 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
6519 * configure.ac (AC_PREREQ): Bump to 2.59d.
6520 * INSTALL: Make it more clear when Autoconf and Ruby are
6521 needed and when to run `./autogen.sh'.
6523 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
6525 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
6528 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
6530 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
6532 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
6534 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
6535 giving it to GNU Mach.
6537 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
6539 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
6540 GNU partition number to get internal GRUB partition number.
6542 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
6544 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
6545 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
6547 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
6549 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
6550 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
6553 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
6555 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
6557 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
6561 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
6562 `-isystem=$(srcdir)/include'.
6564 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
6566 * util/i386/pc/grub-install.in: Remove hint that device.map should be
6567 checked (grub-install doesn't currently rely on it).
6569 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
6573 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
6574 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
6575 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
6576 * conf/i386-ieee1275.rmk: Likewise.
6577 * conf/i386-pc.rmk: Likewise.
6578 * conf/powerpc-ieee1275.rmk: Likewise.
6579 * conf/sparc64-ieee1275.rmk: Likewise.
6580 * conf/x86_64-efi.rmk: Likewise.
6582 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
6584 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
6586 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
6588 * include/grub/misc.h: Stop checking for APPLE_CC.
6590 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
6592 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
6593 doesn't cause an infinite call loop.
6595 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
6597 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
6600 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6602 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
6604 * Makefile.in: Likewise.
6606 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6608 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
6610 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6612 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
6614 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6616 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
6618 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6620 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
6622 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
6624 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6626 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
6627 in $(MAKEINFO) invocation. This makes it clear in output that
6628 errors are being ignored.
6630 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6632 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
6634 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
6635 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
6636 * conf/i386-ieee1275.rmk: Likewise.
6637 * conf/i386-pc.rmk: Likewise.
6638 * conf/powerpc-ieee1275.rmk: Likewise.
6639 * conf/sparc64-ieee1275.rmk: Likewise.
6640 * conf/x86_64-efi.rmk: Likewise.
6642 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
6644 * util/grub-editenv.c (main): If only a command is given, use
6645 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
6646 (usage): FILENAME is now optional and has a default.
6648 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
6650 Improve grub-mkconfig performance when there are several menu
6651 entries on a single filesystem.
6653 * util/grub.d/10_linux.in (linux_entry): Cache the output of
6654 prepare_grub_to_access_device.
6655 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6656 * util/grub.d/30_os-prober.in: Likewise.
6658 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6660 * util/grub.d/10_freebsd.in: Remove.
6661 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
6662 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
6664 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6666 * docs/grub.cfg: Fix example usage of *BSD loaders.
6668 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6670 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
6671 grub_util_error() call.
6673 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6675 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
6676 `reserved_first_sector' member.
6677 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
6678 `reserved_first_sector' to 1.
6679 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
6680 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
6681 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
6682 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
6683 filesystems which begin at first sector.
6684 (options): New option --skip-fs-probe.
6685 (main): Handle --skip-fs-probe and pass it to setup().
6687 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6689 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
6690 (memset): Fix function prototype.
6692 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6693 2009-10-25 Vasily Averin <vvs@parallels.com>
6695 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
6696 `dirent.direntlen == 0'.
6698 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6700 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
6702 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
6704 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6706 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
6707 `__trampoline_setup' and `__ucmpdi2'.
6708 * include/grub/powerpc/libgcc.h: Only export symbols for functions
6709 that libgcc provides.
6711 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6713 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
6714 * include/grub/sparc64/libgcc.h (memset): Likewise.
6715 * include/grub/misc.h (memset, memcmp): New function prototypes.
6717 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6719 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
6721 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
6723 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6725 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
6726 * docs/grub.cfg: Compensate for recent change in multiboot
6727 loader (since 2009-08-14 it won't pass filename to payload).
6728 * util/grub.d/10_hurd.in: Likewise.
6730 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
6732 * config.guess: Update to latest version from config git
6734 * config.sub: Likewise.
6736 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
6738 Fix build on sparc64.
6740 * configure.ac: Perform checks for libgcc symbols before
6741 adding `-nostdlib' to LDFLAGS.
6743 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6745 Let user specify OpenBSD root device.
6747 * loader/i386/bsd.c (openbsd_root): New variable.
6748 (openbsd_opts): New option 'root'.
6749 (OPENBSD_ROOT_ARG): New macro.
6750 (grub_openbsd_boot): Use 'openbsd_root'.
6751 (grub_cmd_openbsd): Fill 'openbsd_root'.
6753 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
6755 * NEWS: Misc adjustments.
6757 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6759 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
6761 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
6763 * configure.ac: Bump version to 1.97.
6765 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
6767 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
6768 -mno-3dnow on x86 architectures. Some toolchains enable these
6769 features by default, but they rely on registers that aren't enabled
6770 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
6772 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
6774 Make entry text a bit more readable.
6776 * util/grub.d/10_linux.in: Add `with' before `Linux'.
6778 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
6780 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
6782 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
6784 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
6787 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
6789 * configure.ac: Add missing dollar.
6791 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
6793 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
6795 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
6796 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
6798 * include/grub/sparc64/libgcc.h: Likewise. Use
6799 preprocessor conditionals.
6801 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
6803 * conf/common.rmk (grub-dumpbios): Remove rule.
6804 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
6805 * util/grub-dumpbios.in: Remove file.
6807 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
6809 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
6810 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
6812 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
6813 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
6816 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
6817 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
6818 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
6819 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
6822 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
6824 * term/tparm.c: Switch to GPLv3.
6826 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
6828 * include/grub/i386/cpuid.h: Add header protection.
6830 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
6832 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
6834 * include/grub/i386/cpuid.h: New file.
6835 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
6836 (has_longmode): Rename to ...
6837 (grub_cpuid_has_longmode): ... this. Update all users. Remove
6839 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
6840 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
6841 on a CPU that doesn't implement AMD64 instruction set.
6843 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
6845 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
6846 that version.texi is rebuilt on version number changes.
6848 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
6850 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
6853 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
6855 * util/i386/pc/grub-install.in: Source
6856 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
6857 that the --grub-probe option will work.
6858 * util/sparc64/ieee1275/grub-install.in: Likewise.
6860 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
6862 * configure.ac: Bump version to 1.97~beta4.
6864 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
6866 Resync grub-mkdevicemap in x86_64-efi.
6868 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
6869 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
6872 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
6874 * util/grub-editenv.c (create_envblk_file): Write new block with a
6875 .new suffix and then rename it into place, to ensure atomic
6878 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
6880 Do not automatically install headers.
6882 * Makefile.in (include_DATA): Remove. Update all users.
6884 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
6886 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
6887 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
6889 * util/osdetect.lua: Remove.
6890 * script/lua/lauxlib.c: Likewise.
6891 * script/lua/ldebug.c: Likewise.
6892 * script/lua/grub_main.c: Likewise.
6893 * script/lua/lauxlib.h: Likewise.
6894 * script/lua/ldebug.h: Likewise.
6895 * script/lua/ltablib.c: Likewise.
6896 * script/lua/liolib.c: Likewise.
6897 * script/lua/lstrlib.c: Likewise.
6898 * script/lua/lualib.h: Likewise.
6899 * script/lua/ldo.c: Likewise.
6900 * script/lua/ldump.c: Likewise.
6901 * script/lua/ldo.h: Likewise.
6902 * script/lua/loslib.c: Likewise.
6903 * script/lua/lundump.c: Likewise.
6904 * script/lua/grub_lib.c: Likewise.
6905 * script/lua/ldblib.c: Likewise.
6906 * script/lua/lundump.h: Likewise.
6907 * script/lua/lmem.c: Likewise.
6908 * script/lua/grub_lib.h: Likewise.
6909 * script/lua/lmathlib.c: Likewise.
6910 * script/lua/lstate.c: Likewise.
6911 * script/lua/ltm.c: Likewise.
6912 * script/lua/lvm.c: Likewise.
6913 * script/lua/lmem.h: Likewise.
6914 * script/lua/lstate.h: Likewise.
6915 * script/lua/ltm.h: Likewise.
6916 * script/lua/ltable.c: Likewise.
6917 * script/lua/lvm.h: Likewise.
6918 * script/lua/llex.c: Likewise.
6919 * script/lua/lgc.c: Likewise.
6920 * script/lua/grub_lua.h: Likewise.
6921 * script/lua/loadlib.c: Likewise.
6922 * script/lua/lfunc.c: Likewise.
6923 * script/lua/lopcodes.c: Likewise.
6924 * script/lua/lparser.c: Likewise.
6925 * script/lua/ltable.h: Likewise.
6926 * script/lua/llex.h: Likewise.
6927 * script/lua/lgc.h: Likewise.
6928 * script/lua/lfunc.h: Likewise.
6929 * script/lua/lbaselib.c: Likewise.
6930 * script/lua/lopcodes.h: Likewise.
6931 * script/lua/lparser.h: Likewise.
6932 * script/lua/lzio.c: Likewise.
6933 * script/lua/linit.c: Likewise.
6934 * script/lua/lobject.c: Likewise.
6935 * script/lua/llimits.h: Likewise.
6936 * script/lua/lstring.c: Likewise.
6937 * script/lua/lzio.h: Likewise.
6938 * script/lua/lapi.c: Likewise.
6939 * script/lua/lcode.c: Likewise.
6940 * script/lua/lua.h: Likewise.
6941 * script/lua/lobject.h: Likewise.
6942 * script/lua/lstring.h: Likewise.
6943 * script/lua/lapi.h: Likewise.
6944 * script/lua/lcode.h: Likewise.
6945 * script/lua/luaconf.h: Likewise.
6947 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
6949 * docs/grub.texi (Command-line and menu entry commands): Document
6950 date and echo commands.
6952 2009-09-24 Pavel Roskin <proski@gnu.org>
6954 * include/grub/kernel.h (struct grub_module_header): Remove
6955 `grub_module_header_types'. Make `type' unsigned. Make `size'
6956 32-bit on all platforms.
6957 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
6958 8-bit field. Use grub_host_to_target32() for `size'.
6959 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
6960 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
6961 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
6963 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
6965 Fix "lost keypress" bug in at_keyboard.
6967 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
6968 Checks for readyness of input buffer (without flushing it).
6969 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
6970 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
6972 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
6974 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
6975 size check within GRUB_MACHINE_PCBIOS section.
6977 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
6979 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
6981 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
6982 KEYBOARD_ISREADY check.
6983 (grub_at_keyboard_checkkey): Rename to ...
6984 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
6985 Remove gratuitous cast.
6987 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
6989 * configure.ac: Call AC_PROG_MKDIR_P.
6990 * Makefile.in (docs/stamp-vti): Create docs directory. Create
6991 version.texi in $(builddir) rather than $(srcdir).
6992 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
6993 to makeinfo's @include search path.
6995 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
6997 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
6999 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
7001 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
7004 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
7006 Build info documentation. Some code borrowed from Automake.
7008 * configure.ac: Check for makeinfo.
7009 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
7010 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
7012 (MOSTLYCLEANFILES): Add vti.tmp.
7013 (docs/version.texi, docs/stamp-vti): Update automatically.
7014 (docs/grub.info): Build info documentation. Use --force and ignore
7016 (all-local): Add $(INFOS).
7017 (install-local): Install info files.
7018 (uninstall): Uninstall info files.
7019 * docs/version.texi: Remove from revision control. This file is
7020 automatically generated on build now.
7021 * gendistlist.sh: Add `*.info'.
7023 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
7025 * kern/term.c: Fix indentation.
7027 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
7029 * util/hostdisk.c: Fix a comment.
7031 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
7033 Fix regression introduced in r2539.
7035 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
7038 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
7040 * util/grub.d/30_os-prober.in: Don't throw away stderr from
7041 os-prober. Under normal operation, it does not print anything to
7042 stderr; if it does, we need to debug it, and throwing away stderr
7043 makes that excessively difficult.
7045 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
7047 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
7049 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
7051 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
7052 AC_LANG_PROGRAM from autoconf.
7053 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
7054 prototypes (fixes warning).
7056 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
7057 `--disable-werror' was used.
7059 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
7061 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
7062 uninitialized `lastaddr'.
7064 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7066 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
7068 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
7070 * commands/test.c (get_fileinfo): Return immediately if
7071 grub_fs_probe fails.
7073 2009-09-14 José MartÃnez <xosemp@gmail.com>
7075 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
7077 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
7079 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
7082 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
7084 * configure.ac: Remove --enable-grub-pe2elf. Only build
7085 grub-pe2elf when needed by the build system itself.
7086 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
7088 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
7090 * configure.ac: Bump version to 1.97~beta3.
7091 * docs/version.texi: Likewise.
7093 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
7095 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
7096 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
7098 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
7099 (grub_linux_setup_video): ... to here (with some adjustments).
7101 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
7103 Fix memory corruption issue (spotted by Colin Watson).
7105 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
7106 causing returned size to be stored in an incorrect memory location.
7107 Fix use of uninitialized value when storing the returned size.
7109 2009-09-12 Yves Blusseau <blusseau@zetam.org>
7111 Change clean rules to properly remove files
7113 * genmk.rb: add new clean rules
7114 * Makefile.in (clean): add the new targets
7115 (mostlyclean): likewise
7117 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
7119 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
7121 * fs/ntfs.c (init_file): Understand 64-bit sizes for
7124 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
7126 * configure.ac: Don't look for help2man when cross-compiling. Fixes
7129 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
7131 * util/grub-mkconfig.in: Make the created config mode 400 and
7132 print a warning if it fails.
7134 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
7136 * util/grub.d/40_custom.in: Ask user to type custom entries below
7137 comment, rather than below 'exec tail' line.
7139 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
7141 * util/grub.d/40_custom.in: Make sure that the explanatory text is
7142 visible in grub.cfg.
7144 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
7146 * util/grub.d/40_custom.in: Make it a little clearer how to use this
7149 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
7151 * docs/grub.cfg: Add an example menu entry for memtest86+.
7153 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
7155 * config.guess: Update to latest version from config git.
7156 * config.sub: Likewise.
7158 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
7160 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
7161 unknown-command case. Fixes bug #27320.
7163 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
7165 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
7166 `help' if the command exists.
7168 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
7170 * INSTALL: Require GCC 4.1.3 or later.
7172 2009-09-06 Yves Blusseau <blusseau@zetam.org>
7174 * Makefile.in (RMKFILES): add i386-qemu.rmk
7175 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
7176 $(srcdir)/stamp-h.in
7178 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
7180 * util/grub-probe.c (probe): Comment out buggy codepath, which
7181 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
7182 should be re-enabled after 1.97.
7184 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
7186 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
7189 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
7191 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
7192 unnecessary calls to grub_error.
7194 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
7196 * NEWS: Mention `keystatus' and Unicode fonts.
7198 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
7200 * configure.ac: Bump version to 1.97~beta2.
7201 * docs/version.texi: Likewise.
7203 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
7205 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
7206 containing unwind information in some cases where it previously did
7207 not. Use -fno-dwarf2-cfi-asm if available to restore the old
7208 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
7211 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
7213 Embedding loadenv module into grub-emu
7215 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
7217 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
7218 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
7219 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
7220 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
7221 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
7222 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
7224 2009-09-03 Magnus Granberg <zorry@ume.nu>
7226 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
7227 include -fPIE in the default specs.
7228 * configure.ac: Check if pie_possible is yes and add -fno-PIE
7231 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
7233 * INSTALL: Note that GNU Bison 2.3 or later is required.
7235 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
7237 * kern/i386/pc/startup.S: Fix typo.
7239 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7241 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
7244 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
7246 * docs/grub.texi (Naming convention): Describe one-based partition
7248 (Device syntax): Likewise.
7249 (File name syntax): Likewise.
7250 (Block list syntax): Likewise.
7251 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
7253 (File name syntax): Likewise.
7254 (Command-line and menu entry commands): Document acpi, blocklist,
7255 crc, export, insmod, keystatus, ls, set, and unset commands.
7257 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
7259 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
7260 to avoid implying that only one of --shift, --ctrl, or --alt may be
7263 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
7265 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
7266 rather than comparing against S_IFREG, which will almost never work.
7268 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
7270 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
7271 (write_blocklists): Likewise.
7273 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
7275 * script/lua/grub_lua.h (fputs): Supply a format string as the first
7276 argument to grub_printf.
7278 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
7280 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
7283 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7285 * kern/file.c (grub_file_read): Spelling fix
7287 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7289 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
7290 loading of headers in some cases.
7292 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
7294 * configure.ac: Bump version to 1.97~beta1.
7295 * docs/version.texi: Likewise.
7297 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7299 * include/grub/i386/xnu.h: Add license header.
7300 include grub/err.h explicitly.
7302 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
7304 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
7305 to `ufs' in the vfs.root.mountfrom kernel parameter.
7307 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
7309 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
7311 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
7312 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
7314 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
7317 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7319 * kern/file.c (grub_file_read): Check offset.
7320 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
7321 * fs/jfs.c (grub_jfs_read_file): Likewise.
7322 * fs/ntfs.c (grub_ntfs_read): Likewise.
7323 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
7324 * fs/minix.c (grub_minix_read_file): Correct offset check.
7325 * fs/ufs.c (grub_ufs_read_file): Likewise.
7327 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
7329 * term/i386/pc/console.c (bios_data_area): Cast
7330 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
7332 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7334 1-bit optimised blitters.
7336 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
7338 (grub_video_fbblit_replace_24bit_1bit): Likewise.
7339 (grub_video_fbblit_replace_16bit_1bit): Likewise.
7340 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7341 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7342 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
7343 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
7344 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
7346 (grub_video_fbblit_replace_24bit_1bit): Likewise.
7347 (grub_video_fbblit_replace_16bit_1bit): Likewise.
7348 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7349 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7350 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
7351 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
7352 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
7354 * video/video.c (grub_video_get_blit_format): Return
7355 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
7357 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
7359 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
7360 the first argument to grub_printf.
7362 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
7363 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
7365 Add `getkeystatus' terminal method. Add a new `keystatus' command
7368 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
7369 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
7370 modifier key bitmasks.
7371 (struct grub_term_input): Add `getkeystatus' member.
7372 (grub_getkeystatus): Add prototype.
7373 * kern/term.c (grub_getkeystatus): New function.
7375 * include/grub/i386/pc/memory.h
7376 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
7377 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
7379 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
7380 (grub_console_term_input): Set `getkeystatus' member.
7381 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
7383 (grub_usb_keyboard_getreport): Likewise.
7384 (grub_usb_keyboard_checkkey): Likewise.
7385 (grub_usb_keyboard_getkeystatus): New function.
7386 (grub_usb_keyboard_term): Set `getkeystatus' member.
7388 * commands/keystatus.c: New file.
7389 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
7390 (keystatus_mod_SOURCES): New variable.
7391 (keystatus_mod_CFLAGS): Likewise.
7392 (keystatus_mod_LDFLAGS): Likewise.
7393 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
7394 commands/keystatus.c.
7395 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7396 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7397 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7399 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7400 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7402 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7404 Split befs.mod and afs.mod into *_be.mod and *.mod
7406 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
7407 (grub_fstest_SOURCES): Likewise.
7408 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
7409 (afs_be_mod_SOURCES): New variable.
7410 (afs_be_mod_CFLAGS): Likewise.
7411 (afs_be_mod_LDFLAGS): Likewise.
7412 (befs_be_mod_SOURCES): Likewise.
7413 (befs_be_mod_CFLAGS): Likewise.
7414 (befs_be_mod_LDFLAGS): Likewise.
7415 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
7416 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7417 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7418 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
7419 (grub_emu_SOURCES): Likewise.
7420 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7421 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7422 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7423 * fs/afs_be.c: New file.
7424 * fs/befs_be.c: New file.
7425 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
7426 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
7427 (U16): Replaced with ...
7428 (grub_afs_to_cpu16): ...this. All users updated.
7429 (U32): Replaced with ...
7430 (grub_afs_to_cpu32): ...this. All users updated.
7431 (U64): Replaced with ...
7432 (grub_afs_to_cpu64): ...this. All users updated.
7433 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
7434 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
7435 (grub_afs_validate_sblock): Check only one endianness.
7436 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
7437 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
7438 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
7439 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
7440 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
7441 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
7442 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
7443 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
7445 2009-08-26 Bean <bean123ch@gmail.com>
7447 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
7449 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
7450 (grub_xfs_inode_block): Change return type to grub_uint64_t.
7451 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
7453 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7455 NetBSD memory map support.
7457 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
7458 (grub_netbsd_btinfo_mmap_header): New structure.
7459 (grub_netbsd_btinfo_mmap_entry): Likewise.
7460 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
7462 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7464 Enable bsd.mod on coreboot.
7466 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
7467 (bsd_mod_SOURCES): New variable.
7468 (bsd_mod_CFLAGS): Likewise.
7469 (bsd_mod_LDFLAGS): Likewise.
7470 (bsd_mod_ASFLAGS): Likewise.
7471 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
7472 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
7474 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7476 Cleanup NetBSD root support.
7478 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
7479 grub_bsd_get_device.
7482 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
7484 * util/grub.d/00_header.in: Move check for the video backend of
7485 gfxterm from here ...
7486 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
7487 a suitable video backend.
7489 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7491 Fix breakage in grub-setup.
7493 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
7494 "msdos_partition_map".
7496 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7498 Fix breakage in normal/auth.c.
7500 * normal/auth.c (grub_iswordseparator): New function.
7502 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7504 Authentication support.
7506 * commands/password.c: New file.
7507 * conf/common.rmk (pkglib_MODULES): Add password.mod.
7508 (password_mod_SOURCES): New variable.
7509 (password_mod_CFLAGS): Likewise.
7510 (password_mod_LDFLAGS): Likewise.
7511 (normal_mod_SOURCES): Add normal/auth.c.
7512 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
7514 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7515 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7516 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7517 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7518 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7519 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7520 * include/grub/auth.h: New file.
7521 * include/grub/err.h (grub_err_t): New enum value
7522 GRUB_ERR_ACCESS_DENIED.
7523 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
7525 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
7526 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
7528 * normal/auth.c: New file.
7529 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
7530 (grub_cmdline_run): Don't allow to go to command line without
7532 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
7533 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
7534 menuentry without superuser rights.
7535 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
7536 user isn't a superuser.
7538 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7540 Save space by inlining misc.c functions.
7542 * kern/misc.c (grub_iswordseparator): Made static.
7543 * kern/misc.c (grub_strcat): Moved from here ...
7544 * include/grub/misc.h (grub_strcat): ... here. Inlined.
7545 * kern/misc.c (grub_strncat): Moved from here ...
7546 * include/grub/misc.h (grub_strncat): ... here. Inlined.
7547 * kern/misc.c (grub_strcasecmp): Moved from here ...
7548 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
7549 * kern/misc.c (grub_strncasecmp): Moved from here ...
7550 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
7551 * kern/misc.c (grub_isalpha): Moved from here ...
7552 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
7553 * kern/misc.c (grub_isdigit): Moved from here ...
7554 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
7555 * kern/misc.c (grub_isgraph): Moved from here ...
7556 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
7557 * kern/misc.c (grub_tolower): Moved from here ...
7558 * include/grub/misc.h (grub_tolower): ... here. Inlined.
7560 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7562 * script/sh/function.c (grub_script_function_find): Cut error message
7563 not to flood terminal.
7564 * script/sh/lexer.c (grub_script_yylex): Remove command line length
7566 * script/sh/script.c (grub_script_arg_add): Duplicate string.
7568 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
7570 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
7571 `report' grub_uint8_t *.
7572 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
7573 Use a 50-millisecond timeout rather than just repeating
7574 grub_usb_keyboard_getreport 50 times.
7575 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
7577 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7579 Rename *_partition_map to part_*
7581 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
7582 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
7583 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
7584 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
7586 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
7588 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
7589 * util/grub-probe.c (probe_partmap): Don't transform partition name
7592 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7594 Fix OpenBSD and NetBSD support.
7596 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
7597 memory address conflict.
7598 (OPENBSD_MMAP_ACPI): New definition.
7599 (OPENBSD_MMAP_NVS): Likewise.
7600 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
7601 and OPENBSD_MMAP_NVS.
7602 Add memory map terminator
7603 Explicit cast when calling grub_unix_real_boot.
7604 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
7606 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7608 Let user specify NetBSD root device.
7610 * loader/i386/bsd.c (netbsd_root): New variable.
7611 (netbsd_opts): New option 'root'.
7612 (NETBSD_ROOT_ARG): New macro.
7613 (grub_netbsd_boot): Use 'netbsd_root'.
7614 (grub_bsd_unload): Free 'netbsd_root'.
7615 (grub_cmd_netbsd): Fill 'netbsd_root'.
7617 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7619 Support for 64-bit NetBSD.
7621 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
7622 point when booting non-FreeBSD.
7624 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7626 Support --no-smp and --no-acpi for NetBSD.
7628 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
7629 (NETBSD_AB_NOACPI): Likewise.
7630 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
7631 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
7633 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7635 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
7637 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
7638 errors. Call grub_error when needed.
7640 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7642 * commands/search.c (search_fs): Try searching without autoload first.
7643 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
7644 filesystem module explicitly for faster booting.
7646 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
7648 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
7650 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
7652 * util/grub.d/30_os-prober.in: Disable os-prober if
7653 `GRUB_DISABLE_OS_PROBER' was set to true.
7655 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
7657 * partmap/pc.c: Rename to ...
7658 * partmap/msdos.c: ... this. Update all users.
7659 (grub_pc_partition_map): Rename to ...
7660 (grub_msdos_partition_map): ... this. Update all users.
7662 * parttool/pcpart.c: Rename to ...
7663 * parttool/msdospart.c: ... this. Update all users.
7665 * include/grub/pc_partition.h: Rename to ...
7666 * include/grub/msdos_partition.h: ... this. Update all users.
7667 (grub_pc_partition_bsd_entry): Rename to ...
7668 (grub_msdos_partition_bsd_entry): ... this. Update all users.
7669 (grub_pc_partition_disk_label): Rename to ...
7670 (grub_msdos_partition_disk_label): ... this. Update all users.
7671 (grub_pc_partition_entry): Rename to ...
7672 (grub_msdos_partition_entry): ... this. Update all users.
7673 (grub_pc_partition_mbr): Rename to ...
7674 (grub_msdos_partition_mbr): ... this. Update all users.
7675 (grub_pc_partition): Rename to ...
7676 (grub_msdos_partition): ... this. Update all users.
7677 (grub_pc_partition_is_empty): Rename to ...
7678 (grub_msdos_partition_is_empty): ... this. Update all users.
7679 (grub_pc_partition_is_extended): Rename to ...
7680 (grub_msdos_partition_is_extended): ... this. Update all users.
7681 (grub_pc_partition_is_bsd): Rename to ...
7682 (grub_msdos_partition_is_bsd): ... this. Update all users.
7684 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
7685 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
7686 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
7687 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
7688 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
7689 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
7690 (gpt_mod_LDFLAGS): Rename to ...
7691 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
7692 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
7693 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
7694 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
7695 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
7696 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
7697 (part_gpt_mod_LDFLAGS): ... this.
7698 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
7699 `pcpart.mod' to `msdospart.mod'.
7700 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
7702 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
7703 (msdospart_mod_LDFLAGS): ... this.
7705 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7707 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
7708 (openbsd_opts): Likewise.
7709 (netbsd_opts): Likewise.
7710 (freebsd_flags): Added 0 terminator.
7711 (openbsd_flags): Likewise.
7712 (netbsd_flags): Likewise.
7713 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
7714 (grub_cmd_freebsd): Transformed into extended command.
7715 (grub_cmd_openbsd): Likewise.
7716 (grub_cmd_netbsd): Likewise.
7717 (cmd_freebsd): Changed type to grub_extcmd_t.
7718 (cmd_openbsd): Likewise.
7719 (cmd_netbsd): Likewise.
7720 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
7721 grub_cmd_openbsd as extended commands.
7722 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
7723 cmd_netbsd and cmd_openbsd
7725 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
7727 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
7729 2009-08-21 Pavel Roskin <proski@gnu.org>
7731 * Makefile.in (install-local): When checking if a file is in the
7732 build directory, use "test -e" to detect symlinks.
7734 * Makefile.in (install-local): Remove all files in
7735 $(DESTDIR)$(pkglibdir) before installing new files there.
7737 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
7739 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
7742 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
7744 * util/grub-mkconfig.in: Don't use gfxterm by default if not
7745 explicitly specified by the user.
7747 2009-08-18 Pavel Roskin <proski@gnu.org>
7749 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
7750 grub_uint8_t pointer for data.
7751 * include/grub/fbutil.h (struct grub_video_fbblit_info):
7753 * video/fb/fbutil.c: Remove unnecessary casts.
7755 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
7759 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
7760 (grub_vbe_set_video_mode): Save active mode info
7761 only after setting the mode.
7762 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
7765 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
7767 Rename variables for clarity.
7769 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
7770 (active_vbe_mode_info): ... this. All users updated.
7771 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
7773 (initial_mode): Rename to ...
7774 (initial_vbe_mode): ... this. All users updated.
7775 (mode_in_use): Rename to ..
7776 (vbe_mode_in_use): ... this. All users updated.
7777 (mode_list): Rename to ..
7778 (vbe_mode_list): ... this. All users updated.
7779 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
7780 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
7781 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
7782 'mode_list_size' to 'vbe_mode_list_size'.
7783 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
7784 'best_mode_info' to 'best_vbe_mode_info' and
7785 'best_mode' to 'best_vbe_mode'
7787 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
7789 Remove duplicate grub_video_fb_get_video_ptr.
7791 * include/grub/fbutil.h (get_data_ptr): Rename to ...
7792 (grub_video_fb_get_video_ptr): ... this.
7793 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
7794 * video/fb/fbutil.c: Add comment about addressing.
7795 (get_data_ptr): Rename to ...
7796 (grub_video_fb_get_video_ptr): ... this. All users updated.
7797 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
7799 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
7801 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
7802 grub_dprintf() that was just added.
7804 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
7806 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
7807 (DEFAULT_VIDEO_MODE): Remove macros.
7808 (grub_linux_boot): Remove assumption that Linux has FB support,
7809 and use "text" as default video mode.
7811 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
7813 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
7815 * fs/fat.c (grub_fat_read_data): Likewise.
7817 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
7819 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
7821 (grub_module): Likewise.
7823 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
7825 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
7826 mbi->cmdline but free playground.
7828 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
7830 Handle group offset on UFS1.
7832 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
7833 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
7835 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
7837 Split ufs.mod into ufs1.mod and ufs2.mod.
7839 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
7840 (grub_fstest_SOURCES): Likewise.
7841 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
7842 (ufs_mod_SOURCES): Remove.
7843 (ufs_mod_CFLAGS): Likewise.
7844 (ufs_mod_LDFLAGS): Likewise.
7845 (ufs1_mod_SOURCES): New variable.
7846 (ufs1_mod_CFLAGS): Likewise.
7847 (ufs1_mod_LDFLAGS): Likewise.
7848 (ufs2_mod_SOURCES): New variable.
7849 (ufs2_mod_CFLAGS): Likewise.
7850 (ufs2_mod_LDFLAGS): Likewise.
7851 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
7852 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
7854 (grub_emu_SOURCES): Likewise.
7855 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7856 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7857 (grub_setup_SOURCES): Likewise.
7858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7859 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
7860 (grub_setup_SOURCES): Likewise.
7861 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
7863 * fs/ufs2.c: New file.
7864 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
7866 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
7870 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
7871 subsystem at the end.
7872 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
7873 (video_fb_mod_SOURCES): New variable.
7874 (video_fb_mod_CFLAGS): Likewise.
7875 (video_fb_mod_LDFLAGS): Likewise.
7876 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
7877 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
7878 * video/i386/pc/vbeblit.c: Moved from here ...
7879 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
7880 * video/i386/pc/vbefill.c: Moved from here ...
7881 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
7882 * video/i386/pc/vbeutil.c: Moved from here ...
7883 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
7884 * include/grub/i386/pc/vbeblit.h: Moved from here ...
7885 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
7886 * include/grub/i386/pc/vbefill.h: Moved from here ...
7887 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
7888 * include/grub/i386/pc/vbeutil.h: Moved from here ...
7889 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
7890 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
7891 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
7892 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
7893 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
7894 (grub_video_adapter): Added 'get_info_and_fini'.
7895 (grub_video_get_info_and_fini): New prototype.
7896 (grub_video_set_mode): make modestring const char *.
7897 * loader/i386/linux.c (grub_linux_setup_video): Use
7898 grub_video_get_info_and_fini.
7899 (grub_linux_boot): Move modesetting just before booting.
7900 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
7901 grub_video_get_info_and_fini.
7902 * video/i386/pc/vbe.c: Moved framebuffer part ...
7903 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
7904 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
7905 grub_video_fbstd_colors and grub_video_fb_set_palette.
7906 (grub_video_vbe_init): Clear 'framebuffer' variable and use
7908 (grub_video_vbe_fini): Use grub_video_fb_fini.
7909 (grub_video_vbe_setup): Use framebuffer.render_target instead of
7910 render_target and use grub_video_fb_set_active_render_target and
7911 grub_video_fb_set_palette.
7912 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
7913 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
7914 (grub_video_vbe_adapter): Use framebuffer.
7915 * video/video.c (grub_video_get_info_and_fini): New function.
7916 (grub_video_set_mode): Make modestring const char *.
7917 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
7918 values are already initialised.
7920 2009-08-14 Pavel Roskin <proski@gnu.org>
7922 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
7924 * boot/i386/pc/diskboot.S: Likewise.
7925 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
7926 sectors allow compilation on MacOSX.
7927 * conf/i386-pc.rmk: Enable unconditional compilation of
7930 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
7932 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
7933 * util/grub.d/00_header.in: Enter interruptible sleep if
7934 GRUB_HIDDEN_TIMEOUT is set.
7936 2009-08-13 Yves Blusseau <blusseau@zetam.org>
7938 * include/grub/symbol.h: Add the LOCAL macro.
7939 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
7942 2009-08-13 Pavel Roskin <proski@gnu.org>
7944 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
7945 any modern compilers we support.
7947 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
7948 Use local labels starting with "L_" so that Apple assembler
7949 knows they are local.
7951 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
7953 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
7954 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
7955 (bsd_kernel_types): ... this enum.
7957 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
7958 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
7959 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
7961 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
7962 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
7963 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
7966 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
7968 * util/grub-dumpdevtree: Moved from here ...
7969 * util/i386/efi/grub-dumpdevtree: ... to here.
7970 (hexify): New function. Converts a string to its hex version.
7971 Generate hex versions of "efi" and "device-properties" by calling
7972 hexify() on the ASCII strings rather than by hardcoding numbers.
7974 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
7976 * fs/jfs.c: Update copyright year.
7978 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
7980 * util/grub.d/00_header.in: Fix a comment.
7981 * util/grub.d/10_linux.in: Likewise.
7982 * util/grub.d/10_windows.in: Likewise.
7983 * util/grub.d/10_hurd.in: Likewise.
7985 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
7987 * util/grub-mkconfig.in: Allow the user to specify the used font
7990 2009-08-08 Pavel Roskin <proski@gnu.org>
7992 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
7993 available, xfs.mod needs it now.
7995 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
7996 the "g" modifier in sed when the intention is to strip something
7997 once. This fixes comparison of kernels with multiple dashes.
7999 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
8000 on it. Add missing space before closing bracket. Fix
8001 misleading formatting.
8003 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8005 * docs/grub.texi: Major overhaul. Remove all sections that are
8006 specific to GRUB Legacy, or mostly composed of Legacy-specific
8009 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8011 * docs/version.texi: New file. Provides version information for
8014 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8016 * docs/grub.texi: Update CVS information to SVN.
8017 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
8019 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
8021 * util/grub-mkconfig.in: Remove a wrong `fi'.
8023 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
8025 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
8026 (grub_jfs_uuid): New function.
8027 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
8029 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
8031 * util/grub-mkconfig_lib.in (font_path): Move the functionality
8033 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
8034 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
8036 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8038 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
8039 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
8042 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
8043 not just "vmlinu[zx]".
8045 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
8048 * util/grub.d/10_linux.in (find_latest): Moved from here ...
8049 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
8052 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8054 * util/grub.d/10_freebsd.in: Use an absolute device path for
8055 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
8057 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
8059 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
8060 handling of multiple abstraction modules.
8062 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
8064 Fix a bug resulting in black screen when loading Linux using a
8067 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
8070 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
8071 (grub_vbe_bios_getset_dac_palette_width): New function.
8072 (grub_vbe_bios_get_dac_palette_width)
8073 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
8074 grub_vbe_bios_getset_dac_palette_width()).
8076 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
8077 check for return status.
8078 (grub_vbe_get_video_mode_info): When getting information for a packed
8079 mode (<= 8 bpp), obtain DAC palette width using
8080 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
8081 {red,green,blue}_mark_size.
8083 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
8085 * commands/search.c (options): Fix help output to match actual code.
8087 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
8089 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
8092 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8094 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
8097 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8099 Support Apple partition map with sector size different from 512 bytes.
8101 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
8102 (apple_partition_map_iterate): Respect 'aheader.blocksize'
8103 and 'apart.partmap_size'.
8105 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8106 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
8110 * commands/i386/cpuid.c (options): New variable.
8111 (grub_cmd_cpuid): Return real error.
8112 (GRUB_MOD_INIT(cpuid)): Declare options.
8114 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
8116 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
8119 2009-07-31 Bean <bean123ch@gmail.com>
8121 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
8123 (grub_fshelp_node): Move inode field to the end.
8124 (grub_xfs_data): Remove inode field.
8125 (grub_xfs_inode_block): Calculate inode size using sblock.
8126 (grub_xfs_inode_offset): Likewise.
8127 (grub_xfs_read_inode): Calculate inode size using sblock.
8128 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
8129 (grub_xfs_iterate_dir): Calculate inode size using sblock.
8130 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
8131 to match inode size.
8132 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
8133 not accessible when data is null.
8134 (grub_xfs_open): Likewise.
8136 2009-07-31 Bean <bean123ch@gmail.com>
8138 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
8139 Don't change pv->disk if it's already set.
8141 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
8142 (grub_raid_register): ... here.
8143 (grub_raid_rescan): Removed.
8145 * include/grub/raid.h (grub_raid_rescan): Removed.
8147 * util/grub-fstest.c: Remove include file <grub/raid.h>.
8148 (fstest): Replace grub_raid_rescan with module fini function followed
8151 * util/grub-probe.c: Add include file <grub/raid.h>.
8152 (probe_raid_level): New function.
8153 (probe): Detect abstraction by walking the disk device, support two
8154 level of abstraction (LVM on RAID) when detecting partition map.
8156 2009-07-31 Pavel Roskin <proski@gnu.org>
8158 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
8159 to grub_zalloc(), it was erroneous.
8160 Reported by Bean <bean123ch@gmail.com>
8162 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
8164 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
8165 embedding zone, not only the first one.
8167 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
8169 * term/gfxterm.c (clear_char): New function.
8170 (grub_virtual_screen_setup): Use clear_char.
8171 (scroll_up): Likewise.
8172 (grub_virtual_screen_cls): Likewise.
8174 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
8176 * util/deviceiter.c (get_acceleraid_disk_name): New static
8178 (grub_util_iterate_devices): Handle Accelraid devices.
8179 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
8181 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
8183 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
8184 separator for the suggested gfxpayload string (';' collides with the
8185 parser and needs escaping).
8187 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
8189 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
8190 Clear direction flag before jumping to OS.
8191 (grub_multiboot2_real_boot): Likewise.
8193 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
8195 * util/i386/pc/grub-install: Fix parsing of --disk-module
8198 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
8200 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
8203 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
8205 * util/grub-mkconfig.in (package_version): New variable.
8206 Use it do display the version.
8208 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
8210 * kern/file.c (grub_file_open): Revert to previous check with
8213 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8215 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
8216 from help line. It's out of sync with code.
8218 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8220 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
8221 entries on failed boot.
8223 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
8225 * kern/file.c (grub_file_open): Fix an error check.
8227 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
8229 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
8230 partition map couldn't be identified.
8232 2009-07-23 Pavel Roskin <proski@gnu.org>
8234 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
8235 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
8236 case of little endian words becomes just an optimization.
8237 Respect const modifier.
8238 (md5_final): Use code that doesn't depend on endianness.
8240 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
8241 to avoid loss of upper bits if align is unsigned and shorter
8244 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
8246 UUID support for UFS
8248 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
8249 (grub_ufs_uuid): New function.
8250 (grub_ufs_fs): add .uuid
8252 2009-07-21 Pavel Roskin <proski@gnu.org>
8254 * kern/dl.c (grub_dl_check_header): Make static.
8256 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
8258 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
8259 add drivemap for Vista. It breaks Windows 7.
8261 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
8263 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
8266 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8270 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
8271 (grub_fstest_SOURCES): Likewise.
8272 (pkglib_MODULES): Add befs.mod.
8273 (befs_mod_SOURCES): New variable.
8274 (befs_mod_CFLAGS): Likewise.
8275 (befs_mod_LDFLAGS): Likewise.
8276 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8277 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8278 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8279 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8280 (grub_setup_SOURCES): Likewise.
8281 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8282 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8283 (grub_setup_SOURCES): Likewise.
8284 * fs/befs.c: New file.
8285 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
8286 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
8287 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
8288 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
8289 (B_KEY_INDEX_ALIGN): New declaration.
8290 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
8291 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
8292 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
8293 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
8294 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
8295 (grub_afs_mount) [MODE_BFS]: Likewise.
8296 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
8297 (grub_afs_fs): Use GRUB_AFS_FSNAME
8298 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
8299 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
8300 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
8301 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
8303 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
8305 * util/getroot.c (find_root_device): Add support for MacOSX.
8306 * util/hostdisk.c: Likewise.
8308 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8310 * font/font.c (find_glyph): Check whether a font is present to avoid
8313 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
8315 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
8317 2009-07-20 Pavel Roskin <proski@gnu.org>
8319 * configure.ac: Trim excessively wordy excuses.
8321 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8323 Add symlink, mtime and label support to AtheFS.
8325 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
8326 (grub_afs_iterate_dir): Handle symlinks.
8327 (grub_afs_open): Use grub_afs_read_symlink.
8328 (grub_afs_dir): Likewise.
8330 (grub_afs_label): New function.
8331 (grub_afs_fs): Add grub_afs_label.
8332 (grub_afs_read_symlink): New function.
8334 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8338 * fs/afs.c: Fix comments style.
8339 (grub_afs_blockrun): Declare as packed.
8340 (grub_afs_datastream): Likewise.
8341 (grub_afs_bnode): Likewise.
8342 (grub_afs_btree): Likewise.
8343 (grub_afs_sblock): Likewise.
8344 Declare `name' as char.
8345 (grub_afs_inode): Declare as packed.
8346 Change void *vnode to grub_uint32_t unused.
8347 (grub_afs_iterate_dir): Check that key_size is positive.
8348 (grub_afs_mount): Don't read superblock twice.
8349 (grub_afs_dir): Don't free node in case of error,
8350 grub_fshelp_find_file already handles this.
8351 (grub_afs_open): Likewise.
8353 2009-07-19 Pavel Roskin <proski@gnu.org>
8355 * Makefile.in: Remove LIBLZO and enable_lzo.
8356 * conf/i386-pc.rmk: Remove lzo support.
8357 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
8358 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
8360 * kern/i386/pc/lzo1x.S: Remove.
8361 * kern/i386/pc/startup.S: Remove lzo support.
8362 * util/i386/pc/grub-mkimage.c: Likewise.
8364 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
8366 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
8367 * fs/xfs.c (grub_xfs_dir): Likewise.
8368 * fs/afs.c (grub_afs_dir): Likewise.
8369 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
8370 (grub_iso9660_open): Likewise.
8371 * fs/jfs.c (grub_jfs_open): Likewise.
8372 * fs/ext2.c (grub_ext2_dir): Likewise.
8373 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
8374 * script/sh/lexer.c (grub_script_yylex): Likewise.
8376 2009-07-16 Pavel Roskin <proski@gnu.org>
8378 * configure.ac: Never add "-c" to CFLAGS.
8380 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
8382 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
8383 grub_cv_cc_efiemu should be used.
8385 * configure.ac: Typo fixes.
8387 * kern/mm.c (grub_zalloc): New function.
8388 (grub_debug_zalloc): Likewise.
8389 * include/grub/mm.h: Declare grub_zalloc() and
8390 grub_debug_zalloc().
8391 * util/misc.c (grub_zalloc): New function.
8392 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
8393 instead of grub_malloc(), remove unneeded initializations.
8394 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
8395 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
8396 * commands/parttool.c (grub_cmd_parttool): Likewise.
8397 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
8398 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
8399 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
8400 * disk/usbms.c (grub_usbms_finddevs): Likewise.
8401 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
8402 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
8403 (grub_cmd_efiemu_pnvram): Likewise.
8404 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
8405 * fs/iso9660.c (grub_iso9660_mount): Likewise.
8406 (grub_iso9660_iterate_dir): Likewise.
8407 * fs/jfs.c (grub_jfs_opendir): Likewise.
8408 * fs/ntfs.c (list_file): Likewise.
8409 (grub_ntfs_mount): Likewise.
8410 * kern/disk.c (grub_disk_open): Likewise.
8411 * kern/dl.c (grub_dl_load_core): Likewise.
8412 * kern/elf.c (grub_elf_file): Likewise.
8413 * kern/env.c (grub_env_context_open): Likewise.
8414 (grub_env_set): Likewise.
8415 (grub_env_set_data_slot): Likewise.
8416 * kern/file.c (grub_file_open): Likewise.
8417 * kern/fs.c (grub_fs_blocklist_open): Likewise.
8418 * loader/i386/multiboot.c (grub_module): Likewise.
8419 * loader/xnu.c (grub_xnu_create_key): Likewise.
8420 (grub_xnu_create_value): Likewise.
8421 * normal/main.c (grub_normal_add_menu_entry): Likewise.
8422 (read_config_file): Likewise.
8423 * normal/menu_entry.c (make_screen): Likewise.
8424 * partmap/sun.c (sun_partition_map_iterate): Likewise.
8425 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
8426 * script/sh/script.c (grub_script_parse): Likewise.
8427 * video/bitmap.c (grub_video_bitmap_create): Likewise.
8428 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
8429 * video/readers/png.c (grub_png_output_byte): Likewise.
8430 (grub_video_reader_png): Likewise.
8432 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8434 Enable all targets that can be built by default
8436 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
8437 grub-mkfont and grub-fstest if they can be built
8439 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8441 Fix hang and segmentation fault in grub-emu-usb
8443 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
8444 * util/usb.c (grub_libusb_devices): likewise
8445 (grub_libusb_init): rename to ...
8446 (GRUB_MOD_INIT (libusb)):...this
8447 (grub_libusb_fini): rename to ..
8448 (GRUB_MOD_FINI (libusb)):...this
8449 * disk/usbms.c (grub_usbms_transfer): fix retry logic
8450 * include/grub/disk.h (grub_raid_init): removed, it's useless
8451 (grub_raid_fini): likewise
8452 (grub_lvm_init): likewise
8453 (grub_lvm_fini): likewise
8454 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
8457 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8461 * Makefile.in (LIBUSB): new macro
8462 * genmk.rb (Utility/print_tail): new method
8463 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
8464 (top level): call util.print_tail at the end.
8466 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8468 Make FreeBSD accept zpool.cache
8470 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
8471 type is /boot/zfs/zpool.cache
8473 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8477 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
8478 correct wrong typedef
8479 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
8481 2009-07-15 Pavel Roskin <proski@gnu.org>
8483 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
8484 * kern/disk.c (struct grub_disk_cache): Likewise.
8486 * commands/probe.c (options): Typo fix.
8488 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
8489 Increase to 0x5a to accommodate FAT32. Adjust other offsets
8491 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
8493 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
8494 the end of "Error" to make the message more readable.
8496 * boot/i386/pc/boot.S (kernel_segment): Remove.
8497 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
8500 * boot/i386/pc/boot.S (boot_version): Remove.
8501 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
8504 * include/grub/i386/pc/boot.h: Sort all offsets.
8505 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
8506 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
8507 * boot/i386/pc/boot.S: Assert location of every offset listed in
8508 include/grub/i386/pc/boot.h.
8510 2009-07-13 Pavel Roskin <proski@gnu.org>
8512 * include/grub/i386/coreboot/machine.h: Rename
8513 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
8514 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
8515 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
8517 * kern/dl.c: Force native word size to suppress warnings when
8520 * kern/device.c (grub_device_iterate): Change struct part_ent to
8521 hold the name, not a pointer to it. Use one grub_malloc() per
8522 partition, not two. Free partition_name if grub_malloc() fails.
8523 Set ents to NULL only before grub_partition_iterate() is called.
8525 2009-07-11 Bean <bean123ch@gmail.com>
8527 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
8530 2009-07-10 Bean <bean123ch@gmail.com>
8531 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
8533 * kern/ieee1275/openfw.c (grub_children_iterate)
8534 (grub_devalias_iterate): Fix size evaluation for property or path
8535 strings, which was broken since r2132.
8537 2009-07-07 Pavel Roskin <proski@gnu.org>
8539 * commands/search.c (search_file): Merge into ...
8540 (search_fs): ... this. Accept search type as argument.
8541 (grub_cmd_search): Pass search type to search_fs().
8543 * include/grub/util/console.h: New file.
8544 * util/console.c: Use it instead of grub/machine/console.h.
8545 * util/grub-emu.c: Likewise.
8547 * lib/arg.c (find_long_option): Remove.
8548 (find_long): Add `len' argument, make `s' const char *.
8549 (grub_arg_parse): Parse long options in place, not in a
8552 2009-07-06 Pavel Roskin <proski@gnu.org>
8554 * commands/search.c (search_fs): Fix potential NULL pointer
8557 * commands/search.c (search_fs): Replace QUID macro with quid_fn
8560 2009-07-06 Daniel Mierswa <impulze@impulze.org>
8562 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
8565 2009-07-05 Pavel Roskin <proski@gnu.org>
8567 * include/grub/i386/linux.h (struct linux_kernel_params):
8568 Restore padding3, it's still needed.
8570 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
8572 * util/osdetect.lua: Likewise.
8574 2009-07-05 Bean <bean123ch@gmail.com>
8576 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
8578 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
8579 (grub_lua_getenv): Likewise.
8580 (grub_lua_setenv): Likewise.
8581 (save_errno): New function.
8582 (push_result): Likewise.
8583 (grub_lua_enum_device): Likewise.
8584 (grub_lua_enum_file): Likewise.
8585 (grub_lua_file_open): Likewise.
8586 (grub_lua_file_close): Likewise.
8587 (grub_lua_file_seek): Likewise.
8588 (grub_lua_file_read): Likewise.
8589 (grub_lua_file_getline): Likewise.
8590 (grub_lua_file_getsize): Likewise.
8591 (grub_lua_file_getpos): Likewise.
8592 (grub_lua_file_eof): Likewise.
8593 (grub_lua_file_exist): Likewise.
8594 (grub_lua_add_menu): Likewise.
8596 * script/lua/grub_lua.h (isupper): New inline function.
8597 (islower): Likewise.
8598 (ispunct): Likewise.
8599 (isxdigit): Likewise.
8600 (strcspn): Change to normal function.
8601 (strpbkr): New function declaration.
8604 * script/lua/grub_main.c (scan_str): New function.
8605 (strcspn): Likewise.
8606 (strpbrk): Likewise.
8609 * script/lua/linit.c (lualibs): Enable the string library.
8611 * util/osdetect.lua: New file.
8613 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
8615 * include/grub/i386/linux.h (struct linux_kernel_params): Add
8616 `capabilities' member.
8618 2009-07-02 Pavel Roskin <proski@gnu.org>
8620 * genparttoollist.sh: Add missing newline at the end.
8622 2009-07-01 Pavel Roskin <proski@gnu.org>
8624 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
8626 * util/hostdisk.c (open_device): Remove `const' from
8627 `sysctl_size', as sysctlbyname() can change it (in this case it
8628 doesn't actually happen).
8630 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
8631 using signed long int constants.
8633 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
8634 constant to avoid a warning on FreeBSD.
8636 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
8639 * Makefile.in: Install include/grub/machine symlink.
8641 * Makefile.in: When installing symlinks, use "cp -fR", which
8642 works on FreeBSD and MacOSX.
8643 From Yves Blusseau <cl7m42e02@sneakemail.com>
8645 * kern/dl.c (grub_dl_resolve_symbol): Make static.
8646 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
8648 * util/misc.c: Move grub_reboot() and grub_halt() ...
8649 * util/grub-emu.c: ... here. Make main_env static.
8650 * include/grub/util/misc.h: Remove main_env.
8652 * kern/mm.c: Use correct format to print size_t.
8654 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
8655 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
8656 * kern/powerpc/dl.c: Likewise.
8657 * kern/sparc64/dl.c: Likewise.
8658 * kern/x86_64/dl.c: Likewise.
8660 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
8662 Fix grub-emu build on sparc64-ieee1275.
8664 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
8665 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
8667 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
8669 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
8670 (grub_reboot, grub_halt): New functions.
8672 * util/i386/pc/misc.c: Delete. Update all users.
8673 * util/sparc64/ieee1275/misc.c: Likewise.
8674 * util/powerpc/ieee1275/misc.c: Likewise.
8676 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
8678 * conf/i386.rmk (setjmp_mod_SOURCES)
8679 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
8680 * conf/common.rmk (setjmp_mod_SOURCES)
8681 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
8682 to use $(target_cpu).
8683 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
8684 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
8685 * conf/powerpc-ieee1275.rmk: Likewise.
8686 * conf/sparc64-ieee1275.rmk: Likewise.
8688 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
8689 $(target_cpu) for kern/$(target_cpu)/dl.c.
8690 * conf/i386-efi.rmk: Likewise.
8691 * conf/i386-ieee1275.rmk: Likewise.
8692 * conf/x86_64-efi.rmk: Likewise.
8693 * conf/i386-coreboot.rmk: Likewise.
8694 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
8695 $(target_cpu) for kern/$(target_cpu)/dl.c and for
8696 kern/$(target_cpu)/cache.S.
8697 * conf/sparc64-ieee1275.rmk: Likewise.
8699 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
8701 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
8702 type to `grub_uint8_t', and adjust `padding9' accordingly.
8704 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
8706 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
8708 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
8709 assembly in final jump, using register constraints.
8711 (grub_linux_boot): For text mode, initialize `have_vga' using
8712 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
8714 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
8715 right before the final jump.
8717 Set `video_mode' to 0x3.
8719 Document initialization of `video_page', `video_mode' and
8722 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
8724 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
8725 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
8726 and set GRUB_LINUX_FLAG_QUIET appropriately.
8728 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
8730 Fix build on Debian / sparc.
8732 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
8734 2009-06-28 Pavel Roskin <proski@gnu.org>
8736 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
8739 * util/grub.d/10_linux.in: Match SUSE style initrd names.
8741 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
8743 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
8746 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
8750 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
8751 file can't be opened. grub_file_open() is already supposed to set
8752 grub_errno / grub_errmsg appropriately.
8753 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8755 2009-06-27 Pavel Roskin <proski@gnu.org>
8756 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
8758 * include/grub/dl.h: Include grub/elf.h.
8759 (struct grub_dl): Add symtab field.
8760 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
8761 GRUB_MODULES_MACHINE_READONLY.
8762 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
8763 of the header for read-only modules.
8764 (grub_dl_unload): Free mod->symtab for read-only modules.
8765 * kern/i386/dl.c: Use mod->symtab.
8766 * kern/powerpc/dl.c: Likewise.
8767 * kern/sparc64/dl.c: Likewise.
8768 * kern/x86_64/dl.c: Likewise.
8770 * conf/i386-qemu.rmk: New file.
8771 * kern/i386/qemu/startup.S: Likewise.
8772 * kern/i386/qemu/mmap.c: Likewise.
8773 * boot/i386/qemu/boot.S: Likewise.
8774 * include/grub/i386/qemu/time.h: Likewise.
8775 * include/grub/i386/qemu/serial.h: Likewise.
8776 * include/grub/i386/qemu/kernel.h: Likewise.
8777 * include/grub/i386/qemu/console.h: Likewise.
8778 * include/grub/i386/qemu/boot.h: Likewise.
8779 * include/grub/i386/qemu/init.h: Likewise.
8780 * include/grub/i386/qemu/machine.h: Likewise.
8781 * include/grub/i386/qemu/loader.h: Likewise.
8782 * include/grub/i386/qemu/memory.h: Likewise.
8784 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
8785 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
8786 [qemu] (pkglib_IMAGES): Add `boot.img'.
8787 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
8788 [qemu] (boot_img_FORMAT): New variables.
8789 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
8790 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
8791 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
8792 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8793 [qemu] (kernel_img_FORMAT): New variables.
8795 * configure.ac: Recognise `i386-qemu'.
8797 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
8798 (for no compression).
8799 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
8800 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
8801 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
8802 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
8805 2009-06-27 Pavel Roskin <proski@gnu.org>
8807 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
8809 * efiemu/prepare32.c: Likewise.
8810 * efiemu/prepare64.c: Likewise.
8812 2009-06-26 Pavel Roskin <proski@gnu.org>
8814 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
8815 * include/grub/elf.h: Define symbols without "32" or "64" based
8816 on GRUB_TARGET_WORDSIZE.
8817 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
8818 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
8820 * efiemu/loadcore64.c: Likewise.
8821 * loader/i386/bsd32.c: Likewise.
8822 * loader/i386/bsd64.c: Likewise.
8823 * kern/dl.c: Remove own ELF definitions.
8824 * util/i386/efi/grub-mkimage.c: Likewise.
8826 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
8828 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
8829 segment 0x0 unconditionally, because the reference generated by
8830 GAS is an absolute address.
8832 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
8834 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
8835 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
8837 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
8839 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
8840 indexes. Check for -f explicitly.
8841 (search_file): Improve error message.
8842 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
8844 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
8846 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
8847 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
8849 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
8851 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
8852 * conf/i386-ieee1275.rmk: Likewise.
8853 * conf/i386-coreboot.rmk: Likewise.
8855 * kern/i386/pc/startup.S (grub_stop): Remove function.
8856 * kern/i386/ieee1275/startup.S: Likewise.
8857 * kern/i386/coreboot/startup.S: Likewise.
8858 * kern/i386/misc.S (grub_stop): New function.
8860 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
8862 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
8863 * kern/i386/realmode.S (real_to_prot): ... to here.
8865 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
8867 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
8869 (kernel_elf_SOURCES): Rename to ...
8870 (kernel_img_SOURCES): ... this.
8871 (kernel_elf_HEADERS): Rename to ...
8872 (kernel_img_HEADERS): ... this. Update all users.
8873 (kernel_elf_ASFLAGS): Rename to ...
8874 (kernel_img_ASFLAGS): ... this.
8875 (kernel_elf_CFLAGS): Rename to ...
8876 (kernel_img_CFLAGS): ... this.
8877 (kernel_elf_LDFLAGS): Rename to ...
8878 (kernel_img_LDFLAGS): ... this.
8879 * conf/i386-coreboot.rmk: Likewise.
8880 * conf/powerpc-ieee1275.rmk: Likewise.
8882 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
8885 2009-06-21 Pavel Roskin <proski@gnu.org>
8887 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
8888 to match nested functions.
8889 * loader/sparc64/ieee1275/linux.c: Likewise.
8891 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
8893 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
8895 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
8898 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
8900 Fix asm file handling on ELF, and remove workarounds.
8902 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
8903 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
8904 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
8905 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
8907 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8909 Load BSD ELF modules
8911 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
8912 and loader/i386/bsd64.c
8913 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
8914 (FREEBSD_MODTYPE_ELF_MODULE): New definition
8915 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
8916 (grub_freebsd_load_elfmodule32): New declaration
8917 (grub_freebsd_load_elfmoduleobj64): Likewise
8918 (grub_freebsd_load_elf_meta32): Likewise
8919 (grub_freebsd_load_elf_meta64): Likewise
8920 (grub_freebsd_add_meta): Likewise
8921 (grub_freebsd_add_meta_module): Likewise
8922 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
8923 (grub_freebsd_add_meta_module): Likewise and move module-specific
8924 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
8925 (grub_cmd_freebsd): Add elf-kernel specific parts
8926 based on grub_freebsd_add_meta_module
8927 (grub_cmd_freebsd_module): Add type parsing moved from
8928 grub_freebsd_add_meta_module
8929 (grub_cmd_freebsd_module_elf): New function
8930 (cmd_freebsd_module_elf): New variable
8931 (GRUB_MOD_INIT): Register freebsd_module_elf
8932 * loader/i386/bsd32.c: New file
8933 * loader/i386/bsd64.c: Likewise
8934 * loader/i386/bsdXX.c: Likewise
8935 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
8936 (grub_elf64_load): Likewise
8937 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
8939 (grub_elf64_load_hook_t): Likewise
8941 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
8943 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
8945 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
8946 don't write a menu entry for recovery mode.
8948 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
8950 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
8951 after it's no longer needed.
8953 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
8955 * include/grub/i386/loader.h (grub_linux_prot_size)
8956 (grub_linux_tmp_addr, grub_linux_real_addr)
8957 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
8958 GRUB_MACHINE_PCBIOS.
8959 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
8960 common grub_util_info() call to ...
8961 (generate_image): ... here.
8962 Fix use of uninitialized memory, comparison of signed with
8963 unsigned integers and memory leak.
8964 Remove bogus module address message.
8966 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8968 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
8970 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
8972 2009-06-19 Pavel Roskin <proski@gnu.org>
8974 * configure.ac: Remove stray AC_MSG_CHECKING.
8976 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8978 * disk/scsi.c (grub_scsi_open): use continue instead of big if
8980 2009-06-18 Pavel Roskin <proski@gnu.org>
8982 * conf/common.rmk: Add fs_file.mod.
8983 * disk/fs_file.c: New file.
8984 * include/grub/disk.h (enum grub_disk_dev_id): Add
8985 GRUB_DISK_DEVICE_FILE_ID.
8987 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8989 Fix build with Apple's toolchain. Part 2
8991 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
8994 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8996 Fix build with Apple's toolchain. Part 1
8998 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
9000 * configure.ac: remove a leftover AC_MSG_RESULT
9001 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
9004 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9008 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
9009 (decomp_block): initialize ch
9010 use grub_memcpy instead of memcpy
9012 2009-06-17 Pavel Roskin <proski@gnu.org>
9014 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
9015 version, use declarations needed to use vga_text as the startup
9018 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
9019 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
9021 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
9022 and grub_at_keyboard_fini(), it's done on module load and
9025 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
9027 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
9028 file can't be found.
9029 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9031 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9033 Fix newline handling
9035 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
9036 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
9037 (grub_script_yylex): don't segfault on unterminated script
9038 newline terminates command and variable
9040 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9042 avoid double grub_adjust_range call. Bug reported by David Simner
9044 * kern/disk.c (grub_disk_write): change to raw disk access before
9047 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
9049 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
9050 spaces, for the benefit of help2man.
9051 * util/i386/efi/grub-mkimage.c (usage): Likewise.
9053 2009-06-16 Pavel Roskin <proski@gnu.org>
9055 * kern/i386/halt.c: Include grub/machine/init.h.
9056 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
9058 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
9060 * util/grub.d/30_os-prober.in: Use ${root} in the generated
9063 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
9065 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
9068 2009-06-16 Pavel Roskin <proski@gnu.org>
9070 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
9071 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
9072 save %dx, we only need %dl and we never change it.
9073 * boot/i386/pc/cdboot.S: Don't set the root drive.
9074 * boot/i386/pc/pxeboot.S: Likewise.
9075 * include/grub/i386/pc/boot.h: Remove
9076 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
9077 GRUB_BOOT_MACHINE_DRIVE_CHECK.
9078 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
9079 * kern/i386/pc/init.c (make_install_device): Remove references
9081 * kern/i386/pc/startup.S: Likewise.
9082 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
9084 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9088 * commands/xnu_uuid.c: new file
9089 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
9090 (xnu_uuid_mod_SOURCES): new variable
9091 (xnu_uuid_mod_CFLAGS): likewise
9092 (xnu_uuid_mod_LDFLAGS): likewise
9093 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
9094 * conf/i386-ieee1275.rmk: likewise
9095 * conf/i386-pc.rmk: likewise
9096 * conf/powerpc-ieee1275.rmk: likewise
9097 * conf/sparc64-ieee1275.rmk: likewise
9098 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
9100 2009-06-16 Pavel Roskin <proski@gnu.org>
9102 * configure.ac: Avoid '==' in test command, it's not portable.
9104 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9108 * commands/probe.c: new file
9109 * conf/common.rmk (pkglib_MODULES): add probe.mod
9110 (probe_mod_SOURCES): new variable
9111 (probe_mod_CFLAGS): likewise
9112 (probe_mod_LDFLAGS): likewise
9113 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
9114 * conf/i386-ieee1275.rmk: likewise
9115 * conf/i386-pc.rmk: likewise
9116 * conf/powerpc-ieee1275.rmk: likewise
9117 * conf/sparc64-ieee1275.rmk: likewise
9119 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9121 Fix handling of string like \"hello\" and "a
9124 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
9125 (grub_script_yylex): fix parsing of quoting, escaping and newline
9127 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9129 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
9132 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
9134 * util/grub-mkconfig.in: Fix parsing of --output option.
9136 2009-06-12 Pavel Roskin <proski@gnu.org>
9138 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
9139 genmk.rb don't need to be generated or installed.
9141 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9143 * commands/i386/pc/drivemap_int13h.S: add more comments
9145 2009-06-11 Pavel Roskin <proski@gnu.org>
9147 * Makefile.in (uninstall): Uninstall manuals.
9149 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
9150 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
9151 and update-grub_lib in two places.
9152 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
9154 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
9157 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
9158 `entry_lo' to fix variable shadowing.
9160 2009-06-11 Christian Franke <franke@computer.org>
9162 * kern/misc.c (__enable_execute_stack): Add missing return type
9163 to prevent gcc warning.
9165 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
9167 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
9169 2009-06-11 Pavel Roskin <proski@gnu.org>
9171 * Makefile.in: Don't rely on any scripts being executable.
9172 Always use $(SHELL) to run shell scripts.
9174 * configure.ac: Always define ___main if using -nostdlib. This
9175 fixes tests on Cygwin.
9177 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
9181 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
9182 is in bytes and not in blocks
9184 2009-06-11 Pavel Roskin <proski@gnu.org>
9186 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
9189 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
9191 * util/grub.d/30_os-prober.in: Fix a comment. Source
9192 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
9193 to set the root device. Place drivemap command in the generated
9196 2009-06-11 Pavel Roskin <proski@gnu.org>
9198 * configure.ac: Remove host_m32. Issues with 64-bit utilities
9199 have long been resolved.
9201 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
9203 * util/grub.d/10_linux.in: Capitalise "Linux".
9205 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
9207 2009-06-11 Pavel Roskin <proski@gnu.org>
9209 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
9210 fix a gcc warning and ensure that the function won't ever exit.
9212 * kern/i386/ieee1275/init.c: Add missing prototype for
9215 * loader/ieee1275/multiboot2.c [__i386__]: Include
9216 grub/cpu/multiboot.h.
9218 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
9219 casts to short - they are not portable and cause warnings. Fix
9220 use of uninitialized values in input_buf. Use ARRAY_SIZE.
9222 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9226 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
9228 (grub_get_root_biosnumber_saved): new variable
9229 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
9230 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
9231 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
9232 %dx after the call if necessary
9233 * conf/common.rmk (pkglib_MODULES): remove boot.mod
9234 (boot_mod_SOURCES): remove
9235 (boot_mod_CFLAGS): remove
9236 (boot_mod_LDFLAGS): remove
9237 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
9238 (boot_mod_SOURCES): new variable
9239 (boot_mod_CFLAGS): likewise
9240 (boot_mod_LDFLAGS): likewise
9241 * conf/i386-efi.rmk: likewise
9242 * conf/i386-ieee1275.rmk: likewise
9243 * conf/i386-pc.rmk: likewise
9244 * conf/powerpc-ieee1275.rmk: likewise
9245 * conf/sparc64-ieee1275.rmk: likewise
9246 * conf/x86_64-efi.rmk: likewise
9247 * include/grub/i386/pc/biosnum.h: new file
9248 * lib/i386/pc/biosnum.c: likewise
9249 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
9250 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
9251 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
9253 2009-06-10 Pavel Roskin <proski@gnu.org>
9255 * io/gzio.c (test_header): Don't reuse one buffer for all data.
9256 Use separate variables. Read only the file size at the end, but
9257 not the checksum that we don't use.
9259 * kern/file.c (grub_file_read): Use void pointer for the buffer.
9262 * kern/ieee1275/openfw.c: Remove libc includes.
9263 * kern/ieee1275/cmain.c: Likewise.
9264 * include/grub/ieee1275/ieee1275.h: Likewise.
9266 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
9269 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
9271 * Makefile.in: Remove all trailing whitespace.
9272 * conf/i386-pc.rmk: Likewise.
9273 * conf/powerpc-ieee1275.rmk: Likewise.
9274 * conf/sparc64-ieee1275.rmk: Likewise.
9275 * docs/grub.texi: Likewise.
9276 * docs/texinfo.tex: Likewise.
9277 * disk/fs_uuid.c: Likewise.
9278 * disk/lvm.c: Likewise.
9279 * disk/scsi.c: Likewise.
9280 * disk/ata.c: Likewise.
9281 * disk/ieee1275/ofdisk.c: Likewise.
9282 * disk/i386/pc/biosdisk.c: Likewise.
9283 * disk/host.c: Likewise.
9284 * disk/raid.c: Likewise.
9285 * disk/efi/efidisk.c: Likewise.
9286 * disk/usbms.c: Likewise.
9287 * disk/memdisk.c: Likewise.
9288 * disk/loopback.c: Likewise.
9289 * kern/powerpc/dl.c: Likewise.
9290 * kern/device.c: Likewise.
9291 * kern/dl.c: Likewise.
9292 * kern/sparc64/dl.c: Likewise.
9293 * kern/ieee1275/ieee1275.c: Likewise.
9294 * kern/term.c: Likewise.
9295 * kern/fs.c: Likewise.
9296 * kern/i386/dl.c: Likewise.
9297 * kern/i386/pc/startup.S: Likewise.
9298 * kern/i386/pc/init.c: Likewise.
9299 * kern/i386/pc/mmap.c: Likewise.
9300 * kern/i386/pc/lzo1x.S: Likewise.
9301 * kern/i386/ieee1275/init.c: Likewise.
9302 * kern/i386/realmode.S: Likewise.
9303 * kern/i386/tsc.c: Likewise.
9304 * kern/partition.c: Likewise.
9305 * kern/corecmd.c: Likewise.
9306 * kern/file.c: Likewise.
9307 * kern/efi/efi.c: Likewise.
9308 * kern/efi/init.c: Likewise.
9309 * kern/efi/mm.c: Likewise.
9310 * kern/main.c: Likewise.
9311 * kern/err.c: Likewise.
9312 * kern/env.c: Likewise.
9313 * kern/disk.c: Likewise.
9314 * kern/generic/millisleep.c: Likewise.
9315 * kern/generic/rtc_get_time_ms.c: Likewise.
9316 * kern/misc.c: Likewise.
9317 * kern/parser.c: Likewise.
9318 * genmk.rb: Likewise.
9319 * configure.ac: Likewise.
9320 * boot/i386/pc/diskboot.S: Likewise.
9321 * boot/i386/pc/pxeboot.S: Likewise.
9322 * boot/i386/pc/boot.S: Likewise.
9323 * boot/i386/pc/lnxboot.S: Likewise.
9324 * boot/i386/pc/cdboot.S: Likewise.
9325 * parttool/pcpart.c: Likewise.
9326 * video/readers/tga.c: Likewise.
9327 * video/video.c: Likewise.
9328 * video/bitmap.c: Likewise.
9329 * lib/envblk.c: Likewise.
9330 * lib/i386/setjmp.S: Likewise.
9331 * fs/xfs.c: Likewise.
9332 * fs/afs.c: Likewise.
9333 * fs/fat.c: Likewise.
9334 * fs/ntfs.c: Likewise.
9335 * fs/udf.c: Likewise.
9336 * fs/affs.c: Likewise.
9337 * fs/iso9660.c: Likewise.
9338 * fs/hfs.c: Likewise.
9339 * fs/fshelp.c: Likewise.
9340 * fs/ext2.c: Likewise.
9341 * fs/jfs.c: Likewise.
9342 * fs/reiserfs.c: Likewise.
9343 * fs/hfsplus.c: Likewise.
9344 * fs/minix.c: Likewise.
9345 * fs/cpio.c: Likewise.
9346 * fs/sfs.c: Likewise.
9347 * fs/ufs.c: Likewise.
9348 * efiemu/prepare.c: Likewise.
9349 * efiemu/loadcore_common.c: Likewise.
9350 * efiemu/runtime/efiemu.sh: Likewise.
9351 * efiemu/runtime/efiemu.S: Likewise.
9352 * efiemu/runtime/efiemu.c: Likewise.
9353 * efiemu/pnvram.c: Likewise.
9354 * efiemu/main.c: Likewise.
9355 * efiemu/i386/pc/cfgtables.c: Likewise.
9356 * efiemu/i386/loadcore64.c: Likewise.
9357 * efiemu/i386/loadcore32.c: Likewise.
9358 * efiemu/loadcore.c: Likewise.
9359 * efiemu/symbols.c: Likewise.
9360 * efiemu/mm.c: Likewise.
9361 * include/grub/autoefi.h: Likewise.
9362 * include/grub/datetime.h: Likewise.
9363 * include/grub/term.h: Likewise.
9364 * include/grub/hfs.h: Likewise.
9365 * include/grub/lvm.h: Likewise.
9366 * include/grub/i386/tsc.h: Likewise.
9367 * include/grub/i386/linux.h: Likewise.
9368 * include/grub/i386/xnu.h: Likewise.
9369 * include/grub/i386/efiemu.h: Likewise.
9370 * include/grub/i386/pc/biosdisk.h: Likewise.
9371 * include/grub/i386/pc/memory.h: Likewise.
9372 * include/grub/i386/pc/vbe.h: Likewise.
9373 * include/grub/parttool.h: Likewise.
9374 * include/grub/video.h: Likewise.
9375 * include/grub/memory.h: Likewise.
9376 * include/grub/fs.h: Likewise.
9377 * include/grub/partition.h: Likewise.
9378 * include/grub/xnu.h: Likewise.
9379 * include/grub/efi/api.h: Likewise.
9380 * include/grub/efi/pe32.h: Likewise.
9381 * include/grub/efi/memory.h: Likewise.
9382 * include/grub/multiboot.h: Likewise.
9383 * include/grub/usbdesc.h: Likewise.
9384 * include/grub/multiboot2.h: Likewise.
9385 * include/grub/acpi.h: Likewise.
9386 * include/grub/efiemu/efiemu.h: Likewise.
9387 * include/grub/disk.h: Likewise.
9388 * include/grub/ieee1275/ieee1275.h: Likewise.
9389 * include/grub/net.h: Likewise.
9390 * include/grub/machoload.h: Likewise.
9391 * include/grub/macho.h: Likewise.
9392 * include/multiboot.h: Likewise.
9393 * genmoddep.awk: Likewise.
9394 * normal/main.c: Likewise.
9395 * normal/menu_entry.c: Likewise.
9396 * normal/menu_viewer.c: Likewise.
9397 * normal/completion.c: Likewise.
9398 * normal/cmdline.c: Likewise.
9399 * normal/misc.c: Likewise.
9400 * normal/datetime.c: Likewise.
9401 * bus/usb/usbtrans.c: Likewise.
9402 * bus/usb/ohci.c: Likewise.
9403 * bus/usb/uhci.c: Likewise.
9404 * bus/usb/usb.c: Likewise.
9405 * mmap/efi/mmap.c: Likewise.
9406 * mmap/i386/pc/mmap_helper.S: Likewise.
9407 * mmap/i386/pc/mmap.c: Likewise.
9408 * mmap/i386/mmap.c: Likewise.
9409 * mmap/i386/uppermem.c: Likewise.
9410 * mmap/mmap.c: Likewise.
9411 * commands/acpi.c: Likewise.
9412 * commands/echo.c: Likewise.
9413 * commands/blocklist.c: Likewise.
9414 * commands/loadenv.c: Likewise.
9415 * commands/usbtest.c: Likewise.
9416 * commands/boot.c: Likewise.
9417 * commands/parttool.c: Likewise.
9418 * commands/search.c: Likewise.
9419 * commands/cat.c: Likewise.
9420 * commands/i386/pc/play.c: Likewise.
9421 * commands/i386/pc/drivemap.c: Likewise.
9422 * commands/i386/pc/vbeinfo.c: Likewise.
9423 * commands/i386/pc/acpi.c: Likewise.
9424 * commands/i386/pc/vbetest.c: Likewise.
9425 * commands/ls.c: Likewise.
9426 * commands/cmp.c: Likewise.
9427 * commands/test.c: Likewise.
9428 * commands/efi/acpi.c: Likewise.
9429 * commands/gptsync.c: Likewise.
9430 * commands/help.c: Likewise.
9431 * partmap/amiga.c: Likewise.
9432 * partmap/apple.c: Likewise.
9433 * partmap/acorn.c: Likewise.
9434 * partmap/pc.c: Likewise.
9435 * partmap/sun.c: Likewise.
9436 * partmap/gpt.c: Likewise.
9437 * script/sh/lexer.c: Likewise.
9438 * script/sh/function.c: Likewise.
9439 * font/font.c: Likewise.
9440 * font/font_cmd.c: Likewise.
9441 * loader/powerpc/ieee1275/linux.c: Likewise.
9442 * loader/efi/chainloader.c: Likewise.
9443 * loader/multiboot_loader.c: Likewise.
9444 * loader/macho.c: Likewise.
9445 * loader/i386/multiboot.c: Likewise.
9446 * loader/i386/linux.c: Likewise.
9447 * loader/i386/pc/linux.c: Likewise.
9448 * loader/i386/pc/multiboot2.c: Likewise.
9449 * loader/i386/pc/chainloader.c: Likewise.
9450 * loader/i386/pc/xnu.c: Likewise.
9451 * loader/i386/bsd_trampoline.S: Likewise.
9452 * loader/i386/efi/linux.c: Likewise.
9453 * loader/i386/multiboot_elfxx.c: Likewise.
9454 * loader/i386/bsd_helper.S: Likewise.
9455 * loader/i386/bsd.c: Likewise.
9456 * loader/i386/linux_trampoline.S: Likewise.
9457 * loader/i386/xnu_helper.S: Likewise.
9458 * loader/i386/xnu.c: Likewise.
9459 * loader/i386/bsd_pagetable.c: Likewise.
9460 * loader/i386/multiboot_helper.S: Likewise.
9461 * loader/xnu.c: Likewise.
9462 * loader/xnu_resume.c: Likewise.
9463 * io/gzio.c: Likewise.
9464 * term/efi/console.c: Likewise.
9465 * term/terminfo.c: Likewise.
9466 * term/ieee1275/ofconsole.c: Likewise.
9467 * term/i386/pc/serial.c: Likewise.
9468 * term/i386/pc/vesafb.c: Likewise.
9469 * term/i386/pc/vga.c: Likewise.
9470 * term/usb_keyboard.c: Likewise.
9471 * term/gfxterm.c: Likewise.
9472 * aclocal.m4: Likewise.
9473 * util/lvm.c: Likewise.
9474 * util/grub.d/30_os-prober.in: Likewise.
9475 * util/grub.d/10_hurd.in: Likewise.
9476 * util/console.c: Likewise.
9477 * util/grub-macho2img.c: Likewise.
9478 * util/grub-probe.c: Likewise.
9479 * util/hostfs.c: Likewise.
9480 * util/i386/pc/grub-mkimage.c: Likewise.
9481 * util/i386/pc/grub-setup.c: Likewise.
9482 * util/i386/efi/grub-mkimage.c: Likewise.
9483 * util/grub-mkconfig.in: Likewise.
9484 * util/raid.c: Likewise.
9485 * util/resolve.c: Likewise.
9486 * util/grub-mkdevicemap.c: Likewise.
9487 * util/grub-emu.c: Likewise.
9488 * util/getroot.c: Likewise.
9489 * util/hostdisk.c: Likewise.
9490 * util/usb.c: Likewise.
9491 * util/grub-editenv.c: Likewise.
9492 * util/misc.c: Likewise.
9494 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
9496 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
9497 `genparttoollist.sh'.
9498 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
9499 Add `*.sh' to the list find searches for and change `mdate.sh'
9502 2009-06-10 Pavel Roskin <proski@gnu.org>
9504 * include/grub/multiboot2.h: Provide compatibility defines for
9506 * include/multiboot2.h: Include stdint.h only if needed, using
9508 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
9510 * loader/ieee1275/multiboot2.c: Likewise.
9511 * loader/multiboot2.c: Likewise.
9512 * loader/multiboot_loader.c: Likewise.
9514 * configure.ac: Use -nostdlib when probing for the target. It
9515 should not be required to have libc for the target.
9517 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
9518 they fail without libc headers for the target.
9519 * include/grub/powerpc/libgcc.h: Use weak attribute for all
9521 * include/grub/sparc64/libgcc.h: Likewise. Don't use
9522 preprocessor conditionals.
9524 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
9525 build system doesn't need to be aware of the tar.c internals.
9527 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
9529 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
9531 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
9533 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
9534 disk limit to 26 for IDE, Virtio, Xen and SCSI.
9536 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
9538 * util/i386/pc/grub-install.in: Change the error message if UUIDs
9539 aren't available if ata.mod gets used.
9541 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
9543 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
9544 initialising controller.
9545 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
9547 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
9549 * util/i386/pc/grub-install.in: Add a parameter --disk-module
9550 to choose between ata and biosdisk module on i386-pc.
9552 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
9554 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
9555 Subclass and Programming Interface fields in terms of the 3 byte
9556 Class Code register.
9557 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
9559 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
9560 interface is OHCI. Add grub_dprintf for symmetry with
9562 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
9563 interface is UHCI. Add interf variable for programming
9564 interface. Print interface with class/subclass.
9566 * bus/usb/ohci.c: Set interf with correct field.
9568 * bus/usb/uhci.c: Remove unneeded doubled lines.
9569 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
9570 Remove whitespace inside comment.
9572 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
9574 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
9575 as fallback an equivalent option without depth.
9577 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9579 Not fail if unable to retrieve C/H/S on LBA disks
9581 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
9582 if unable to retrieve C/H/S on LBA disks
9584 2009-06-08 Pavel Roskin <proski@gnu.org>
9586 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
9589 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
9591 * Makefile.in (uninstall): Remove all $lib_DATA files.
9593 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9595 Bugfix: install on partitionless device
9597 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
9600 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
9602 * Makefile.in (uninstall): Remove all $include_DATA files.
9604 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
9606 * commands/true.c: New file. Implement the true and false commands.
9607 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
9608 (true_mod_SOURCES): New variable.
9609 (true_mod_CFLAGS): Likewise.
9610 (true_mod_LDFLAGS): Likewise.
9612 2009-06-05 Colin D Bennett <colin@gibibit.com>
9614 Optimized font character lookup using binary search instead of linear
9615 search. Fonts now are required to have the character index ordered by
9618 * font/font.c (load_font_index): Verify that fonts have ordered
9620 (find_glyph): Use binary search instead of linear search to find a
9621 character in a font.
9623 2009-06-05 Michael Scherer <misc@mandriva.org>
9625 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
9626 uses case sensitive btree.
9627 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
9628 only for case insensitive filesystems.
9630 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9632 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
9633 * conf/common.rmk (search_mod_CFLAGS): likewise
9635 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9637 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
9638 compensate a compiler bug
9640 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9642 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9645 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9647 Definitions for creating asm symbols with Apple's CC
9649 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
9650 [APPLE_CC] (VARIABLE): likewise
9652 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9654 Disable lnxboot.img when compiled
9657 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
9658 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
9659 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
9660 [! APPLE_CC] (CODE_LENG): skip
9661 [! APPLE_CC] (setup_sects): likewise
9662 [! APPLE_CC]: skip filling
9664 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9666 Address in trampolines based on 32-bit registers when compiled
9669 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
9671 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
9673 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9675 Avoid aliases when compiling with Apple's CC for PCBIOS machine
9677 * kern/misc.c [APPLE_CC] (memcpy): new function
9678 [APPLE_CC] (memmove): likewise
9679 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
9680 (memcpy): define alias conditionally on !APPLE_CC
9683 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
9684 APPLE_CC are defined
9685 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
9686 (grub_assert_fail): make prototype conditional
9688 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9690 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
9692 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
9694 (CLEANFILES): add grub-macho2img
9695 (grub_macho2img_SOURCES): new variable
9696 * kern/i386/pc/startup.S (bss_start): new variable
9698 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
9699 * util/grub-macho2img.c: new file
9701 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9703 Use objconv when compiling with Apple's CC
9705 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
9706 (efiemu64.o): likewise
9707 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
9708 when compiling with Apple's CC
9709 (efiemu64_s.o): likewise
9710 * configure.ac: check for objconv when compiling with Apple's CC
9711 * genmk.rb: use objconv for modules when compiled with Apple's CC
9713 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9715 Define segment as well as section when compiling with
9718 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
9719 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
9720 (efiemu_convert_pointer): likewise
9721 (efiemu_set_virtual_address_map): likewise
9722 (efiemu_convert_pointer): likewise
9723 (efiemu_getcrc32): likewise
9724 (init_crc32_table): likewise
9726 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
9727 (GRUB_MOD_DEP): likewise
9729 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9731 Allow a compilation without -mcmodel=large
9733 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
9734 when compiled without -mcmodel=large
9735 (filter_memory_map): remove memory post 4 GiB when compiled
9736 without -mcmodel=large
9737 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
9738 TARGET_CFLAGS when -mcmodel=large isn't supported
9740 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9742 Remove nested functions in efiemu core
9744 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
9746 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9748 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
9750 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
9752 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
9754 (grub_cpu_is_tsc_supported): likewise
9755 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
9757 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9759 Absolute addressing through constant with Apple's cc
9761 * kern/i386/pc/startup.S: Define necessary constants
9762 and address through it when using ABS with Apple's CC
9763 * boot/i386/pc/diskboot.S: likewise
9764 * boot/i386/pc/boot.S: likewise
9765 * boot/i386/pc/lnxboot.S: likewise
9766 * boot/i386/pc/cdboot.S: likewise
9767 * mmap/i386/pc/mmap_helper.S: likewise
9768 * commands/i386/pc/drivemap_int13h.S: likewise
9770 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9772 Check if compiler is apple cc
9774 * Makefile.in (ASFLAGS): new variable
9775 (TARGET_ASFLAGS): likewise
9776 (TARGET_MODULE_FORMAT): likewise
9777 (TARGET_APPLE_CC): likewise
9779 (TARGET_IMG_CFLAGS): likewise
9780 (TARGET_CPPFLAGS): add includedir
9781 * configure.ac: call grub_apple_cc and grub_apple_target_cc
9782 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
9783 Check for linker script only if compiler isn't Apple's CC
9784 (TARGET_MODULE_FORMAT): set
9785 (TARGET_APPLE_CC): likewise
9786 (TARGET_ASFLAGS): likewise
9788 Check for objcopy only if compiler isn't Apple's CC
9789 Check for BSS symbol only if compiler isn't Apple's CC
9790 * genmk.rb: adapt nm options if we use Apple's utils
9791 * aclocal.m4 (grub_apple_cc): new test
9792 (grub_apple_target_cc): likewise
9794 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9796 Simplify sed expressions and improve awk
9798 * Makefile.in (install-local): simplify sed expression
9799 * gencmdlist.sh: likewise
9800 * genmoddep.awk: avoid adding module as a dependency of itself
9802 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9804 Add missing start symbols
9806 * boot/i386/pc/boot.S: add start
9807 * boot/i386/pc/pxeboot.S: likewise
9809 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9811 Fix wrong assumptions with grub-mkimage on EFI
9813 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
9814 (relocate_addresses): consider both r_addend and value at offset
9815 (make_mods_section): zerofill modinfo and header
9816 (convert_elf): write prefix here
9818 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9820 Use .asciz instead of .string
9822 * i386/pc/diskboot.S: use .asciz instead of .string
9823 * i386/pc/boot.S: likewise
9824 * include/grub/dl.h (GRUB_MOD_DEP): likewise
9825 (GRUB_MOD_NAME): likewise
9827 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9831 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
9832 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
9833 (grub_video_setup): remove
9834 (grub_video_set_mode): new prototype
9835 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
9837 (linux_vesafb_res): compile only on PCBIOS
9838 (grub_linux_boot): support gfxpayload
9839 * loader/i386/pc/xnu.c (video_hook): new function
9840 (grub_xnu_set_video): support gfxpayload
9841 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
9842 (DEFAULT_VIDEO_HEIGHT): likewise
9843 (DEFAULT_VIDEO_FLAGS): likewise
9844 (DEFAULT_VIDEO_MODE): new definition
9845 (video_hook): new function
9846 (grub_gfxterm_init): use grub_video_set_mode
9847 * util/grub.d/30_os-prober.in: remove explicit modesetting before
9849 * video/video.c (grub_video_setup): removed
9850 (grub_video_set_mode): new function based on grub_gfxterm_init and
9853 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9855 Avoid calling biosdisk in drivemap
9857 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
9858 (revparse_biosdisk): likewise
9859 (list_mappings): derive name from id directly
9860 (grub_cmd_drivemap): use tryparse_diskstring
9862 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9866 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
9867 (grub_lexer_param): add tokenonhold
9868 (grub_script_create_cmdline): remove cmdline. All callers updated
9869 (grub_script_function_create): make functionname
9870 grub_script_arg. All callers updated
9871 (grub_script_execute_argument_to_string): new prototype
9872 * kern/parser.c (state_transitions): reorder
9873 (grub_parser_cmdline_state): fix a bug and make more compact
9874 * script/sh/execute.c (grub_script_execute_argument_to_string):
9876 (grub_script_execute_cmdline): use new format
9877 * script/sh/function.c (grub_script_function_create): make functionname
9878 grub_script_arg. All callers updated
9879 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
9880 (grub_script_yylex): remove
9881 (grub_script_yylex2): renamed to ...
9882 (grub_script_yylex): ...renamed
9883 parse the expressions like a${b}c
9884 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
9885 (GRUB_PARSER_TOKEN_VAR): remove
9886 (GRUB_PARSER_TOKEN_NAME): likewise
9887 ("if"): declare as typeless
9889 ("function"): likewise
9894 (argument): likewise
9895 (script): accept empty scripts and make exit on error
9896 (arguments): use GRUB_PARSER_TOKEN_ARG
9897 (function): likewise
9898 (command): move error handling to script
9899 (menuentry): move grub_script_lexer_ref before
9900 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
9901 argument. All callers updated
9903 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
9905 Prevent GRUB from probing floppies during boot.
9907 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
9908 * commands/search.c (options): Add --no-floppy.
9909 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
9910 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
9911 --no-floppy when searching for UUIDs.
9913 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
9915 Simplify the code duplication in commands/search.c.
9917 * commands/search.c (search_label, search_fs_uuid): Merge into ...
9918 (search_fs): ... this. Update all users.
9920 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
9922 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
9924 2009-05-28 Pavel Roskin <proski@gnu.org>
9926 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
9927 Remove the original symlink explicitly.
9929 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
9930 just one slash. That's how grub_fshelp_find_file() does it.
9932 2009-05-26 Pavel Roskin <proski@gnu.org>
9934 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
9937 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
9940 2009-05-25 Christian Franke <franke@computer.org>
9942 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
9944 (grub_atapi_identify): Add wait after drive select.
9945 (grub_ata_identify): Do more strict status register check before
9946 calling grub_atapi_identify (). Suppress error message if status
9947 register is 0x00 after command failure. Add status register
9948 check after PIO read to avoid bogus identify due to stuck DRQ.
9949 Thanks to Pavel Roskin for testing.
9950 (grub_device_initialize): Remove unsafe status register check.
9951 Thanks to 'phcoder' for problem report and patch.
9952 Prevent sign extension in debug message.
9954 2009-05-23 Colin D Bennett <colin@gibibit.com>
9956 Cleaned up `include/grub/normal.h'. Grouped prototypes by
9957 definition file, and functions defined in `normal/menu.c' have had
9958 their prototypes moved to `include/grub/menu.h' for consistency.
9960 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
9962 (grub_menu_get_entry): Likewise.
9963 (grub_menu_get_timeout): Likewise.
9964 (grub_menu_set_timeout): Likewise.
9965 (grub_menu_execute_entry): Likewise.
9966 (grub_menu_execute_with_fallback): Likewise.
9967 (grub_menu_entry_run): Likewise.
9969 * include/grub/normal.h: Re-ordered and grouped function
9970 prototypes by file that the function is defined in.
9971 (grub_menu_execute_callback): Removed; moved to menu.h.
9972 (grub_menu_get_entry): Likewise.
9973 (grub_menu_get_timeout): Likewise.
9974 (grub_menu_set_timeout): Likewise.
9975 (grub_menu_execute_entry): Likewise.
9976 (grub_menu_execute_with_fallback): Likewise.
9977 (grub_menu_entry_run): Likewise.
9978 (grub_menu_addentry): Renamed from this ...
9979 (grub_normal_add_menu_entry): ... to this.
9981 * normal/main.c (grub_menu_addentry): Renamed from this ...
9982 (grub_normal_add_menu_entry): ... to this.
9984 * script/sh/execute.c (grub_script_execute_menuentry): Update
9985 reference to renamed grub_menu_addentry function.
9987 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
9989 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
9991 2009-05-22 Pavel Roskin <proski@gnu.org>
9993 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
9994 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
9995 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
9996 compiling for the i386 targets, but not for the utilities.
9998 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
10000 (grub_root_drive): Likewise.
10001 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
10003 (grub_root_drive): Change size to byte.
10004 (grub_start_addr): Remove.
10005 (grub_end_addr): Likewise.
10006 (grub_apm_bios_info): Likewise.
10008 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
10010 * normal/i386: Remove.
10011 * normal/powerpc: Likewise.
10012 * normal/sparc64: Likewise.
10013 * normal/x86_64: Likewise.
10015 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10017 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
10018 * loader/i386/linux_trampoline.S: Fix indentation
10019 * loader/i386/xnu_helper.S: Likewise
10021 2009-05-18 Colin D Bennett <colin@gibibit.com>
10023 Display error messages when parsing a Lua statement fails.
10024 Previously, executing a syntactically invalid statement like
10025 ")foo" or "bar;" would silently fail.
10027 * script/lua/grub_main.c (handle_lua_error): New function.
10028 (grub_lua_parse_line): Improved reporting of Lua parser and
10031 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10033 Remove -Werror which causes build to fail on some systems
10035 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
10036 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
10037 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
10039 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10041 trampoline for linux on 64-bit platform
10043 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
10044 loader/i386/efi/linux_trampoline.S
10045 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
10047 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
10049 * loader/i386/linux_trampoline.S: moved here
10050 * loader/i386/efi/linux.c (allocate_pages): reserve space for
10052 (jumpvector): removed
10053 (grub_linux_trampoline_start): new declaration
10054 (grub_linux_trampoline_end): likewise
10055 (grub_linux_boot): use trampoline when on 64-bit platform
10056 * loader/i386/linux.c: likewise
10058 2009-05-16 Pavel Roskin <proski@gnu.org>
10060 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
10061 const to avoid a warning.
10062 (grub_lua_setenv): Likewise.
10063 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
10064 lmsg to fix a warning.
10066 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
10068 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
10069 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10070 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
10071 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10072 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
10073 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10074 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
10075 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10077 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
10079 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
10081 2009-05-16 Bean <bean123ch@gmail.com>
10083 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
10084 (lua_mod_SOURCES): New variable.
10085 (lua_mod_CFLAGS): Likewise.
10086 (lua_mod_LDFLAGS): Likewise.
10088 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
10089 (setjmp_mod_SOURCES): New variable.
10090 (setjmp_mod_CFLAGS): Likewise.
10091 (setjmp_LDFLAGS): Likewise.
10093 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
10094 (setjmp_mod_SOURCES): New variable.
10095 (setjmp_mod_CFLAGS): Likewise.
10096 (setjmp_LDFLAGS): Likewise.
10098 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
10099 (setjmp_mod_SOURCES): New variable.
10100 (setjmp_mod_CFLAGS): Likewise.
10101 (setjmp_LDFLAGS): Likewise.
10103 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
10104 (setjmp_mod_SOURCES): New variable.
10105 (setjmp_mod_CFLAGS): Likewise.
10106 (setjmp_LDFLAGS): Likewise.
10108 * normal/i386/setjmp.S: Moved from here ...
10109 * lib/i386/setjmp.S: ... Moved here
10110 * normal/x86_64/setjmp.S: Moved from here ...
10111 * lib/x86_64/setjmp.S: ... Moved here
10112 * normal/powerpc/setjmp.S: Moved from here ...
10113 * lib/powerpc/setjmp.S: ... Moved here
10114 * normal/sparc64/setjmp.S: Moved from here ...
10115 * lib/sparc64/setjmp.S: ... Moved here
10117 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
10118 returns_twice in mingw.
10120 * script/lua/grub_lib.c: New file.
10121 * script/lua/grub_lib.h: Likewise.
10122 * script/lua/grub_lua.h: Likewise.
10123 * script/lua/grub_main.c: Likewise.
10124 * script/lua/lapi.c: Likewise.
10125 * script/lua/lapi.h: Likewise.
10126 * script/lua/lauxlib.c: Likewise.
10127 * script/lua/lauxlib.h: Likewise.
10128 * script/lua/lbaselib.c: Likewise.
10129 * script/lua/lcode.c: Likewise.
10130 * script/lua/lcode.h: Likewise.
10131 * script/lua/ldblib.c: Likewise.
10132 * script/lua/ldebug.c: Likewise.
10133 * script/lua/ldebug.h: Likewise.
10134 * script/lua/ldo.c: Likewise.
10135 * script/lua/ldo.h: Likewise.
10136 * script/lua/ldump.c: Likewise.
10137 * script/lua/lfunc.c: Likewise.
10138 * script/lua/lfunc.h: Likewise.
10139 * script/lua/lgc.c: Likewise.
10140 * script/lua/lgc.h: Likewise.
10141 * script/lua/linit.c: Likewise.
10142 * script/lua/liolib.c: Likewise.
10143 * script/lua/llex.c: Likewise.
10144 * script/lua/llex.h: Likewise.
10145 * script/lua/llimits.h: Likewise.
10146 * script/lua/lmathlib.c: Likewise.
10147 * script/lua/lmem.c: Likewise.
10148 * script/lua/lmem.h: Likewise.
10149 * script/lua/loadlib.c: Likewise.
10150 * script/lua/lobject.c: Likewise.
10151 * script/lua/lobject.h: Likewise.
10152 * script/lua/lopcodes.c: Likewise.
10153 * script/lua/lopcodes.h: Likewise.
10154 * script/lua/loslib.c: Likewise.
10155 * script/lua/lparser.c: Likewise.
10156 * script/lua/lparser.h: Likewise.
10157 * script/lua/lstate.c: Likewise.
10158 * script/lua/lstate.h: Likewise.
10159 * script/lua/lstring.c: Likewise.
10160 * script/lua/lstring.h: Likewise.
10161 * script/lua/lstrlib.c: Likewise.
10162 * script/lua/ltable.c: Likewise.
10163 * script/lua/ltable.h: Likewise.
10164 * script/lua/ltablib.c: Likewise.
10165 * script/lua/ltm.c: Likewise.
10166 * script/lua/ltm.h: Likewise.
10167 * script/lua/lua.h: Likewise.
10168 * script/lua/luaconf.h: Likewise.
10169 * script/lua/lualib.h: Likewise.
10170 * script/lua/lundump.c: Likewise.
10171 * script/lua/lundump.h: Likewise.
10172 * script/lua/lvm.c: Likewise.
10173 * script/lua/lvm.h: Likewise.
10174 * script/lua/lzio.c: Likewise.
10175 * script/lua/lzio.h: Likewise.
10177 2009-05-16 Bean <bean123ch@gmail.com>
10179 * include/grub/kernel.h (grub_module_header_types): Add type
10182 * kern/main.c (grub_load_config): New function.
10183 (grub_main): Call grub_load_config to read boot config.
10185 * grub-mkimage (generate_image): New parameter config_path.
10186 (options): New option --config.
10187 (main): Parse --config option, and pass it to generate_image.
10189 2009-05-14 Christian Franke <franke@computer.org>
10191 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
10192 This fixes build on Cygwin.
10194 2009-05-14 Pavel Roskin <proski@gnu.org>
10196 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
10197 jump. This saves two bytes, so the typical case of 2 swapped
10198 drives would fit 32 bytes.
10200 2009-05-13 Pavel Roskin <proski@gnu.org>
10202 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
10203 grub_uint32_t to avoid a warning.
10205 * loader/i386/linux.c (allocate_pages): When assigning
10206 real_mode_mem, cast through grub_size_t to fix a warning. The
10207 code already makes sure that the value would fit a pointer.
10208 (grub_linux_setup_video): Cast render_target->data to
10209 grub_size_t to fix a warning.
10211 2009-05-13 Javier MartÃn <lordhabbit@gmail.com>
10213 * commands/i386/pc/drivemap.c: New file - implement drivemap
10215 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
10216 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
10218 2009-05-13 Pavel Roskin <proski@gnu.org>
10220 * util/i386/pc/grub-setup.c (setup): Remove unused variable
10221 embedding_area_exists.
10223 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
10225 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
10226 it easier to understand / work with.
10227 Improve warning messages for cases where there's no embedding area,
10228 or when it is too small (or core.img too large).
10230 2009-05-13 Pavel Roskin <proski@gnu.org>
10232 * loader/i386/pc/multiboot2.c: Add necessary includes for
10233 grub_multiboot2_real_boot().
10235 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
10236 PX record is always little-endian. We only need the lower 2
10239 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
10240 facilitate code reuse.
10241 (grub_cpio_mount): Use "struct head", not a char buffer. This
10242 fixes a warning reported by gcc 4.4.
10244 * kernel/disk.c (grub_disk_read): Use void pointer for the
10246 (grub_disk_write): Use const void pointer for the buffer.
10247 Adjust all callers. Remove unnecessary casts.
10249 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
10251 * util/i386/pc/grub-install.in: Update copyright year.
10253 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10257 * commands/gptsync.c: new file
10258 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
10259 (gptsync_mod_SOURCES): new variable
10260 (gptsync_mod_CFLAGS): likewise
10261 (gptsync_mod_LDFLAGS): likewise
10262 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
10264 (GRUB_PC_PARTITION_TYPE_HFS): likewise
10265 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
10266 * conf/i386-ieee1275.rmk: likewise
10267 * conf/i386-pc.rmk: likewise
10268 * conf/powerpc-ieee1275.rmk: likewise
10270 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10274 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
10275 (grub_dl_ref): likewise
10277 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
10279 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
10280 split in two functions (one for msdos and one for gpt).
10282 2009-05-08 Pavel Roskin <proski@gnu.org>
10284 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
10287 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
10288 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
10289 Initialize them with -1. Add sanity check for bad1. Eliminate
10292 2009-05-08 David S. Miller <davem@davemloft.net>
10294 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
10296 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
10298 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
10301 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
10303 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
10304 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
10306 2009-05-05 David S. Miller <davem@davemloft.net>
10308 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
10310 2009-05-05 Pavel Roskin <proski@gnu.org>
10312 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
10313 of grub_dl_ref() and grub_dl_unref().
10314 * commands/parttool.c: Remove preprocessor conditionals around
10315 grub_dl_ref() and grub_dl_unref().
10316 * fs/affs.c: Likewise.
10317 * fs/afs.c: Likewise.
10318 * fs/cpio.c: Likewise.
10319 * fs/ext2.c: Likewise.
10320 * fs/fat.c: Likewise.
10321 * fs/hfs.c: Likewise.
10322 * fs/hfsplus.c: Likewise.
10323 * fs/iso9660.c: Likewise.
10324 * fs/jfs.c: Likewise.
10325 * fs/minix.c: Likewise.
10326 * fs/ntfs.c: Likewise.
10327 * fs/reiserfs.c: Likewise.
10328 * fs/sfs.c: Likewise.
10329 * fs/udf.c: Likewise.
10330 * fs/ufs.c: Likewise.
10331 * fs/xfs.c: Likewise.
10332 * include/grub/dl.h: Likewise.
10333 * loader/xnu.c: Likewise.
10335 2009-05-04 Pavel Roskin <proski@gnu.org>
10337 * commands/acpi.c: Remove unused variable my_mod.
10338 * partmap/amiga.c: Likewise.
10339 * partmap/apple.c: Likewise.
10340 * partmap/gpt.c: Likewise.
10341 * partmap/pc.c: Likewise.
10342 * partmap/sun.c: Likewise.
10343 * term/gfxterm.c: Likewise.
10344 * term/i386/pc/vesafb.c: Likewise.
10345 * term/i386/pc/vga.c: Likewise.
10347 2009-05-04 David S. Miller <davem@davemloft.net>
10349 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
10350 pointer args to grub_ieee1275_get_property().
10352 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
10354 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
10355 devices, and do not traverse down under controller nodes.
10357 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
10358 (grub_ofdisk_open): Use it to un-escape "," characters.
10359 * kern/disk.c (find_part_sep): New.
10360 (grub_disk_open): Use it to find the first non-escaped ','
10361 character in the disk name.
10362 * util/ieee1275/devicemap.c (escape_of_path): New.
10363 (grub_util_emit_devicemap_entry): Use it.
10364 * util/sparc64/ieee1275/grub-install.in: Update script to
10365 strip partition specifiers properly by not triggering on
10366 '\' escaped ',' characters.
10368 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10370 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
10372 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
10374 (linux_vesafb_modes): Add a lot of additional modes to the list (based
10375 on documentation from Wikipedia).
10377 2009-05-04 Pavel Roskin <proski@gnu.org>
10379 * disk/ata.c: Spelling fixes.
10380 * disk/raid.c: Likewise.
10381 * disk/usbms.c: Likewise.
10382 * disk/dmraid_nvidia.c: Likewise.
10383 * kern/ieee1275/openfw.c: Likewise.
10384 * kern/ieee1275/init.c: Likewise.
10385 * kern/ieee1275/cmain.c: Likewise.
10386 * boot/i386/pc/cdboot.S: Likewise.
10387 * video/readers/png.c: Likewise.
10388 * video/i386/pc/vbe.c: Likewise.
10389 * fs/udf.c: Likewise.
10390 * fs/hfs.c: Likewise.
10391 * fs/reiserfs.c: Likewise.
10392 * efiemu/runtime/efiemu.c: Likewise.
10393 * efiemu/main.c: Likewise.
10394 * efiemu/mm.c: Likewise.
10395 * include/grub/elf.h: Likewise.
10396 * include/grub/xnu.h: Likewise.
10397 * include/grub/usbdesc.h: Likewise.
10398 * include/grub/usb.h: Likewise.
10399 * include/grub/script_sh.h: Likewise.
10400 * include/grub/lib/LzmaEnc.h: Likewise.
10401 * include/grub/efiemu/efiemu.h: Likewise.
10402 * include/grub/command.h: Likewise.
10403 * normal/menu.c: Likewise.
10404 * normal/main.c: Likewise.
10405 * normal/datetime.c: Likewise.
10406 * bus/usb/uhci.c: Likewise.
10407 * mmap/i386/uppermem.c: Likewise.
10408 * mmap/mmap.c: Likewise.
10409 * commands/acpi.c: Likewise.
10410 * commands/test.c: Likewise.
10411 * partmap/apple.c: Likewise.
10412 * font/font.c: Likewise.
10413 * loader/sparc64/ieee1275/linux.c: Likewise.
10414 * loader/macho.c: Likewise.
10415 * loader/i386/bsd_trampoline.S: Likewise.
10416 * loader/i386/bsd.c: Likewise.
10417 * loader/xnu.c: Likewise.
10418 * term/i386/pc/vesafb.c: Likewise.
10419 * term/usb_keyboard.c: Likewise.
10420 * util/resolve.c: Likewise.
10421 * util/getroot.c: Likewise.
10423 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
10425 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
10427 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10429 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
10432 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10434 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
10435 parameter only available on BIOS.
10437 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10439 Removed wrong semicolon in declaration
10441 * grub/misc.h (grub_dprintf): remove semicolon
10443 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10445 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
10446 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
10447 is done by grub_cmd_linux() now).
10448 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
10449 restore video to text mode.
10450 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
10451 indicates lack of "vga=" parameter. "vga=0" is mapped to
10452 `GRUB_LINUX_VID_MODE_NORMAL'.
10454 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
10456 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
10457 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
10458 and `normal/script.c'. Add `kern/rescue_reader.c',
10459 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
10460 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
10461 `grub_script.tab.c'.
10463 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10464 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10466 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10467 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10469 * Makefile.in: Remove duplicated 2008 in Copyright line.
10471 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10473 * util/misc.c (grub_util_warn): New function. Emits a warning
10475 * include/grub/util/misc.h (grub_util_warn): New declaration.
10477 * util/i386/pc/grub-install.in: Understand --force and pass it down
10480 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
10482 (setup): Improve error messages and add warnings when requested to
10483 install in odd layouts. Refuse to install using blocklists unless
10486 2009-05-04 martin f. krafft <madduck@madduck.net>
10488 * disk/raid.c (grub_raid_scan_device): Improve debug message.
10490 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10492 Updated copyright year
10494 * fs/hfsplus.c: updated copyright year
10496 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10500 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
10501 in the space previously used by unused3
10502 (grub_hfsplus_uuid): new function
10503 (grub_hfsplus_fs): added uuid field
10505 2009-05-03 Pavel Roskin <proski@gnu.org>
10507 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
10508 suppress warnings. It's no longer needed.
10509 * disk/host.c: Likewise.
10510 * disk/ata_pthru.c: Likewise.
10511 * disk/loopback.c: Likewise.
10512 * hook/datehook.c: Likewise.
10513 * parttool/pcpart.c: Likewise.
10514 * fs/i386/pc/pxe.c: Likewise.
10515 * fs/ntfscomp.c: Likewise.
10516 * efiemu/main.c: Likewise.
10517 * mmap/mmap.c: Likewise.
10518 * commands/crc.c: Likewise.
10519 * commands/hexdump.c: Likewise.
10520 * commands/hdparm.c: Likewise.
10521 * commands/acpi.c: Likewise.
10522 * commands/echo.c: Likewise.
10523 * commands/minicmd.c: Likewise.
10524 * commands/blocklist.c: Likewise.
10525 * commands/memrw.c: Likewise.
10526 * commands/loadenv.c: Likewise.
10527 * commands/usbtest.c: Likewise.
10528 * commands/lsmmap.c: Likewise.
10529 * commands/boot.c: Likewise.
10530 * commands/parttool.c: Likewise.
10531 * commands/configfile.c: Likewise.
10532 * commands/search.c: Likewise.
10533 * commands/ieee1275/suspend.c: Likewise.
10534 * commands/cat.c: Likewise.
10535 * commands/i386/pc/pxecmd.c: Likewise.
10536 * commands/i386/pc/play.c: Likewise.
10537 * commands/i386/pc/halt.c: Likewise.
10538 * commands/i386/pc/vbeinfo.c: Likewise.
10539 * commands/i386/pc/vbetest.c: Likewise.
10540 * commands/lspci.c: Likewise.
10541 * commands/date.c: Likewise.
10542 * commands/handler.c: Likewise.
10543 * commands/ls.c: Likewise.
10544 * commands/test.c: Likewise.
10545 * commands/cmp.c: Likewise.
10546 * commands/efi/loadbios.c: Likewise.
10547 * commands/efi/fixvideo.c: Likewise.
10548 * commands/halt.c: Likewise.
10549 * commands/help.c: Likewise.
10550 * commands/reboot.c: Likewise.
10551 * hello/hello.c: Likewise.
10552 * script/sh/main.c: Likewise.
10553 * loader/xnu.c: Likewise.
10554 * term/terminfo.c: Likewise.
10555 * term/i386/pc/serial.c: Likewise.
10556 * term/usb_keyboard.c: Likewise.
10558 2009-05-03 David S. Miller <davem@davemloft.net>
10560 * normal/menu.c: Include grub/parser.h
10562 2009-05-03 Pavel Roskin <proski@gnu.org>
10564 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
10566 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
10567 Suggested by Javier MartÃn <lordhabbit@gmail.com>
10569 * util/i386/pc/grub-mkrescue.in: Allow for the case when
10570 efiemu??.o doesn't exist.
10571 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
10574 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
10576 FreeBSD 64-bit support
10578 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
10579 and loader/i386/bsd_trampoline.S
10580 (bsd_mod_ASFLAGS): new variable
10581 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
10582 (FREEBSD_MODTYPE_KERNEL64): likewise
10583 (grub_bsd64_trampoline_start): likewise
10584 (grub_bsd64_trampoline_end): likewise
10585 (grub_bsd64_trampoline_selfjump): likewise
10586 (grub_bsd64_trampoline_gdt): likewise
10587 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
10588 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
10589 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
10590 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
10591 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
10593 * loader/i386/bsd_pagetable.c: new file
10594 * loader/i386/bsd_trampoline.S: likewise
10595 * loader/i386/bsd.c (ALIGN_QWORD): new macro
10596 (ALIGN_VAR): likewise
10597 (entry_hi): new variable
10598 (kern_end_mdofs): likewise
10599 (is_64bit): likewise
10600 (grub_freebsd_add_meta): use ALIGN_VAR
10601 (grub_e820_mmap): new declaration
10602 (grub_freebsd_add_mmap): new function
10603 (grub_freebsd_add_meta_module): support 64 bit kernels
10604 (grub_freebsd_list_modules): use ALIGN_VAR
10605 (gdt_descriptor): new declaration
10606 (grub_freebsd_boot): support 64 bit kernels
10607 (grub_bsd_elf64_hook): new function
10608 (grub_bsd_load_elf): support elf64
10610 2009-05-03 Bean <bean123ch@gmail.com>
10612 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
10613 after we get the result of if statement.
10615 2009-05-03 Bean <bean123ch@gmail.com>
10617 * Makefile.in (enable_efiemu): New variable.
10619 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
10621 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
10623 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
10624 path, add -mno-red-zone option.
10625 (efiemu64_s.o): Likewise.
10626 (efiemu64.o): Use macro $^ for source file.
10628 * configure.ac (--enable-efiemu): New option.
10630 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10634 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
10635 (pkglib_MODULES): add xnu.mod
10636 (xnu_mod_SOURCES): new variable
10637 (xnu_mod_CFLAGS): likewise
10638 (xnu_mod_LDFLAGS): likewise
10639 (xnu_mod_ASFLAGS): likewise
10640 * conf/i386-pc.rmk: likewise
10641 * conf/x86_64-efi.rmk: likewise
10642 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
10644 * include/grub/i386/macho.h: new file
10645 * include/grub/i386/xnu.h: likewise
10646 * include/grub/macho.h: likewise
10647 * include/grub/machoload.h: likewise
10648 * include/grub/x86_64/macho.h: likewise
10649 * include/grub/x86_64/xnu.h: likewise
10650 * include/grub/xnu.h: likewise
10651 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
10652 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
10653 * loader/i386/efi/xnu.c: new file
10654 * loader/i386/pc/xnu.c: likewise
10655 * loader/i386/xnu.c: likewise
10656 * loader/i386/xnu_helper.S: likewise
10657 * loader/macho.c: likewise
10658 * loader/xnu.c: likewise
10659 * loader/xnu_resume.c: likewise
10660 * util/grub-dumpdevtree: likewise
10661 * include/grub/i386/pit.h: include grub/err.h
10662 (grub_pit_wait): export
10663 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
10665 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10669 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
10670 _linux_efi, linux_efi.
10671 new files in grub-emu
10672 new targets efiemu32.o and efiemu64.o
10673 * loader/linux_normal_efiemu.c: likewise
10674 * loader/i386/efi/linux.c: added preliminary efiemu support
10675 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
10677 * include/grub/autoefi.h: new file
10678 * include/grub/i386/efiemu.h: likewise
10679 * include/grub/i386/pc/efiemu.h: likewise
10680 * include/grub/efi/api.h: add LL suffix when necessary
10681 new definitions relating to tables
10682 * include/grub/efiemu/efiemu.h: new file
10683 * include/grub/efiemu/runtime.h: likewise
10684 * efiemu/prepare.c: likewise
10685 * efiemu/loadcore_common.c: likewise
10686 * efiemu/loadcore64.c: likewise
10687 * efiemu/runtime/efiemu.sh: likewise
10688 * efiemu/runtime/efiemu.S: likewise
10689 * efiemu/runtime/efiemu.c: likewise
10690 * efiemu/runtime/config.h: likewise
10691 * efiemu/prepare32.c: likewise
10692 * efiemu/main.c: likewise
10693 * efiemu/modules/pnvram.c: likewise
10694 * efiemu/modules/i386: likewise
10695 * efiemu/modules/i386/pc: likewise
10696 * efiemu/modules/acpi.c: likewise
10697 * efiemu/i386/pc/cfgtables.c: likewise
10698 * efiemu/i386/loadcore64.c: likewise
10699 * efiemu/i386/loadcore32.c: likewise
10700 * efiemu/prepare64.c: likewise
10701 * efiemu/loadcore.c: likewise
10702 * efiemu/symbols.c: likewise
10703 * efiemu/mm.c: likewise
10704 * efiemu/loadcore32.c: likewise
10706 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10710 * commands/acpi.c: new file
10711 * commands/i386/pc/acpi.c: likewise
10712 * commands/efi/acpi.c: likewise
10713 * include/grub/acpi.h: likewise
10714 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
10715 (acpi_mod_SOURCES): new variable
10716 (acpi_mod_CFLAGS): likewise
10717 (acpi_mod_LDFLAGS): likewise
10718 * conf/i386-efi.rmk: likewise
10719 * conf/x86_64-efi.rmk: likewise
10721 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10723 Missing part from mmap patch
10725 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
10726 (grub_mmap_unregister)
10727 (grub_mmap_free_and_unregister): use grub_mmap_register
10729 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10733 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
10734 * loader/i386/linux.c (find_mmap_size): likewise
10735 (allocate_pages): likewise
10736 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
10737 (grub_fill_multiboot_mmap): likewise
10738 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
10739 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
10740 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
10741 (OPENBSD_MMAP_RESERVED): likewise
10742 * include/grub/i386/pc/memory.h: include grub/memory.h
10743 (grub_lower_mem): removed
10744 (grub_upper_mem): likewise
10745 (GRUB_MACHINE_MEMORY_ACPI): new definition
10746 (GRUB_MACHINE_MEMORY_NVS): likewise
10747 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
10748 (GRUB_MACHINE_MEMORY_HOLE): likewise
10749 (grub_machine_mmap_register): likewise
10750 (grub_machine_mmap_unregister): likewise
10751 (grub_machine_get_upper): likewise
10752 (grub_machine_get_lower): likewise
10753 (grub_machine_get_post64): likewise
10754 * include/grub/i386/efi/memory.h: new file
10755 * include/grub/x86_64/efi/memory.h: likewise
10756 * include/grub/efi/memory.h: likewise
10757 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
10758 (mmap_mod_SOURCES): new variable
10759 (mmap_mod_LDFLAGS): likewise
10760 (mmap_mod_ASFLAGS): likewise
10761 * conf/i386-coreboot.rmk: likewise
10762 * conf/i386-ieee1275.rmk: likewise
10763 * conf/i386-efi.rmk: likewise
10764 * conf/x86_64-efi.rmk: likewise
10765 * include/grub/types.h (UINT_TO_PTR): new macro
10766 (PTR_TO_UINT32): likewise
10767 (PTR_TO_UINT64): likewise
10768 * include/grub/memory.h: new file
10769 * mmap/i386/pc/mmap.c: likewise
10770 * mmap/i386/pc/mmap_helper.S: likewise
10771 * mmap/i386/uppermem.c: likewise
10772 * mmap/mmap.c: likewise
10773 * mmap/efi/mmap.c: likewise
10774 * kern/i386/coreboot/init.c (grub_machine_init): don't use
10776 * kern/i386/pc/init.c (grub_lower_mem): removed variable
10777 (grub_upper_mem): likewise
10778 (grub_machine_init): don't use grub_upper_mem,
10779 make grub_lower_mem local
10780 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
10781 grub_mmap_iterate and grub_mmap_get_upper
10782 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
10784 2009-05-02 Bean <bean123ch@gmail.com>
10786 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
10787 script/sh/parser.y.
10788 (pkglib_MODULES): Add normal.mod and sh.mod.
10789 (normal_SOURCES): New variable.
10790 (normal_mod_CFLAGS): Likewise.
10791 (normal_mod_LDFLAGS): Likewise.
10792 (sh_mod_SOURCES): Likewise.
10793 (sh_mod_CFLAGS): Likewise.
10794 (sh_mod_LDFLAGS): Likewise.
10796 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
10797 script/sh/lexer.c_DEPENDENCIES.
10798 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
10799 kern/rescue_reader.c and kern/rescue_parser.c.
10800 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
10801 (grub_emu_SOURCES): Change source files.
10802 (pkglib_MODULES): Remove normal.mod.
10803 (normal_SOURCES): Removed.
10804 (normal_mod_CFLAGS): Likewise.
10805 (normal_mod_LDFLAGS): Likewise.
10806 * conf/i386-coreboot.rmk: Likewise.
10807 * conf/i386-efi.rmk: Likewise.
10808 * conf/i386-ieee1276.rmk: Likewise.
10809 * conf/powerpc-ieee1275.rmk: Likewise.
10810 * conf/sparc64-ieee1275.rmk: Likewise.
10811 * conf/x86_64-efi.rmk: Likewise.
10813 * include/grub/command.h (grub_command_execute): New inline function.
10815 * include/grub/menu.h (grub_menu_entry): Removed commands field.
10817 * include/grub/normal.h: Remove <grub/setjmp.h>.
10818 (grub_fs_module_list): Moved to normal/autofs.c.
10819 (grub_exit_env): Removed.
10820 (grub_command_execute): Likewise.
10821 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
10823 (read_command_list): New function declaration.
10824 (read_fs_list): Likewise.
10826 * include/parser.h: Include <grub/reader.h>.
10827 (grub_parser_split_cmdline): Change type of getline parameter.
10828 (grub_parser): New structure.
10829 (grub_parser_class): New variable.
10830 (grub_parser_execute): New function declaration.
10831 (grub_register_rescue_parser): Likewise.
10832 (grub_parser_register): New inline function.
10833 (grub_parser_unregister): Likewise.
10834 (grub_parser_get_current): Likewise.
10835 (grub_parser_set_current): Likewise.
10837 * include/grub/reader.h: New file.
10838 * kern/reader.c: Likewise.
10839 * kern/rescue_parser.c: Likewise.
10840 * kern/rescue_reader.c: Likewise.
10841 * normal/autofs.c: Likewise.
10842 * normal/dyncmd.c: Likewise.
10844 * include/grub/rescue.h: Removed.
10845 * normal/command.h: Likewise.
10847 * include/grub/script.h: Moved to ...
10848 * include/grub/script_sh.h: ... Moved here.
10849 * normal/execute.c: Moved to ...
10850 * script/sh/execute.c: ... Moved here.
10851 * normal/function.c: Moved to ...
10852 * script/sh/function.c: ... Moved here.
10853 * normal/lexer.c: Moved to ...
10854 * script/sh/lexer.c: ... Moved here.
10855 * normal/parser.y: Moved to ...
10856 * script/sh/parser.y: ... Moved here.
10857 * normal/script.c: Moved to ...
10858 * script/sh/script.c: ... Moved here.
10860 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
10862 (grub_exit_env): Removed.
10863 (fs_module_list): Moved to normal/autofs.c.
10864 (grub_file_getline): Don't handle comment here.
10865 (free_menu): Skip removed field entry->commands.
10866 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
10868 (read_config_file): Removed nested parameter, change getline function.
10869 (grub_enter_normal_mode): Removed.
10870 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
10871 (read_command_list): Likewise.
10872 (autoload_fs_module): Moved to normal/autofs.c.
10873 (read_fs_list): Likewise.
10874 (reader_nested): New variable.
10875 (grub_normal_execute): Run parser.sh to switch to sh parser.
10876 (grub_cmd_rescue): Removed.
10877 (cmd_normal): Removed.
10878 (grub_cmd_normal): Unregister itself at the beginning. Don't register
10880 (grub_cmdline_run): New function.
10881 (grub_normal_reader_init): Likewise.
10882 (grub_normal_read_line): Likewise.
10883 (grub_env_write_pager): Likewise.
10884 (cmdline): New variable.
10885 (grub_normal_reader): Likewise.
10886 (GRUB_MOD_INIT): Register normal reader and set as current, register
10887 pager hook, register normal command with grub_register_command_prio,
10888 so that it won't show up in command.lst.
10889 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
10890 grub_fs_autoload_hook.
10892 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
10893 (grub_menu_execute_entry): Replace grub_script_execute with
10894 grub_parser_execute, change parameter to grub_command_execute.
10896 * normal/menu_text.c: Remove <grub/script.h>.
10898 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
10899 and <grub/parser.h>.
10900 (run): Change editor_getline to use new parser interface. Change
10901 parameter to grub_command_execute.
10903 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
10904 <grub/reader.h> and <grub/parser.h>.
10905 (grub_load_normal_mode): Execute normal command.
10906 (grub_main): Call grub_register_core_commands,
10907 grub_register_rescue_parser and grub_register_rescue_reader, use
10908 grub_reader_loop to enter input loop.
10910 * kern/parser.c (grub_parser_split_cmdline): Change type of
10912 (grub_parser_class): New variable.
10913 (grub_parser_execute): New function.
10915 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
10916 * loader/multiboot2.c: Likewise.
10917 * loader/sparc64/ieee1275/linux.c: Likewise.
10919 * util/grub-emu.c (read_command_list): New dummy function.
10921 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
10923 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
10924 count to 16 for CCISS and IDA.
10926 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
10928 * normal/menu_text.c (grub_wait_after_message): Print a newline
10929 after waiting for user input.
10931 * loader/i386/linux.c: Include `<grub/normal.h>'.
10932 (grub_cmd_linux): Improve the error message about `ask' mode, by
10933 waiting for user input so it's not missed (we can do this, since
10934 user requested interaction).
10936 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10938 Added missing lst to grub-mkrescue
10940 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
10941 and ${input_dir}/parttool.lst
10943 2009-04-30 David S. Miller <davem@davemloft.net>
10945 * util/hostdisk.c (device_is_wholedisk): New function.
10946 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
10947 zero only if device_is_wholedisk() returns true.
10949 * util/hostdisk.c (convert_system_partition_to_system_disk):
10950 Handle virtual disk devices named /dev/vdiskX as found on sparc
10953 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
10954 lettered partition specifier is found, convert to numbered.
10956 2009-04-29 David S. Miller <davem@davemloft.net>
10958 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
10959 * include/grub/sparc64/ieee1275/memory.h: Likewise.
10961 * normal/command.c: Add missing newline at end of file.
10963 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
10965 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
10966 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
10967 grub_ofdisk_read): Likewise, and deal similarly with the fact that
10968 ihandles have a 32-bit type but need to be stored in a "void *".
10970 2009-04-28 Pavel Roskin <proski@gnu.org>
10972 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
10973 not disk. Adjust all dependencies.
10974 (grub_fs_uuid_close): Use grub_device_close(), not
10977 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
10978 parent's partition, don't copy it by reference, as it gets freed
10981 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
10983 Preboot hooks support
10985 * commands/boot.c (struct grub_preboot_t): new declaration
10986 (preboots_head): new variable
10987 (preboots_tail): likewise
10988 (grub_loader_register_preboot_hook): new function
10989 (grub_loader_unregister_preboot_hook): likewise
10990 (grub_loader_set): launch preboot hooks
10991 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
10992 (grub_loader_register_preboot_hook): new declaration
10993 (grub_loader_unregister_preboot_hook): likewise
10995 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
10999 * disk/scsi.c (grub_scsi_open): added missing cast when
11000 calling grub_dprintf
11002 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
11004 Bug and warning fixes
11006 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
11008 * commands/test.c (test_parse): fixed bug with file tests and corrected
11009 declaration of find_file
11011 2009-04-26 Pavel Roskin <proski@gnu.org>
11013 * Makefile.in: Don't install empty manual pages if help2man is
11014 missing. Use help2man option for output, not shell redirection.
11016 2009-04-26 David S. Miller <davem@davemloft.net>
11018 * util/grub-mkdevicemap.c (make_device_map): Add missing
11019 NESTED_FUNC_ATTR to process_device().
11021 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11025 * commands/test.c: rewritten to use bash-like test
11027 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11029 Parttool autoloading and improvements
11031 * Makefile.in (pkglib_DATA): add parttool.lst
11032 (parttool.lst): new target
11033 * genmk.rb: generate parttool-*
11034 (CLEANFILES): add #{parttool}
11035 (PARTTOOLFILES): new variable
11036 * genparttoollist.sh: new file
11037 * parttool/pcpart.c (grub_pcpart_boot): more feedback
11038 (grub_pcpart_type): likewise
11039 * commands/parttool.c (helpmsg): new variable
11040 (grub_cmd_parttool): output help if not enough arguments are supplied
11042 (GRUB_MOD_INIT(parttool)): use helpmsg
11044 2009-04-24 David S. Miller <davem@davemloft.net>
11046 Avoiding opening same device multiple times in device iterator.
11048 * kern/device.c: (grub_device_iterate): Define struct part_ent,
11049 and use it to build a list of partitions in iterate_disk() and
11050 iterate_partition().
11052 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
11055 * disk/ieee1275/nand.c (grub_nand_iterate): Return
11056 grub_devalias_iterate() result instead of unconditional 0.
11057 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
11058 Also, capture hook return value, either directly or via
11059 grub_children_iterate(), and propagate to caller.
11060 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
11061 grub_children_iterate): Return value is now 'int' instead of
11063 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
11064 like a proper iterator, stopping when hooks return non-zero.
11065 (grub_devalias_iterate): Likewise.
11067 2009-04-23 David S. Miller <davem@davemloft.net>
11069 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
11071 2009-04-22 David S. Miller <davem@davemloft.net>
11073 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
11074 is larger than address_cells, use that value for address_cells too.
11076 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
11077 IEEE1275_MAX_PATH_LEN): Define.
11078 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
11079 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
11080 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
11081 'devtype'. Explicitly NULL terminate devalias expansion.
11083 * util/sparc64/ieee1275/misc.c: New file.
11084 * util/sparc64/ieee1275/grub-setup.c: New file.
11085 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
11086 * util/sparc64/ieee1275/grub-mkimage.c: New file.
11087 * util/sparc64/ieee1275/grub-install.in: New file.
11088 * util/ieee1275/ofpath.c: New file.
11089 * util/ieee1275/devicemap.c: New file.
11090 * util/devicemap.c: New file.
11091 * util/deviceiter.c: New file.
11092 * kern/sparc64/ieee1275/init.c: New file.
11093 * include/grub/util/ofpath.h: New file.
11094 * include/grub/util/deviceiter.h: New file.
11095 * util/grub-mkdevicemap.c: Include deviceiter.h.
11096 Implement using grub_util_emit_devicemap_entry and
11097 grub_util_iterate_devices.
11098 * conf/i386-corebook.rmk: Build util/deviceiter.c and
11099 util/devicemap.c into grub-mkdevicemap
11100 * conf/i386-efi.rmk: Likewise.
11101 * conf/i386-ieee1275.rmk: Likewise.
11102 * conf/i386-pc.rmk: Likewise.
11103 * conf/powerpc-ieee1275.rmk: Likewise.
11104 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
11105 images and installation utilities. Build kernel as image
11106 instead of as elf binary. Use common rules as much as possible.
11108 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11110 Correct GPT definition
11112 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
11115 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
11117 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
11119 2009-04-19 David S. Miller <davem@davemloft.net>
11121 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
11122 (grub_rescue_cmd_linux): Rename to...
11123 (grub_cmd_linux): and fix prototype.
11124 (grub_rescue_cmd_initrd): Rename to...
11125 (grub_cmd_initrd): and fix prototype.
11126 (cmd_linux, cmd_initrd): New.
11127 (GRUB_MOD_INIT(linux)): Use grub_register_command().
11128 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
11130 2009-04-17 Pavel Roskin <proski@gnu.org>
11132 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
11134 (grub_ohci_transfer): Likewise.
11136 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
11138 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
11139 return without a value. Fix inconsistent indentation.
11141 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
11142 match struct grub_fs.
11144 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
11145 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
11146 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11147 * commands/lspci.c (grub_lspci_iter): Likewise.
11149 2009-04-16 Bean <bean123ch@gmail.com>
11151 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
11154 2009-04-15 Pavel Roskin <proski@gnu.org>
11156 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
11157 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
11158 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
11161 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
11163 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
11164 that no multiple data or metadata areas are supported and `Unknown
11167 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
11169 Move loader out of the kernel
11171 * kern/loader.c: moved to ...
11172 * commands/boot.c: ... moved here
11173 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
11174 * commands/boot.c (grub_cmd_boot): moved here. All users updated
11175 * include/grub/kernel.h (grub_machine_fini): export
11176 * include/grub/loader.h (grub_loader_is_loaded): update declaration
11177 (grub_loader_set): likewise
11178 (grub_loader_unset): likewise
11179 (grub_loader_boot): likewise
11180 * conf/common.rmk: new module boot.mod
11181 (pkglib_MODULES): add boot.mod
11182 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
11183 (grub_emu_SOURCES): likewise
11184 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
11185 (grub_emu_SOURCES): likewise
11186 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
11187 (grub_emu_SOURCES): likewise
11188 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
11189 (grub_emu_SOURCES): likewise
11190 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
11191 (grub_emu_SOURCES): likewise
11192 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
11193 (grub_emu_SOURCES): likewise
11194 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
11195 (grub_emu_SOURCES): likewise
11197 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
11199 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
11201 * kern/misc.c (grub_itoa): Removed function
11202 (grub_ltoa): likewise
11203 (grub_vsprintf): use grub_lltoa
11205 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
11209 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
11210 * conf/i386-coreboot.rmk: likewise
11211 * conf/i386-ieee1275.rmk: likewise
11212 * conf/powerpc-ieee1275.rmk: likewise
11214 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
11216 * INSTALL: Add that `./autogen.sh' needs to be run before
11219 2009-04-14 Bean <bean123ch@gmail.com>
11221 * Makefile.in (pkglib_DATA): Add handler.lst.
11222 (handler.lst): New rule.
11224 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
11225 * conf/i386-coreboot.rmk: Likewise.
11226 * conf/i386-ieee1275.rmk: Likewise.
11227 * conf/i386-efi.rmk: Likewise.
11228 * conf/x86_64-efi.rmk: Likewise.
11229 * conf/powerpc-ieee1275.rmk: Likewise.
11230 * conf/sparc64-ieee1275.rmk: Likewise.
11232 * genhandlerlist.sh: New file.
11234 * genmk.rb: Add rules to generate handler.lst.
11236 * include/grub/normal.h (grub_file_getline): New function definition.
11237 (read_handler_list): Likewise.
11238 (free_handler_list): Likewise.
11240 * include/grub/term.h (grub_term_register_input): Add name parameter
11241 for auto generation of handler.lst.
11242 (grub_term_register_output): Likewise.
11244 * normal/handler.c: New file.
11246 * normal/main.c (get_line): Renamed to grub_file_getline.
11247 (read_config_file): Use the newly renamed grub_file_getline.
11248 (read_command_list): Likewise.
11249 (read_fs_list): Likewise.
11250 (grub_normal_execute): Call read_handler_list to parse handler.lst.
11251 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
11253 * term/efi/console.c (grub_console_init): Add name parameter for auto
11254 generation of handler.lst.
11255 * term/gfxterm.c: Likewise.
11256 * term/i386/pc/at_keyboard.c: Likewise.
11257 * term/i386/pc/console.c: Likewise.
11258 * term/i386/pc/serial.c: Likewise.
11259 * term/i386/pc/vesafb.c: Likewise.
11260 * term/i386/pc/vga.c: Likewise.
11261 * term/i386/pc/vga_text.c: Likewise.
11262 * term/ieee1275/ofconsole.c: Likewise.
11263 * term/usb_keyboard.c: Likewise.
11265 2009-04-14 Bean <bean123ch@gmail.com>
11267 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
11268 properly with null character.
11270 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
11272 * configure: Remove.
11273 * config.h.in: Likewise.
11274 * stamp-h.in: Likewise.
11275 * DISTLIST: Likewise.
11276 * conf/common.mk: Likewise.
11277 * conf/i386-coreboot.mk: Likewise.
11278 * conf/i386-efi.mk: Likewise.
11279 * conf/i386-ieee1275.mk: Likewise.
11280 * conf/i386.mk: Likewise.
11281 * conf/i386-pc.mk: Likewise.
11282 * conf/powerpc-ieee1275.mk: Likewise.
11283 * conf/sparc64-ieee1275.mk: Likewise.
11284 * conf/x86_64-efi.mk: Likewise.
11286 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
11289 2009-04-14 John Stanley <jpsinthemix@verizon.net>
11290 David S. Miller <davem@davemloft.net>
11292 * util/hostdisk.c (make_device_name): Fix buffer length
11295 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
11297 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
11298 <sys/param.h> and <sys/sysctl.h>.
11299 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
11300 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
11301 opening the device and reset them afterwards.
11303 2009-04-13 Pavel Roskin <proski@gnu.org>
11305 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
11306 Reported by John Stanley <jpsinthemix@verizon.net>
11308 2009-04-13 Robert Millan <rmh@aybabtu.com>
11310 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
11311 that name for menuentries when appropriate.
11313 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
11315 * util/grub.d/10_freebsd.in: Add a missing `fi'.
11317 2009-04-13 Robert Millan <rmh@aybabtu.com>
11319 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
11320 to Linux, simply abort telling the user it's no longer supported.
11322 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
11324 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
11325 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
11326 `freebsd_loadenv' only when devices.hints exist.
11328 2009-04-13 Pavel Roskin <proski@gnu.org>
11330 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
11332 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
11334 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
11336 (grub_drive): Likewise.
11338 2009-04-13 David S. Miller <davem@davemloft.net>
11340 * kern/sparc64/ieee1275/ieee1275.c: New file.
11341 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
11342 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
11343 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
11344 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
11345 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
11346 grub_ieee1275_alloc_physmem): Declare new exported functions.
11348 * include/grub/sparc64/ieee1275/loader.h: New file.
11349 * include/grub/sparc64/ieee1275/memory.h: Likewise.
11350 * include/grub/sparc64/kernel.h: Likewise.
11351 * loader/sparc64/ieee1275/linux.c: Likewise.
11353 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
11354 (grub_fstest_SOURCES): Likewise.
11356 * util/hostdisk.c (make_device_name): Do not make any assumptions
11357 about the length of drive names.
11359 * kern/dl.c (grub_dl_load_file): Close file immediately when
11360 we are done using it.
11362 2009-04-12 David S. Miller <davem@davemloft.net>
11364 * kern/misc.c (grub_ltoa): Fix cast when handling negative
11365 values. Noticed by Pavel Roskin.
11367 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
11370 * genmk.rb: Add more flexible image type specification, also
11371 pass --strip-unneeded to objcopy.
11372 * conf/i386-pc.rmk: Use *_FORMAT.
11373 * conf/i386-pc.mk: Rebuilt.
11375 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
11376 (OFDISK_HASH_SZ): Define.
11377 (ofdisk_hash): New hash table.
11378 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
11379 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
11380 instead of device phandle which is not unique.
11382 * kern/sparc64/ieee1275/init.c: Delete, replace with...
11383 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
11384 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
11385 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
11386 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
11387 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
11388 GRUB_KERNEL_MACHINE_DATA_END): Define.
11389 (grub_kernel_image_size, grub_total_module_size): Declare.
11391 2009-04-12 Pavel Roskin <proski@gnu.org>
11393 * configure.ac: Change the logic when we check for target tools.
11394 Do it when the target is specified and it's different from the
11395 specified value of the host.
11397 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
11399 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
11400 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
11401 GNU/kFreeBSD. Check if a device is a character device. Use
11402 DIOCGMEDIASIZE to get the size.
11403 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
11404 support for GNU/kFreeBSD.
11405 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
11406 is a character device instead of a block device. Add support for
11407 FreeBSD device names.
11409 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
11410 is a character device instead of a block device.
11412 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
11413 is a character device instead of a block device.
11415 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
11417 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
11418 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
11419 FreeBSD. Check if a device is a character device. Use
11420 DIOCGMEDIASIZE to get the size.
11421 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
11422 support for FreeBSD.
11423 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
11424 is a character device instead of a block device. Add support for
11425 FreeBSD device names.
11427 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
11428 a character device instead of a block device.
11429 (grub_util_check_char_device): New function.
11431 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
11432 a character device instead of a block device.
11434 * include/grub/util/getroot.h (grub_util_check_char_device): New
11437 2009-04-11 David S. Miller <davem@davemloft.net>
11439 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
11441 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
11442 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
11443 function, if present.
11444 (__bswapdi2): Likewise.
11446 * include/grub/sparc64/ieee1275/boot.h: New file.
11447 * boot/sparc64/ieee1275/boot.S: Likewise.
11448 * boot/sparc64/ieee1275/diskboot.S: Likewise.
11450 * kern/misc.c (grub_ltoa): New function.
11451 (grub_vsprintf): Use it to format 'long' integers.
11453 2009-04-10 David S. Miller <davem@davemloft.net>
11455 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
11456 slots are of type grub_ieee1275_cell_t.
11457 (grub_nand_read): Likewise.
11458 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
11459 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
11460 macros are used to compare values in arg/ret block of the call.
11461 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
11462 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
11463 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
11464 grub_ieee1275_instance_to_path, grub_ieee1275_write,
11465 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
11466 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
11467 grub_ieee1275_close, grub_ieee1275_set_property,
11468 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
11469 grub_ieee1275_cell_t.
11470 * kern/ieee1275/openfw.c (grub_map): Likewise.
11471 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
11472 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
11474 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
11475 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
11476 (grub_devalias_iterate): Likewise.
11478 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11482 * fs/ufs.c (INODE_NBLOCKS): new definition
11483 (struct grub_ufs_dirent): added fields for non-BSD dirents
11484 (grub_ufs_get_file_block): fixed double indirect handling
11485 (grub_ufs_lookup_symlink): use more robust way to determine whether
11487 (grub_ufs_find_file): support for non-BSD dirents
11488 (grub_ufs_dir): support for non-BSD dirents
11490 2009-04-10 Bean <bean123ch@gnail.com>
11492 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
11493 attribute, otherwise the size would be wrong for i386 platform.
11495 * include/grub/pci.h (grub_pci_read_word): New inline function.
11496 (grub_pci_read_byte): Likewise.
11497 (grub_pci_write): Likewise.
11498 (grub_pci_write_word): Likewise.
11499 (grub_pci_write_byte): Likewise.
11501 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
11503 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
11504 (find_framebuf): Scan pci to locate the frame buffer address.
11506 * commands/efi/fixvideo.c: New file.
11508 * commands/efi/loadbios.c: Likewise.
11510 * commands/memrw.c: Likewise.
11512 * util/grub-dumpbios.in: Likewise.
11514 * conf/common.rmk (grub-dumpbios): New utility.
11515 (pkglib_MODULES): New module memrw.mod.
11516 (memrw_mod_SOURCE): New macro.
11517 (memrw_mod_CFLAGS): Likewise.
11518 (memrw_mod_LDFLAGS): Likewise.
11520 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
11522 (loadbios_mod_SOURCE): New macro.
11523 (loadbios_mod_CFLAGS): Likewise.
11524 (loadbios_mod_LDFLAGS): Likewise.
11525 (fixvideo_mod_SOURCE): Likewise.
11526 (fixvideo_mod_CFLAGS): Likewise.
11527 (fixvideo_mod_LDFLAGS): Likewise.
11529 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
11531 (loadbios_mod_SOURCE): New macro.
11532 (loadbios_mod_CFLAGS): Likewise.
11533 (loadbios_mod_LDFLAGS): Likewise.
11534 (fixvideo_mod_SOURCE): Likewise.
11535 (fixvideo_mod_CFLAGS): Likewise.
11536 (fixvideo_mod_LDFLAGS): Likewise.
11538 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
11540 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
11542 2009-04-07 David S. Miller <davem@davemloft.net>
11544 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
11545 support for R_SPARC_OLO10 relocations. Fix compile warning for
11546 R_SPARC_WDISP30 case.
11547 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
11549 2009-04-06 Pavel Roskin <proski@gnu.org>
11551 * include/grub/misc.h (ARRAY_SIZE): New macro.
11552 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
11554 * loader/i386/linux.c (allocate_pages): Use free_pages().
11555 (grub_linux_unload): Don't use free_pages().
11556 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
11557 wrong index. Treat all other modes as text modes.
11558 (grub_cmd_linux): Initialize vid_mode unconditionally to
11559 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
11561 * commands/help.c (print_command_help): Use cmd->prio, not
11562 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
11564 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11568 * parttool/pcpart.c: new file
11569 * commands/parttool.c: likewise
11570 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
11571 (parttool_mod_SOURCES): new variable
11572 (parttool_mod_CFLAGS): likewise
11573 (parttool_mod_LDFLAGS): likewise
11574 (pcpart_mod_SOURCES): likewise
11575 (pcpart_mod_CFLAGS): likewise
11576 (pcpart_mod_LDFLAGS): likewise
11577 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
11578 and parttool/pcpart.c
11579 * conf/i386-efi.rmk: likewise
11580 * conf/i386-ieee1275.rmk: likewise
11581 * conf/i386-pc.rmk: likewise
11582 * conf/powerpc-ieee1275.rmk: likewise
11583 * conf/sparc64-ieee1275.rmk: likewise
11584 * conf/x86_64-ieee1275.rmk: likewise
11586 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11588 Support for mtime and further expandability of dir command
11590 * include/grub/lib/datetime.h: moved to ...
11591 * include/grub/datetime.h: ... moved here and added
11592 declaration of grub_unixtime2datetime. All users updated
11593 * include/grub/fs.h: new syntax for dir and mtime functions in
11595 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
11596 and GRUB_FSHELP_FLAGS_MASK
11597 * commands/ls.c (grub_ls_list_files): Write mtime in long format
11598 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
11599 (grub_ext2_mtime): new function
11600 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
11601 (grub_hfsplus_mtime): new function
11602 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
11603 (GRUB_UFS_ATTR_FILE): likewise
11604 (GRUB_UFS_ATTR_LNK): likewise
11605 (struct grub_ufs_sblock): new fields mtime
11606 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
11608 (grub_ufs_dir): mtime support
11609 (grub_ufs_mtime): new function
11610 * fs/affs.c (grub_affs_dir): use new dir syntax
11611 * fs/afs.c (grub_afs_dir): likewise
11612 * fs/cpio.c (grub_cpio_dir): likewise
11613 * fs/fat.c (grub_fat_find_dir): likewise
11614 * fs/hfs.c (grub_hfs_dir): likewise
11615 * fs/iso9660.c (grub_iso9660_dir): likewise
11616 * fs/jfs.c (grub_jfs_dir): likewise
11617 * fs/minix.c (grub_minix_dir): likewise
11618 * fs/ntfs.c (grub_ntfs_dir): likewise
11619 * fs/reiserfs.c (grub_reiserfs_dir): likewise
11620 * fs/sfs.c (grub_sfs_dir): likewise
11621 * fs/xfs.c (grub_xfs_dir): likewise
11622 * util/hostfs.c (grub_hostfs_dir): likewise
11623 * lib/datetime.c: moved to ...
11624 * normal/datetime.c: ... moved here
11625 (grub_unixtime2datetime): new function
11626 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
11627 * normal/completion.c (iterate_dir): use new dir syntax
11628 * normal/misc.c (grub_normal_print_device_info): tell the
11629 last modification time of a volume
11630 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
11631 * conf/common.rmk: added lib/datetime.c to ls.mod
11632 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
11633 (normal_mod_SOURCES): likewise
11634 (datetime_mod_SOURCES): Removed lib/datetime.c
11635 * conf/i386-efi.rmk: likewise
11636 * conf/i386-ieee1275.rmk: likewise
11637 * conf/i386-pc.rmk: likewise
11638 * conf/powerpc-ieee1275.rmk: likewise
11639 * conf/sparc64-ieee1275.rmk: likewise
11640 * conf/x86_64-efi.rmk: likewise
11642 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11644 Trim trailing spaces in FAT label and support mtools-like labels
11646 * fs/fat.c (grub_fat_iterate_dir): New function based
11647 on grub_fat_find_dir
11648 (grub_fat_find_dir): use grub_fat_iterate_dir
11649 (grub_fat_label): likewise
11651 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11653 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
11655 remove extraneous kernel_elf_HEADERS
11657 2009-04-04 Bean <bean123ch@gnail.com>
11659 * include/grub/util/misc.h: Add dummy function fsync for mingw.
11661 * util/misc.c: Likewise.
11663 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
11665 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
11666 instead of grub_printf.
11668 2009-04-03 Robert Millan <rmh@aybabtu.com>
11670 * loader/i386/linux.c (grub_linux_setup_video): Fill
11671 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
11672 values from `mode info' structure instead of hardcoded
11675 2009-04-01 Pavel Roskin <proski@gnu.org>
11677 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
11679 * genmk.rb: Likewise.
11680 * configure.ac: Likewise.
11682 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
11684 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
11685 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
11687 2009-04-01 David S. Miller <davem@davemloft.net>
11689 * normal/sparc64/setjmp.S: Fix setjmp implementation.
11690 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
11691 (grub_setjmp): Mark with 'returns_twice' attribute.
11692 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
11693 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
11694 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
11696 2009-04-01 Robert Millan <rmh@aybabtu.com>
11698 Reapply fix from 2008-07-28 which was accidentally reverted; also
11699 perform the same fix to a similar check in same function.
11701 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
11702 with the same number are found, just use issue a warning with
11703 grub_dprintf(), as this error has been reported to be non-fatal.
11705 2009-03-31 Pavel Roskin <proski@gnu.org>
11707 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
11708 for cross-compilation.
11710 2009-03-30 Robert Millan <rmh@aybabtu.com>
11712 Fix i386-ieee1275 build.
11714 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
11715 Remove declaration.
11717 2009-03-30 Pavel Roskin <proski@gnu.org>
11719 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
11720 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
11721 zero-terminated, rely only on the strlen value. Fix comparison
11722 of strings differing in length.
11724 2009-03-30 Robert Millan <rmh@aybabtu.com>
11726 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
11727 checking for abi version. Improve error messages on BIOS to notify
11728 user about `linux16' command.
11730 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11734 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
11735 in case of collision
11736 * disk/scsi.c (grub_scsi_open): free scsi in case of error
11738 2009-03-29 Robert Millan <rmh@aybabtu.com>
11740 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
11741 set `vid_mode' accordingly.
11742 (grub_linux_boot): Process `vid_mode' and set video mode.
11744 2009-03-29 Robert Millan <rmh@aybabtu.com>
11746 * util/grub.d/10_linux.in (linux_entry): New function.
11747 Factorize generation of Linux boot entries.
11749 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
11751 Make the format of Environment Block plain text. The boot loader
11752 part is not tested well yet.
11754 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
11756 (envblk): Likewise.
11757 (usage): Remove "info" and "clear". Add "unset". Update the
11758 description of "set", as this does not delete variables any
11760 (create_envblk_file): Complete rewrite.
11761 (open_envblk_file): Likewise.
11762 (cmd_info): Removed.
11763 (cmd_list): Likewise.
11764 (cmd_set): Likewise.
11765 (cmd_clear): Likewise.
11766 (list_variables): New function.
11767 (write_envblk): Likewise.
11768 (set_variables): Likewise.
11769 (unset_variables): Likewise.
11770 (main): Complete rewrite.
11772 * commands/loadenv.c (buffer): Removed.
11773 (envblk): Likewise.
11774 (open_envblk_file): New function.
11775 (read_envblk_file): Complete rewrite.
11776 (grub_cmd_load_env): Likewise.
11777 (grub_cmd_list_env): Likewise.
11778 (struct blocklist): New struct.
11779 (free_blocklists): New function.
11780 (check_blocklists): Likewise.
11781 (write_blocklists): Likewise.
11782 (grub_cmd_save_env): Complete rewrite.
11784 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
11785 a plain text signature.
11786 (GRUB_ENVBLK_MAXLEN): Removed.
11787 (struct grub_envblk): Complete rewrite.
11788 (grub_envblk_find): Removed.
11789 (grub_envblk_insert): Likewise.
11790 (grub_envblk_open): New prototype.
11791 (grub_envblk_set): Likewise.
11792 (grub_envblk_delete): Put const to VALUE.
11793 (grub_envblk_iterate): Put const to NAME and VALUE.
11794 (grub_envblk_close): New prototype.
11795 (grub_envblk_buffer): New inline function.
11796 (grub_envblk_size): Likewise.
11798 * lib/envblk.c: Include grub/mm.h.
11799 (grub_env_find): Removed.
11800 (grub_envblk_open): New function.
11801 (grub_envblk_close): Likewise.
11802 (escaped_value_len): Likewise.
11803 (find_next_line): Likewise.
11804 (grub_envblk_insert): Removed.
11805 (grub_envblk_set): New function.
11806 (grub_envblk_delete): Complete rewrite.
11807 (grub_envblk_iterate): Likewise.
11809 2009-03-28 Robert Millan <rmh@aybabtu.com>
11811 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
11812 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
11813 variables. Use 16-bit loader.
11814 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
11816 * kern/i386/loader.S (grub_linux_boot): Rename to ...
11817 (grub_linux16_boot): ... this. Update all users.
11818 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
11819 (grub_linux_boot): ... this. Update all users.
11821 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
11822 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
11823 commands to `linux16' and `initrd16'.
11824 (GRUB_MOD_FINI(linux)): Rename to ...
11825 (GRUB_MOD_FINI(linux16)): ... this.
11827 2009-03-24 Pavel Roskin <proski@gnu.org>
11829 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
11830 not just for compilation.
11832 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
11834 Move multiboot helper out of kernel
11836 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
11837 `loader/i386/multiboot_helper.S'.
11838 * conf/i386-coreboot.rmk: Likewise
11839 * conf/i386-ieee1275.rmk: Likewise
11841 * kern/i386/loader.S: Move multiboot helpers from here...
11842 * loader/i386/multiboot_helper.S: ...moved here
11843 * include/grub/i386/loader.h: Move declarations of multiboot
11844 helpers from here...
11845 * include/grub/i386/multiboot.h: ...moved here
11846 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
11848 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
11850 * kern/env.c (grub_env_context_open): Added an argument to specify
11851 whether a new context inherits exported variables from current
11852 one. This is useful when making a sandbox to interpret a config
11854 All callers updated.
11856 * include/grub/env.h (grub_env_context_open): Updated the prototype.
11858 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
11860 * kern/env.c (grub_env_context_close): Fix memory leaks.
11862 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
11864 * normal/main.c (grub_normal_execute): Added an argument
11865 BATCH to specify if an interactive interface should be provided
11866 after reading a config file.
11867 All callers updated.
11868 (read_command_list): Prevent being executed twice.
11869 (read_fs_list): Likewise.
11871 * include/grub/normal.h (grub_normal_execute): Updated the
11874 2009-03-22 Pavel Roskin <proski@gno.org>
11876 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
11878 * kern/i386/pc/startup.S: Likewise.
11879 * kern/i386/efi/startup.S: Likewise.
11880 * kern/i386/ieee1275/startup.S: Likewise.
11881 * kern/i386/coreboot/startup.S: Likewise.
11882 * kern/x86_64/efi/startup.S: Likewise.
11884 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
11885 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
11886 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
11888 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
11890 Bugfixes in multiboot for bugs uncovered by solaris kernel.
11892 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
11894 Use vaddr of correct segment for entry_point.
11896 2009-03-21 Bean <bean123ch@gmail.com>
11898 * commands/blocklist.c: Add include file <grub/command.h>, remove
11899 <grub/normal.h> and <grub/arg.h>.
11900 (grub_cmd_blocklist): Use the new command interface.
11901 (GRUB_MOD_INIT): Likewise.
11902 (GRUB_MOD_FINI): Likewise.
11903 * commands/boot.c: Likewise.
11904 * commands/cat.c: Likewise.
11905 * commands/cmp.c: Likewise.
11906 * commands/configfile.c: Likewise.
11907 * commands/crc.c: Likewise.
11908 * commands/echo.c: Likewise.
11909 * commands/halt.c: Likewise.
11910 * commands/handler.c: Likewise.
11911 * commands/hdparm.c: Likewise.
11912 * commands/help.c: Likewise.
11913 * commands/hexdump.c: Likewise.
11914 * commands/loadenv.c: Likewise.
11915 * commands/ls.c: Likewise.
11916 * commands/lsmmap.c: Likewise.
11917 * commands/lspci.c: Likewise.
11918 * commands/loadenv.c: Likewise.
11919 * commands/read.c: Likewise.
11920 * commands/reboot.c: Likewise.
11921 * commands/search.c: Likewise.
11922 * commands/sleep.c: Likewise.
11923 * commands/test.c: Likewise.
11924 * commands/usbtest.c: Likewise.
11925 * commands/videotest.c: Likewise.
11926 * commands/i386/cpuid.c: Likewise.
11927 * commands/i386/pc/halt.c: Likewise.
11928 * commands/i386/pc/play.c: Likewise.
11929 * commands/i386/pc/pxecmd.c: Likewise.
11930 * commands/i386/pc/vbeinfo.c: Likewise.
11931 * commands/i386/pc/vbetest.c: Likewise.
11932 * commands/ieee1275/suspend.c: Likewise.
11933 * disk/loopback.c: Likewise.
11934 * font/font_cmd.c: Likewise.
11935 * hello/hello.c: Likewise.
11936 * loader/efi/appleloader.c: Likewise.
11937 * loader/efi/chainloader.c: Likewise.
11938 * loader/i386/bsd.c: Likewise.
11939 * loader/i386/efi/linux.c: Likewise.
11940 * loader/i386/ieee1275/linux.c: Likewise.
11941 * loader/i386/linux.c: Likewise.
11942 * loader/i386/pc/chainloader.c: Likewise.
11943 * loader/i386/pc/linux.c: Likewise.
11944 * loader/powerpc/ieee1275/linux.c: Likewise.
11945 * loader/multiboot_loader.c: Likewise.
11946 * term/gfxterm.c: Likewise.
11947 * term/i386/pc/serial.c: Likewise.
11948 * term/terminfo.c: Likewise.
11950 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
11951 * term/i386/pc/vga.c: Likewise.
11952 * video/readers/jpeg.c: Likewise.
11953 * video/readers/png.c: Likewise.
11954 * video/readers/tga.c: Likewise.
11956 * util/grub-fstest (cmd_loopback): Removed.
11957 (cmd_blocklist): Likewise.
11958 (cmd_ls): Likewise.
11959 (grub_register_command): Likewise.
11960 (grub_unregister_command): Likewise.
11961 (execute_command): Use grub_command_find to locate command and execute
11964 * include/grub/efi/chainloader.h: Removed.
11965 * loader/efi/chainloader_normal.c: Likewise.
11966 * loader/i386/bsd_normal.c: Likewise.
11967 * loader/i386/pc/chainloader_normal.c: Likewise.
11968 * loader/i386/pc/multiboot_normal.c: Likewise.
11969 * loader/linux_normal.c: Likewise.
11970 * loader/multiboot_loader_normal.c: Likewise.
11971 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
11973 * gencmdlist.sh: Scan new registration command grub_register_extcmd
11974 and grub_register_command_p1.
11976 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
11977 kern/command.c, lib/arg.c and commands/extcmd.c.
11978 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
11979 (minicmd_mod_SOURCES): New variable.
11980 (minicmd_mod_CFLAGS): Likewise.
11981 (minicmd_mod_LDFLAGS): Likewise.
11982 (extcmd_mod_SOURCES): Likewise.
11983 (extcmd_mod_CFLAGS): Likewise.
11984 (extcmd_mod_LDFLAGS): Likewise.
11985 (boot_mod_SOURCES): Removed.
11986 (boot_mod_CFLAGS): Likewise.
11987 (boot_mod_LDFLAGS): Likewise.
11989 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
11991 (kernel_img_HEADERS): Add command.h.
11992 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
11993 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
11995 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
11996 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
11997 remove the corresponding normal mode command.
11998 (normal_mod_SOURCES): Remove normal/arg.c.
11999 * conf/i386-coreboot.rmk: Likewise.
12000 * conf/i386-efi.rmk: Likewise.
12001 * conf/i386-ieee1275.rmk: Likewise.
12002 * conf/powerpc-ieee1275.rmk: Likewise.
12003 * conf/x86_64-efi.rmk: Likewise.
12005 * include/grub/arg.h: Move from here ...
12006 * include/grub/lib/arg.h: ... to here.
12008 * normal/arg.c: Move from here ...
12009 * lib/arg.c: ... to here.
12011 * commands/extcmd.c: New file.
12012 * commands/minicmd.c: Likewise.
12013 * include/grub/command.h: Likewise.
12014 * include/grub/extcmd.h: Likewise.
12015 * kern/command.c: Likewise.
12016 * kern/corecmd.c: Likewise.
12018 * kern/list.c (grub_list_iterate): Return int instead of void.
12019 (grub_list_insert): New function.
12020 (grub_prio_list_insert): Likewise.
12022 * kern/rescue.c (grub_rescue_command): Removed.
12023 (grub_rescue_command_list): Likewise.
12024 (grub_rescue_register_command): Likewise.
12025 (grub_rescue_unregister_command): Likewise.
12026 (grub_rescue_cmd_boot): Move to minicmd.c
12027 (grub_rescue_cmd_help): Likewise.
12028 (grub_rescue_cmd_info): Likewise.
12029 (grub_rescue_cmd_boot): Likewise.
12030 (grub_rescue_cmd_testload): Likewise.
12031 (grub_rescue_cmd_dump): Likewise.
12032 (grub_rescue_cmd_rmmod): Likewise.
12033 (grub_rescue_cmd_lsmod): Likewise.
12034 (grub_rescue_cmd_exit): Likewise.
12035 (grub_rescue_print_devices): Moved to corecmd.c.
12036 (grub_rescue_print_files): Likewise.
12037 (grub_rescue_cmd_ls): Likewise.
12038 (grub_rescue_cmd_insmod): Likewise.
12039 (grub_rescue_cmd_set): Likewise.
12040 (grub_rescue_cmd_unset): Likewise.
12041 (attempt_normal_mode): Use grub_command_find to get normal module.
12042 (grub_enter_rescue_mode): Use grub_register_core_commands to register
12043 commands, remove grub_rescue_register_command calls.
12045 * normal/command.c (grub_register_command): Removed.
12046 (grub_unregister_command): Likewise.
12047 (grub_command_find): Likewise.
12048 (grub_iterate_commands): Likewise.
12049 (rescue_command): Likewise.
12050 (export_command): Moved to corecmd.c.
12051 (set_command): Removed.
12052 (unset_command): Likewise.
12053 (insmod_command): Likewise.
12054 (rmmod_command): Likewise.
12055 (lsmod_command): Likewise.
12056 (grub_command_init): Likewise.
12058 * normal/completion.c (iterate_command): Use cmd->prio to check for
12060 (complete_arguments): Use grub_extcmd_t structure to find options.
12061 (grub_normal_do_completion): Change function grub_iterate_commands to
12062 grub_command_iterate.
12064 * normal/execute.c (grub_script_execute_cmd): No need to parse
12067 * normal/main.c (grub_dyncmd_dispatcher): New function.
12068 (read_command_list): Register unload commands as dyncmd.
12069 (grub_cmd_normal): Use new command interface, register rescue,
12070 unregister normal at entry, register normal, unregister rescue at exit.
12072 * include/grub/list.h (grub_list_test_t): New type.
12073 (grub_list_iterate): Return int instead of void.
12074 (grub_list_insert): New function.
12075 (GRUB_AS_NAMED_LIST_P): New macro.
12076 (GRUB_AS_PRIO_LIST): Likewise.
12077 (GRUB_AS_PRIO_LIST_P): Likewise.
12078 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
12079 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
12080 (grub_prio_list): New structure.
12081 (grub_prio_list_insert): New function.
12082 (grub_prio_list_remove): New inline function.
12084 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
12085 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
12086 (GRUB_COMMAND_FLAG_MENU): Likewise.
12087 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12088 (GRUB_COMMAND_FLAG_TITLE): Likewise.
12089 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12090 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
12091 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
12092 (grub_command): Likewise.
12093 (grub_register_command): Likewise.
12094 (grub_command_find): Likewise.
12095 (grub_iterate_commands): Likewise.
12096 (grub_command_init): Likewise.
12097 (grub_arg_parse): Likewise.
12098 (grub_arg_show_help): Likewise.
12100 * include/grub/rescue.h (grub_rescue_register_command): Removed.
12101 (grub_rescue_unregister_command): Likewise.
12103 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
12104 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
12105 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
12107 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
12108 grub_rescue_cmd_initrd.
12109 * include/grub/i386/loader.h: Likewise.
12110 * include/grub/x86_64/loader.h: Likewise.
12112 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
12114 2009-03-21 Bean <bean123ch@gmail.com>
12116 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
12117 instead of stat in mingw environment.
12119 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
12121 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
12123 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
12126 2009-03-21 Bean <bean123ch@gmail.com>
12128 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
12129 out of range error.
12131 2009-03-18 Michel Dänzer <michel@daenzer.net>
12133 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
12134 checking inode flags for EXT4_EXTENTS_FLAG.
12136 2009-03-18 Robert Millan <rmh@aybabtu.com>
12138 * loader/i386/linux.c: Include `<grub/video.h>' and
12139 `<grub/i386/pc/vbe.h>'..
12140 (grub_linux_setup_video): New function. Loosely based on the EFI one.
12141 (grub_linux32_boot): Attempt to configure video settings with
12142 grub_linux_setup_video().
12143 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
12144 to avoid grub_console_fini() which would step out of graphical mode
12147 2009-03-14 Robert Millan <rmh@aybabtu.com>
12149 Fix build on powerpc.
12150 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
12152 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
12154 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
12155 background image command.
12157 2009-03-12 Colin D Bennett <colin@gibibit.com>
12159 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
12160 (grub_gfxterm_putchar): Extract pairs of identical calls to
12161 draw_cursor out of conditional blocks.
12163 2009-03-11 Pavel Roskin <proski@gnu.org>
12165 * fs/hfs.c (grub_hfs_strncasecmp): New function.
12166 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
12168 2009-03-11 Robert Millan <rmh@aybabtu.com>
12170 * loader/i386/multiboot_elfxx.c
12171 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
12173 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
12175 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
12178 2009-03-11 Robert Millan <rmh@aybabtu.com>
12180 * loader/i386/multiboot.c (code_size): New variable.
12181 (grub_multiboot): Define offsets by adding to `code_size' rather
12182 than subtracting from `grub_multiboot_payload_size'. Provide
12183 4-byte alignment to MBI and others by increasing
12184 `boot_loader_name_length' appropriately.
12186 * loader/i386/multiboot_elfxx.c
12187 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
12189 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
12191 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
12194 2009-03-08 Robert Millan <rmh@aybabtu.com>
12196 Make loader/i386/linux.c usable on i386-pc again.
12198 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
12200 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
12203 2009-03-07 Bean <bean123ch@gmail.com>
12205 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
12208 2009-03-06 Robert Millan <rmh@aybabtu.com>
12210 Fix display issue on terminals with screen size other than 80x25
12211 (e.g. gfxterm with resolution higher than 640x480).
12213 * normal/main.c (grub_normal_init_page): Display title text in a
12214 position relative to the center of the terminal instead of relying
12215 on a hardcoded offset.
12217 2009-03-04 Robert Millan <rmh@aybabtu.com>
12219 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
12222 * Makefile.in (host_kernel): New variable.
12223 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
12224 scripts instead of just the windows one.
12225 * configure.ac: Initialize and AC_SUBST `host_kernel'.
12227 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
12229 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
12231 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12232 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12233 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12235 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12236 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12238 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
12240 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
12241 or if there's no space for the disk label and print the partition number on a
12244 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
12246 * util/misc.c: Include <time.h>.
12247 (grub_millisleep): New function.
12249 2009-03-04 Bean <bean123ch@gmail.com>
12251 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
12252 another option -mno-red-zone.
12254 * commands/handler.c: Change module description.
12256 * kern/handler.c: Add missing space at the end of description line.
12258 * kern/list.c: Likewise.
12260 2009-03-03 Robert Millan <rmh@aybabtu.com>
12262 Move more components to the relocation area, and fix mbi pointer
12263 handling to use the destination rather than the origin (thanks to
12264 Vladimir Serbinenko for spotting).
12266 * loader/i386/multiboot.c (mbi_dest): New variable.
12267 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
12268 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
12271 2009-03-01 Bean <bean123ch@gmail.com>
12273 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
12274 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
12275 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
12276 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
12278 * loader/i386/efi/linux.c (acpi_guid): New variable.
12279 (acpi_guid): Likewise.
12280 (EBDA_SEG_ADDR): New constant.
12281 (LOW_MEM_ADDR): Likewise.
12282 (FAKE_EBDA_SEG): Likewise.
12283 (fake_bios_data): New function.
12284 (grub_linux_boot): Call fake_bios_data.
12286 2009-03-01 Bean <bean123ch@gmail.com>
12288 * commands/terminal.c: Removed.
12290 * commands/handler.c: New file.
12292 * include/grub/list.h: Likewise.
12294 * include/grub/handler.h: Likewise.
12296 * kern/list.c: Likewise.
12298 * kern/handler.c: Likewise.
12300 * kern/term.h: Include header file <grub/handler.h>.
12301 (grub_term_input): Move next field to the beginning.
12302 (grub_term_output): Likewise.
12303 (grub_term_input_class): New variable.
12304 (grub_term_output_class): Likewise.
12305 (grub_term_register_input): Changed to inline function.
12306 (grub_term_register_output): Likewise.
12307 (grub_term_unregister_input): Likewise.
12308 (grub_term_unregister_output): Likewise.
12309 (grub_term_set_current_input): Likewise.
12310 (grub_term_set_current_output): Likewise.
12311 (grub_term_get_current_input): Likewise.
12312 (grub_term_get_current_output): Likewise.
12313 (grub_term_iterate_input): Removed.
12314 (grub_term_iterate_output): Likewise.
12316 * kern/term.c (grub_term_list_input): Removed.
12317 (grub_term_list_output): Likewise.
12318 (grub_term_input_class): New variable.
12319 (grub_term_output_class): Likewise.
12320 (grub_cur_term_input): Change variable as macro.
12321 (grub_cur_term_output): Likewise.
12322 (grub_term_register_input): Removed.
12323 (grub_term_register_output): Likewise.
12324 (grub_term_unregister_input): Likewise.
12325 (grub_term_unregister_output): Likewise.
12326 (grub_term_set_current_input): Likewise.
12327 (grub_term_set_current_output): Likewise.
12328 (grub_term_iterate_input): Likewise.
12329 (grub_term_iterate_output): Likewise.
12330 (grub_term_get_current_input): Likewise.
12331 (grub_term_get_current_output): Likewise.
12333 * util/grub-editenv.c: Include header file <grub/handler.h>.
12334 (grub_term_get_current_input): Removed.
12335 (grub_term_get_current_output): Likewise.
12336 (grub_term_input_class): New variable.
12337 (grub_term_output_class): Likewise.
12339 * util/grub-fstest.c (grub_term_get_current_input): Removed.
12340 (grub_term_get_current_output): Likewise.
12341 (grub_term_input_class): New variable.
12342 (grub_term_output_class): Likewise.
12344 * util/grub-probe.c (grub_term_get_current_input): Removed.
12345 (grub_term_get_current_output): Likewise.
12346 (grub_term_input_class): New variable.
12347 (grub_term_output_class): Likewise.
12349 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
12350 (grub_term_get_current_output): Likewise.
12351 (grub_term_input_class): New variable.
12352 (grub_term_output_class): Likewise.
12354 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
12355 (terminal_mod_SOURCES): Likewise.
12356 (terminal_mod_CFLAGS): Likewise.
12357 (terminal_mod_LDFLAGS): Likewise.
12359 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
12361 (kernel_img_SOURCES): Add list.c and handler.c.
12362 (kernel_img_HEADERS): Add list.h and handler.h.
12364 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
12366 (kernel_mod_SOURCES): Add list.c and handler.c.
12367 (kernel_mod_HEADERS): Add list.h and handler.h.
12369 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
12371 (kernel_elf_SOURCES): Add list.c and handler.c.
12372 (kernel_elf_HEADERS): Add list.h and handler.h.
12374 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
12376 (kernel_elf_SOURCES): Add list.c and handler.c.
12377 (kernel_elf_HEADERS): Add list.h and handler.h.
12379 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
12381 (kernel_mod_SOURCES): Add list.c and handler.c.
12382 (kernel_mod_HEADERS): Add list.h and handler.h.
12384 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
12386 (kernel_elf_SOURCES): Add list.c and handler.c.
12387 (kernel_elf_HEADERS): Add list.h and handler.h.
12389 2009-02-27 Robert Millan <rmh@aybabtu.com>
12391 Factorize elf32 / elf64 code in Multiboot loader. This will
12392 prevent it from getting out of sync again.
12394 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
12395 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
12396 grub_multiboot_load_elf64): Move from here ...
12397 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
12398 grub_multiboot_load_elf): ... to here (new file).
12400 2009-02-27 Robert Millan <rmh@aybabtu.com>
12402 * util/grub.d/10_linux.in: Rename "single-user mode" to
12405 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12407 Don't leak in SCSI code.
12408 * disk/scsi.c (grub_scsi_close): free `scsi'.
12410 2009-02-27 Robert Millan <rmh@aybabtu.com>
12412 * loader/i386/pc/multiboot.c: Move from here ...
12413 * loader/i386/multiboot.c: ... to here. Update all users.
12415 2009-02-27 Robert Millan <rmh@aybabtu.com>
12417 Patch from Alexandre Bique <bique.alexandre@gmail.com>
12418 * util/i386/pc/grub-setup.c (setup): Fix directory path.
12420 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
12422 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
12425 2009-02-27 Robert Millan <rmh@aybabtu.com>
12427 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
12428 `0x' qualifier as 0 when base is specified as parameter).
12430 2009-02-24 Bean <bean123ch@gmail.com>
12432 * configure.ac: Check for -mcmodel=large in x86_64 target.
12434 * include/grub/efi/api.h (efi_call_10): New macro.
12435 (efi_wrap_10): New function.
12437 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
12438 (GRUB_PE32_REL_BASED_HIGH): Likewise.
12439 (GRUB_PE32_REL_BASED_LOW): Likewise.
12440 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
12441 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
12442 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
12443 (GRUB_PE32_REL_BASED_SECTION): Likewise.
12444 (GRUB_PE32_REL_BASED_REL): Likewise.
12445 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
12446 (GRUB_PE32_REL_BASED_DIR64): Likewise.
12447 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
12449 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
12452 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
12453 (efi_wrap_10): New function.
12455 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
12457 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
12458 MB/MBP model (NV chipset).
12459 (devdata_devs): Add devpath_5 to the list.
12461 * load/i386/efi/linux.c (video_base): Remove variable.
12462 (RGB_MASK): New macro.
12463 (RGB_MAGIC): Likewise.
12464 (LINE_MIN): Likewise.
12465 (LINE_MAX): Likewise.
12466 (FBTEST_STEP): Likewise.
12467 (FBTEST_COUNT): Likewise.
12468 (fb_list): New variable.
12469 (grub_find_video_card): Remove function.
12470 (find_framebuf): New function.
12471 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
12474 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
12475 problem for x86_64.
12477 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
12479 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
12481 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
12484 2009-02-22 Robert Millan <rmh@aybabtu.com>
12486 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
12487 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
12488 in our relocation, instead of using it directly from heap. Also
12489 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
12491 2009-02-21 Robert Millan <rmh@aybabtu.com>
12493 Implement USB keyboard support (based on patch by Marco Gerards)
12495 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
12496 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
12497 (usb_keyboard_mod_LDFLAGS): New variables.
12499 * term/usb_keyboard.c: New file.
12501 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12503 Corrected wrong declaration
12505 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
12507 2009-02-14 Christian Franke <franke@computer.org>
12509 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
12510 (grub_lspci_iter): Print class code and programming interface byte.
12512 2009-02-14 Christian Franke <franke@computer.org>
12514 * gendistlist.sh: Ignore `.svn' directories.
12516 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
12518 * fs/fat.c: Add 2009 to Copyright line.
12520 2009-02-14 Christian Franke <franke@computer.org>
12522 * commands/hdparm.c: New file. Provides `hdparm' command
12523 which sends ATA commands via grub_disk_ata_pass_through ().
12525 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
12527 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
12528 and <grub/cpu/io.h> to include/grub/ata.h.
12529 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
12530 (GRUB_CDROM_SECTOR_SIZE): Remove.
12531 (GRUB_ATA_*): Move to include/grub/ata.h.
12532 (GRUB_ATAPI_*): Likewise.
12533 (enum grub_ata_commands): Likewise.
12534 (enum grub_ata_timeout_milliseconds): Likewise.
12535 (struct grub_ata_device): Likewise.
12536 (grub_ata_regset): Likewise.
12537 (grub_ata_regget): Likewise.
12538 (grub_ata_regset2): Likewise.
12539 (grub_ata_regget2): Likewise.
12540 (grub_ata_check_ready): Likewise.
12541 (grub_ata_wait_not_busy): Remove static, exported in
12542 include/grub/ata.h.
12543 (grub_ata_wait_drq): Likewise.
12544 (grub_ata_pio_read): Likewise.
12546 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
12547 function for hdparm.mod.
12549 * include/grub/ata.h: New file, contains declarations from
12551 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
12553 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
12554 (grub_disk_ata_pass_through): New exported variable.
12556 * kern/disk.c (grub_disk_ata_pass_through): New variable.
12558 2009-02-13 Colin D Bennett <colin@gibibit.com>
12560 Support multiple fallback entries, and provide an API to support
12561 executing default+fallback menu entries. Renamed the `terminal' menu
12564 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
12565 variable declaration.
12566 (grub_menu_execute_callback): New structure declaration.
12567 (grub_menu_execute_callback_t): New typedef.
12568 (grub_menu_execute_with_fallback): New function declaration.
12569 (grub_menu_get_entry): Likewise.
12570 (grub_menu_get_timeout): Likewise.
12571 (grub_menu_set_timeout): Likewise.
12573 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
12575 * normal/menu.c (grub_wait_after_message): Moved to
12576 `normal/menu_text.c'.
12577 (draw_border): Likewise.
12578 (print_message): Likewise.
12579 (print_entry): Likewise.
12580 (print_entries): Likewise.
12581 (grub_menu_init_page): Likewise.
12582 (get_entry_number): Likewise.
12583 (print_timeout): Likewise.
12584 (run_menu): Likewise.
12585 (grub_menu_execute_entry): Likewise.
12586 (show_text_menu): Likewise.
12587 (get_and_remove_first_entry_number): New function.
12588 (grub_menu_execute_with_fallback): Likewise.
12589 (get_entry): Renamed to ...
12590 (grub_menu_get_entry): .. this and made it global.
12591 (get_timeout): Renamed to ...
12592 (grub_menu_get_timeout): ... this and made it global.
12593 (set_timeout): Renamed to ...
12594 (grub_menu_set_timeout): ... this and made it global.
12595 (grub_normal_terminal_menu_viewer): Renamed to ...
12596 (grub_normal_text_menu_viewer): ... this.
12598 * normal/menu_text.c: New file. Extracted text-menu-specific code
12599 from normal/menu.c.
12601 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
12602 (normal_mod_SOURCES): Likewise.
12604 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12605 (normal_mod_SOURCES): Likewise.
12607 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12608 (normal_mod_SOURCES): Likewise.
12610 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
12611 (normal_mod_SOURCES): Likewise.
12613 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12614 (normal_mod_SOURCES): Likewise.
12616 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12617 (normal_mod_SOURCES): Likewise.
12619 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12620 (normal_mod_SOURCES): Likewise.
12622 2009-02-11 Robert Millan <rmh@aybabtu.com>
12624 * util/grub.d/00_header.in: Update old reference to `font' command.
12626 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
12628 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
12630 Based on patch from Javier MartÃn.
12632 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
12634 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
12635 to avoid false positives with FAT.
12636 (grub_fstest_SOURCES): Likewise.
12637 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12638 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12639 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12640 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12641 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12642 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12644 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
12646 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
12647 bpb.version_specific.fat12_or_fat16.fstype and
12648 bpb.version_specific.fat32.fstype.
12650 2009-02-08 Robert Millan <rmh@aybabtu.com>
12652 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
12654 2009-02-08 Robert Millan <rmh@aybabtu.com>
12656 * Makefile.in (host_os, host_cpu): New variables.
12657 (target_os): Remove. Update all users.
12659 2009-02-08 Marco Gerards <marco@gnu.org>
12661 * Makefile.in (enable_grub_emu_usb): New variable.
12662 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
12663 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
12664 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
12665 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
12666 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
12667 `usbtest.mod' and `usbms.mod'.
12668 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
12669 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
12670 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
12671 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
12672 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
12675 * disk/usbms.c: New file.
12677 * include/grub/usb.h: Likewise.
12679 * include/grub/usbtrans.h: Likewise.
12681 * include/grub/usbdesc.h: Likewise.
12683 * bus/usb/usbtrans.c: Likewise.
12685 * bus/usb/ohci.c: Likewise.
12687 * bus/usb/uhci.c: Likewise.
12689 * bus/usb/usbhub.c: Likewise.
12691 * bus/usb/usb.c: Likewise.
12693 * commands/usbtest.c: Likewise.
12695 * util/usb.c: Likewise.
12697 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
12699 * configure.ac: Test for libusb presence.
12701 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
12703 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
12705 * kern/mm.c: Add more comments.
12707 2009-02-08 Robert Millan <rmh@aybabtu.com>
12709 Patch from Javier MartÃn.
12710 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
12711 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
12713 2009-02-08 Robert Millan <rmh@aybabtu.com>
12715 * fs/cpio.c: Split tar functionality to ...
12716 * fs/tar.c: ... here (new file). Update all users.
12718 2009-02-07 Robert Millan <rmh@aybabtu.com>
12720 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
12721 backward-incompatible features.
12723 Based on patch from Javier MartÃn, with some adjustments.
12725 2009-02-07 Michael Scherer <misc@mandriva.org>
12727 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
12729 2009-02-07 Robert Millan <rmh@aybabtu.com>
12731 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
12732 position of `disk/lvm.c' to ensure grub_init_all() always picks it
12733 after the RAID stuff.
12735 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
12737 Fixes problem when running vbetest command as reported by
12738 Vladimir Serbinenko <phcoder@gmail.com>.
12740 * (grub_vbe_set_video_mode): Fixed problem with text modes.
12742 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
12744 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
12745 /dev/md/NpN style mdraid devices.
12747 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
12749 * util/unifont2pff.rb: Remove.
12751 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
12753 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
12756 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
12758 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
12759 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12760 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12761 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12762 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12763 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12764 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12766 2009-02-02 Christian Franke <franke@computer.org>
12768 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
12770 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
12772 * INSTALL: Note that we now require at least autoconf 2.59 and
12773 that LZO is optional.
12775 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
12777 Base on patch on bug #24154 created by Tomas Tintera
12778 <trosos@seznam.cz>.
12780 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
12782 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
12784 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
12785 <bero@arklinux.org>.
12787 * normal/parser.y (script_init): Add missing semicolon.
12789 2009-01-31 Colin D Bennett <colin@gibibit.com>
12791 * normal/main.c: Add include to grub/menu_viewer.h.
12792 (free_menu_entry_classes): Added.
12793 (grub_normal_menu_addentry): Added class property handling.
12794 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
12795 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
12797 * normal/menu_viewer.c: New file.
12799 * normal/menu.c (run_menu_entry): Renamed to ...
12800 (grub_menu_execute_entry): ... this and made it as global.
12801 (grub_menu_run): Renamed to ...
12802 (show_text_menu): ... this and made it local.
12803 (show_text_menu): Adapt to new function names.
12804 (grub_normal_terminal_menu_viewer): New global variable.
12806 * include/grub/menu.h: New file.
12808 * include/grub/menu_viewer.h: New file.
12810 * include/grub/normal.h: Added include to grub/menu.h.
12811 (grub_menu_entry): Moved to include/grub/menu.h.
12812 (grub_menu_entry_t): Likewise.
12813 (grub_menu): Likewise.
12814 (grub_menu_t): Likewise.
12815 (grub_normal_terminal_menu_viewer): Added.
12816 (grub_menu_execute_entry): Likewise.
12817 (grub_menu_run): Removed.
12819 * DISTLIST: Added include/grub/menu.h.
12820 Added include/grub/menu_viewer.h.
12821 Added normal/menu_viewer.c.
12823 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
12825 * normal/execute.c (grub_script_execute_menuentry): Changed to use
12826 arglist for menutitle arguments.
12828 * normal/main.c (grub_normal_menu_addentry): Likewise.
12830 * normal/parser.y (menuentry): Likewise.
12832 * normal/script.c (grub_script_create_cmdmenu): Likewise.
12834 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
12835 (grub_script_create_cmdmenu): Likewise.
12837 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
12839 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
12842 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
12844 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
12846 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
12848 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
12850 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
12852 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
12854 2009-01-30 Christian Franke <franke@computer.org>
12856 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
12857 in option help text.
12859 2009-01-27 Pavel Roskin <proski@gnu.org>
12861 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
12863 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
12865 * commands/lsmmap.c: Add include to grub/machine/memory.h.
12867 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
12869 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
12870 unregister function.
12872 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
12874 * disk/scsi.c (grub_scsi_read): Fix sign problem.
12876 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
12878 * util/grub-mkfont.c (usage): Fix typo.
12880 * util/elf/grub-mkimage.c (load_modules): Fix warning.
12882 2009-01-26 Daniel Mierswa <impulze@impulze.org>
12884 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
12886 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
12888 * kern/misc.c (grub_strcasecmp): New function.
12889 (grub_strcasecmp): Use grub_size_t instead of int for length.
12891 * include/grub/misc.h: Update function prototypes.
12893 2009-01-26 Robert Millan <rmh@aybabtu.com>
12895 * configure.ac: Fix cross-compilation check.
12897 2009-01-22 Christian Franke <franke@computer.org>
12899 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
12900 (precision) digit string. Allow `.format2' without `format1' (width).
12901 Limit input chars for `%s' output to `format2' if specified. This is
12902 compatible with standard printf ().
12904 2009-01-22 Christian Franke <franke@computer.org>
12906 * disk/ata.c (grub_ata_wait_status): Replace by ...
12907 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
12908 other status bits may be invalid while BSY is asserted.
12909 (grub_ata_check_ready): New function.
12910 (grub_ata_cmd): Removed.
12911 (grub_ata_wait_drq): New function.
12912 (grub_ata_strncpy): Remove inline.
12913 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
12914 and error check now done by grub_ata_wait_drq ().
12915 (grub_ata_pio_write): Likewise.
12916 (grub_atapi_identify): Set DEV before check for !BSY. Use
12917 grub_ata_wait_drq () to wait for data.
12918 (grub_ata_device_initialize): Add status register check to
12919 detect missing SATA slave devices. Add debug messages.
12920 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
12921 (grub_atapi_packet): Set DEV before check for !BSY. Replace
12922 transfer loop by grub_ata_pio_write ().
12923 (grub_ata_identify): Set DEV before check for !BSY. Use
12924 grub_ata_wait_drq () to wait for data.
12925 (grub_ata_setaddress): Set DEV before check for !BSY.
12926 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
12927 read/write in one loop. Fix invalid command on write. Fix incomplete
12928 command on (size % batch) == 0. Add missing error check after write of
12929 last block. Add debug messages.
12930 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
12932 2009-01-19 Christian Franke <franke@computer.org>
12934 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
12935 (GRUB_ATAPI_IREASON_*): Likewise.
12936 (grub_ata_pio_write): Fix timeout error return.
12937 (grub_atapi_identify): Add grub_ata_wait () after cmd.
12938 (grub_atapi_wait_drq): New function.
12939 (grub_atapi_packet): New parameter `size'.
12940 Use grub_atapi_wait_drq () and direct write instead of
12941 grub_ata_pio_write ().
12942 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
12943 reads the number of bytes requested by the device for each DRQ
12945 (grub_atapi_write): Remove old implementation, return not
12946 implemented instead.
12948 2009-01-19 Christian Franke <franke@computer.org>
12950 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
12951 of 512 to calculate data size.
12952 (grub_scsi_read12): Likewise.
12953 (grub_scsi_write10): Likewise.
12954 (grub_scsi_write12): Likewise.
12955 (grub_scsi_read): Adjust size according to blocksize.
12956 Add checks for invalid blocksize and unaligned transfer.
12958 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
12960 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
12962 * term/gfxterm.c (write_char): Fix background rendering for wide
12965 2009-01-19 Robert Millan <rmh@aybabtu.com>
12967 * config.guess: Update to latest version from config git.
12968 * config.sub: Likewise.
12970 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
12972 * Makefile.in: Change font compilation to use new grub-mkfont instead
12975 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
12976 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
12977 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
12978 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
12979 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
12980 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
12981 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
12982 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
12983 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
12985 2009-01-16 Christian Franke <franke@computer.org>
12987 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
12988 (enum grub_ata_timeout_milliseconds): New enum.
12989 (grub_ata_wait_status): Add parameter milliseconds.
12990 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
12991 recovery from timed-out commands.
12992 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
12993 return grub_errno instead of REG_ERROR.
12994 (grub_ata_pio_write): Add parameter milliseconds.
12995 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
12996 Pass milliseconds to grub_ata_wait_status () and
12997 grub_ata_pio_read ().
12998 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
12999 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
13000 grub_ata_wait_status (). Fix IDENTIFY timeout check.
13001 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
13002 It is not suitable for device detection, because DEV bit is ignored,
13003 the command may run too long, and not all devices set the signature
13005 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
13006 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
13007 Fix device selection, DEV bit must be set first to address the registers
13008 of the correct device.
13009 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
13010 grub_ata_pio_read/write ().
13011 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
13012 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
13014 2009-01-13 Carles Pina i Estany <carles@pina.cat>
13016 * util/grub-editenv.c (main): Use fseeko(), not fseek().
13018 2009-01-13 Bean <bean123ch@gmail.com>
13020 * util/grub-mkfont.c (write_font): forget to remove some debug code.
13022 2009-01-13 Bean <bean123ch@gmail.com>
13024 * Makefile.in: (enable_grub_mkfont): New variable.
13025 (freetype_cflags): Likewise.
13026 (freetype_libs): Likewise.
13028 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
13029 (grub_mkfont_SOURCES): New variable.
13030 (grub_mkfont_CFLAGS): Likewise.
13031 (grub_mkfont_LDFLAGS): Likewise.
13033 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
13034 library if `--enable-grub-mkfont' is requested.
13035 (enable_grub_mkfont): New variable.
13036 (freetype_cflags): Likewise.
13037 (freetype_libs): Likewise.
13039 * util/grub-mkfont.c: New file.
13041 2009-01-12 Christian Franke <franke@computer.org>
13043 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
13044 mode check. Fix setting of compat_use[].
13046 2009-01-10 Robert Millan <rmh@aybabtu.com>
13048 Update a few copyright years which we forgot to do in 2008 (only for
13049 files whose changes made in 2008 were copyright-significant)
13051 * Makefile.in: Add 2008 to Copyright line.
13052 * disk/ieee1275/ofdisk.c: Likewise.
13053 * disk/efi/efidisk.c: Likewise.
13054 * kern/dl.c: Likewise.
13055 * kern/sparc64/ieee1275/init.c: Likewise.
13056 * kern/mm.c: Likewise.
13057 * kern/efi/mm.c: Likewise.
13058 * boot/i386/pc/boot.S: Likewise.
13059 * genfslist.sh: Likewise.
13060 * fs/iso9660.c: Likewise.
13061 * fs/hfs.c: Likewise.
13062 * fs/jfs.c: Likewise.
13063 * fs/minix.c: Likewise.
13064 * fs/ufs.c: Likewise.
13065 * gensymlist.sh.in: Likewise.
13066 * genkernsyms.sh.in: Likewise.
13067 * include/grub/misc.h: Likewise.
13068 * include/grub/types.h: Likewise.
13069 * include/grub/symbol.h: Likewise.
13070 * include/grub/elf.h: Likewise.
13071 * include/grub/kernel.h: Likewise.
13072 * include/grub/disk.h: Likewise.
13073 * include/grub/dl.h: Likewise.
13074 * include/grub/i386/linux.h: Likewise.
13075 * include/grub/i386/pc/biosdisk.h: Likewise.
13076 * include/grub/efi/api.h: Likewise.
13077 * include/grub/efi/pe32.h: Likewise.
13078 * include/grub/util/misc.h: Likewise.
13079 * normal/execute.c: Likewise.
13080 * normal/arg.c: Likewise.
13081 * normal/completion.c: Likewise.
13082 * normal/lexer.c: Likewise.
13083 * normal/parser.y: Likewise.
13084 * normal/misc.c: Likewise.
13085 * commands/i386/pc/vbeinfo.c: Likewise.
13086 * commands/hexdump.c: Likewise.
13087 * commands/terminal.c: Likewise.
13088 * commands/ls.c: Likewise.
13089 * commands/help.c: Likewise.
13090 * partmap/pc.c: Likewise.
13091 * loader/efi/chainloader.c: Likewise.
13092 * loader/multiboot_loader.c: Likewise.
13093 * loader/i386/pc/multiboot2.c: Likewise.
13094 * term/efi/console.c: Likewise.
13095 * term/i386/pc/serial.c: Likewise.
13096 * util/lvm.c: Likewise.
13097 * util/console.c: Likewise.
13098 * util/i386/efi/grub-mkimage.c: Likewise.
13099 * util/raid.c: Likewise.
13101 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
13103 * commands/videotest.c: Removed include to grub/machine/memory.h.
13105 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
13106 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
13107 (video_mod_SOURCES): Removed.
13108 (video_mod_CFLAGS): Likewise.
13109 (video_mod_LDFLAGS): Likewise.
13110 (gfxterm_mod_SOURCES): Likewise.
13111 (gfxterm_mod_CFLAGS): Likewise.
13112 (gfxterm_mod_LDFLAGS): Likewise.
13113 (videotest_mod_SOURCES): Likewise.
13114 (videotest_mod_CFLAGS): Likewise.
13115 (videotest_mod_LDFLAGS): Likewise.
13116 (bitmap_mod_SOURCES): Likewise.
13117 (bitmap_mod_CFLAGS): Likewise.
13118 (bitmap_mod_LDFLAGS): Likewise.
13119 (tga_mod_SOURCES): Likewise.
13120 (tga_mod_CFLAGS): Likewise.
13121 (tga_mod_LDFLAGS): Likewise.
13122 (jpeg_mod_SOURCES): Likewise.
13123 (jpeg_mod_CFLAGS): Likewise.
13124 (jpeg_mod_LDFLAGS): Likewise.
13125 (png_mod_SOURCES): Likewise.
13126 (png_mod_CFLAGS): Likewise.
13127 (png_mod_LDFLAGS): Likewise.
13129 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
13130 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
13131 (video_mod_SOURCES): Added.
13132 (video_mod_CFLAGS): Likewise.
13133 (video_mod_LDFLAGS): Likewise.
13134 (videotest_mod_SOURCES): Likewise.
13135 (videotest_mod_CFLAGS): Likewise.
13136 (videotest_mod_LDFLAGS): Likewise.
13137 (bitmap_mod_SOURCES): Likewise.
13138 (bitmap_mod_CFLAGS): Likewise.
13139 (bitmap_mod_LDFLAGS): Likewise.
13140 (tga_mod_SOURCES): Likewise.
13141 (tga_mod_CFLAGS): Likewise.
13142 (tga_mod_LDFLAGS): Likewise.
13143 (jpeg_mod_SOURCES): Likewise.
13144 (jpeg_mod_CFLAGS): Likewise.
13145 (jpeg_mod_LDFLAGS): Likewise.
13146 (png_mod_SOURCES): Likewise.
13147 (png_mod_CFLAGS): Likewise.
13148 (png_mod_LDFLAGS): Likewise.
13149 (gfxterm_mod_SOURCES): Likewise.
13150 (gfxterm_mod_CFLAGS): Likewise.
13151 (gfxterm_mod_LDFLAGS): Likewise.
13153 * term/gfxterm.c: Removed include to grub/machine/memory.h,
13154 grub/machine/console.h.
13156 2009-01-04 Jerone Young <jerone@gmail.com>
13158 Make on screen instructions clearer
13160 Based on patch created by Jidanni <jidanni@jidanni.org>
13162 * normal/menu.c: print clearer instructions on the screen
13164 2009-01-02 Colin D Bennett <colin@gibibit.com>
13168 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
13169 build system and fixed gfxterm.c to work with different sized fonts.
13171 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
13173 * configure: Re-generated.
13175 * DISTLIST: Removed font/manager.c.
13177 Added font/font_cmd.c.
13179 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
13182 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
13184 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
13186 * kern/term.c: Changed users of grub_utf8_to_ucs4.
13188 * normal/menu.c: Likewise.
13190 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
13191 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
13193 * include/grub/font.h: Replaced with new file.
13195 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
13196 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
13197 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
13198 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
13199 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
13200 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
13201 fg_red, fg_green, fg_blue, fg_alpha.
13202 (grub_video_adapter): Removed blit_glyph.
13203 (grub_video_blit_glyph): Removed.
13205 * font/manager.c: Removed file.
13207 * font/font.c: New file.
13209 * font/font_cmd.c: Likewise.
13211 * video/video.c (grub_video_blit_glyph): Removed.
13213 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
13214 (grub_video_vbe_map_rgba): Likewise.
13215 (grub_video_vbe_unmap_color_int): Likewise.
13216 (grub_video_vbe_blit_glyph): Removed.
13217 (grub_video_vbe_adapter): Removed blit_glyph.
13219 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
13220 (get_pixel): Likewise.
13221 (set_pixel): Likewise.
13223 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
13225 * term/gfxterm.c: Adapted to new font engine.
13227 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
13229 * term/i386/pc/vga.c: Likewise.
13231 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
13233 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
13235 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
13237 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
13239 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
13241 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
13243 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
13245 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
13247 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
13249 * util/grub.d/00_header.in: Changed to use new loadfont command.
13251 * util/grub-mkconfig_lib.in: Changed font extension.
13253 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
13255 * util/getroot.c (grub_util_get_grub_dev): Add support for
13256 /dev/md/dNNpNN style partitionable mdraid devices.
13258 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
13260 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
13261 at a time limit of the PXE TFTP API correctly.
13262 (grub_pxefs_close): Likewise.
13264 2008-11-29 Robert Millan <rmh@aybabtu.com>
13266 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
13267 grub_ata_device_initialize() calls.
13269 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
13271 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
13273 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
13275 2008-11-28 Robert Millan <rmh@aybabtu.com>
13277 Fix build on powerpc-ieee1275. Based on patch created by
13278 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
13279 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
13280 `kern/ieee1275/mmap.c'.
13281 * include/grub/powerpc/ieee1275/memory.h: New file.
13283 Provide grub-install on coreboot.
13284 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
13285 (grub_install_SOURCES): New variable.
13286 * util/i386/pc/grub-install.in: Add a few condition checks to make it
13287 usable on coreboot.
13289 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
13291 * util/grub-fstest.c (grub_term_get_current_input): Change return type
13292 to `grub_term_input_t'.
13293 (grub_term_get_current_output): Change return type to
13294 `grub_term_output_t'.
13296 2008-11-22 Robert Millan <rmh@aybabtu.com>
13298 Fix breakage on coreboot due to declaration mismatch.
13299 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
13300 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
13301 grub_vga_text_cls().
13303 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
13304 comments. Avoid copying one more byte than necessary (just in case).
13306 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
13307 to 0x200000 (avoids trouble with some OFW implementations, and matches
13308 with the one in Yaboot).
13309 Reported by Manoel Abranches
13311 2008-11-20 Robert Millan <rmh@aybabtu.com>
13313 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
13314 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
13316 * util/grub-mkconfig_lib.in (grub_warn): New function.
13317 (convert_system_path_to_grub_path): Use grub_warn() when issuing
13318 warnings, to obtain consistent formatting.
13319 * util/grub.d/00_header.in: Likewise.
13320 * util/update-grub_lib.in: Likewise.
13322 * loader/i386/linux.c (allocate_pages): Fix a warning.
13323 Move comment text to `#error' stanza.
13325 Harmonize ieee1275's grub_available_iterate() with the generic
13326 grub_machine_mmap_iterate() interface (fixes a recently-introduced
13327 build problem on i386-ieee1275):
13328 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
13329 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
13330 parameter `type'. Update all users of this function.
13331 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
13332 `kern/ieee1275/mmap.c'.
13333 * kern/ieee1275/init.c
13334 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
13336 (grub_machine_mmap_iterate): ... this.
13337 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
13338 return type to `grub_err_t'. Update all implementations of this
13339 function prototype.
13340 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
13343 Add `lsmmap' command (lists firmware-provided memory map):
13344 * commands/lsmmap.c: New file.
13345 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
13346 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
13348 * conf/powerpc-ieee1275.rmk: Likewise.
13349 * conf/i386-coreboot.rmk: Likewise.
13350 * conf/i386-ieee1275.rmk: Likewise.
13352 2008-11-19 Robert Millan <rmh@aybabtu.com>
13354 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
13355 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
13356 constraints to initrd allocation (based on code from
13357 loader/i386/pc/linux.c). Without them, initrd was allocated too high
13358 for Linux to find it.
13360 2008-11-14 Robert Millan <rmh@aybabtu.com>
13362 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
13363 order to cope with duplicate slashes.
13365 2008-11-14 Robert Millan <rmh@aybabtu.com>
13367 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
13368 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
13369 don't want to mess with lower memory, because it is used in the Linux
13372 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
13373 an appropriate place in lower memory, between 0x10000 and 0x90000,
13374 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
13375 is in our heap (probably as a result of it being corrupted during
13376 decompression). Add #error instance with comment to explain why this
13377 loader isn't currently usable on PC/BIOS.
13379 2008-11-14 Robert Millan <rmh@aybabtu.com>
13381 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
13382 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
13384 2008-11-12 Robert Millan <rmh@aybabtu.com>
13386 Make loader/i386/linux.c buildable on i386-pc (although disabled).
13388 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
13389 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
13391 * include/grub/i386/pc/memory.h: ... to here.
13393 2008-11-12 Robert Millan <rmh@aybabtu.com>
13395 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
13398 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
13399 (grub_console_cur_color, grub_console_real_putchar)
13400 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
13401 (grub_console_setcolorstate, grub_console_setcolor)
13402 (grub_console_getcolor): Move from here ...
13403 * include/grub/i386/vga_common.h: ... to here (new file).
13405 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
13406 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
13407 `<grub/i386/io.h>'.
13408 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
13409 `<grub/i386/vga_common.h>'.
13411 2008-11-12 Robert Millan <rmh@aybabtu.com>
13413 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
13414 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
13415 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
13417 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
13418 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
13420 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
13421 grub_console_init() with call to grub_vga_text_init().
13422 (grub_machine_fini): Replace call to
13423 grub_console_fini() with call to grub_vga_text_fini() and
13424 grub_at_keyboard_fini().
13426 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
13427 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
13428 (grub_console_setcolorstate, grub_console_setcolor)
13429 (grub_console_getcolor): New function prototypes.
13431 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
13432 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
13433 (grub_vga_text_setcursor): Static-ize.
13434 (grub_vga_text_term): New structure.
13435 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
13437 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
13438 (grub_console_cur_color, grub_console_standard_color)
13439 (grub_console_normal_color, grub_console_highlight_color)
13440 (map_char, grub_console_putchar, grub_console_getcharwidth)
13441 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
13442 (grub_console_getcolor): Move from here ...
13443 * term/i386/vga_common.c: ... to here (same function names).
13445 2008-11-12 Robert Millan <rmh@aybabtu.com>
13447 Use newly-added Multiboot support in coreboot.
13449 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
13450 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
13452 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
13453 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
13454 (codestart): Store the MBI in `startup_multiboot_info' when we're
13455 being loaded using Multiboot.
13457 * kern/i386/coreboot/init.c (grub_machine_init): Move
13458 grub_at_keyboard_init() call to beginning of function (useful for
13459 debugging). Call grub_machine_mmap_init() before attempting to use
13460 grub_machine_mmap_iterate().
13461 (grub_lower_mem, grub_upper_mem): Move from here ...
13462 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
13465 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
13466 function prototype.
13468 2008-11-12 Robert Millan <rmh@aybabtu.com>
13470 Fix a regression introduced by the at_keyboard.mod split. Because
13471 some terminals are default on some platforms and non-default on
13472 others, the first terminal being registered determines which is
13473 going to be default.
13475 * kern/term.c (grub_term_register_input): If this is the first
13476 terminal being registered, set it as the current one.
13477 (grub_term_register_output): Likewise.
13479 * term/efi/console.c (grub_console_init): Do not call
13480 grub_term_set_current_output() or grub_term_set_current_input().
13481 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
13482 * term/i386/pc/console.c (grub_console_init): Likewise.
13483 (grub_console_fini): Do not call grub_term_set_current_input()
13484 (but leave grub_term_set_current_output() to restore text mode).
13486 2008-11-10 Robert Millan <rmh@aybabtu.com>
13488 * util/grub.d/00_header.in: Add backward compatibility check for
13489 versions of terminal.mod that don't understand `terminal_input' or
13492 2008-11-09 Robert Millan <rmh@aybabtu.com>
13494 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
13495 `terminal_input' / `terminal_output', not `terminal'.
13497 2008-11-08 Robert Millan <rmh@aybabtu.com>
13499 * Makefile.in (include_DATA): Fix srcdir=. assumption.
13500 (DISTCLEANFILES): Add `build_env.mk'.
13502 2008-11-08 Robert Millan <rmh@aybabtu.com>
13504 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
13505 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
13506 members. Update all users.
13507 * util/console.c (grub_ncurses_term): Split in ...
13508 (grub_ncurses_term_input): ... this, and ...
13509 (grub_ncurses_term_output): ... this. Update all users.
13510 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
13512 2008-11-08 Robert Millan <rmh@aybabtu.com>
13514 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
13515 (PKGDATA): Add $(pkgdata_SRCDIR).
13516 (pkglib_BUILDDIR): New variable.
13517 (pkgdata_SRCDIR): New variable.
13518 (build_env.mk): New target.
13519 (include_DATA): New variable.
13520 (install-local): Install $(include_DATA) files in $(includedir).
13522 2008-11-07 Pavel Roskin <proski@gnu.org>
13524 * gendistlist.sh: Use C locale for sorting to ensure consistent
13525 output on all systems.
13527 * util/grub.d/00_header.in: Remove incorrect space before
13530 2008-11-07 Robert Millan <rmh@aybabtu.com>
13532 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
13534 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
13535 * loader/multiboot_loader.c (find_multi_boot2_header): New function
13536 (based on find_multi_boot1_header).
13537 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
13538 using find_multi_boot2_header(), and abort if neither Multiboot or
13539 Multiboot headers were found.
13541 2008-11-07 Robert Millan <rmh@aybabtu.com>
13543 Modularize at_keyboard.mod:
13545 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
13546 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
13547 (at_keyboard_mod_LDFLAGS): New variables.
13549 Actual terminal split:
13551 * include/grub/term.h (struct grub_term): Split in ...
13552 (struct grub_term_input): ... this, and ...
13553 (struct grub_term_output): ... this. Update all users.
13554 (grub_term_set_current): Split in ...
13555 (grub_term_set_current_input): ... this, and ...
13556 (grub_term_set_current_output): ... this.
13557 (grub_term_get_current): Split in ...
13558 (grub_term_get_current_input): ... this, and ...
13559 (grub_term_get_current_output): ... this.
13560 (grub_term_register): Split in ...
13561 (grub_term_register_input): ... this, and ...
13562 (grub_term_register_output): ... this.
13563 (grub_term_unregister): Split in ...
13564 (grub_term_unregister_input): ... this, and ...
13565 (grub_term_unregister_output): ... this.
13566 (grub_term_iterate): Split in ...
13567 (grub_term_iterate_input): ... this, and ...
13568 (grub_term_iterate_output): ... this.
13570 * kern/term.c (grub_term_list): Split in ...
13571 (grub_term_list_input): ... this, and ...
13572 (grub_term_list_output): ... this. Update all users.
13573 (grub_cur_term): Split in ...
13574 (grub_cur_term_input): ... this, and ...
13575 (grub_cur_term_output): ... this. Update all users.
13576 (grub_term_set_current): Split in ...
13577 (grub_term_set_current_input): ... this, and ...
13578 (grub_term_set_current_output): ... this.
13579 (grub_term_get_current): Split in ...
13580 (grub_term_get_current_input): ... this, and ...
13581 (grub_term_get_current_output): ... this.
13582 (grub_term_register): Split in ...
13583 (grub_term_register_input): ... this, and ...
13584 (grub_term_register_output): ... this.
13585 (grub_term_unregister): Split in ...
13586 (grub_term_unregister_input): ... this, and ...
13587 (grub_term_unregister_output): ... this.
13588 (grub_term_iterate): Split in ...
13589 (grub_term_iterate_input): ... this, and ...
13590 (grub_term_iterate_output): ... this.
13592 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
13593 a check for input and one for output (and only attempt to get keys
13594 from user when input works).
13596 * util/grub-probe.c (grub_term_get_current): Split in ...
13597 (grub_term_get_current_input): ... this, and ...
13598 (grub_term_get_current_output): ... this.
13599 * util/grub-fstest.c: Likewise.
13600 * util/i386/pc/grub-setup.c: Likewise.
13601 * util/grub-editenv.c: Likewise.
13603 Portability adjustments:
13605 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
13606 `term/i386/pc/at_keyboard.c'.
13607 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
13608 grub_keyboard_controller_init() (now handled by terminal .init).
13609 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
13610 grub_at_keyboard_init().
13611 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
13612 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
13613 at_keyboard.mod via input terminal interface).
13614 * include/grub/i386/coreboot/console.h: Convert into a stub for
13615 `<grub/i386/pc/console.h>'.
13617 Migrate full terminals to new API:
13619 * term/efi/console.c (grub_console_term): Split into ...
13620 (grub_console_term_input): ... this, and ...
13621 (grub_console_term_output): ... this. Update all users.
13622 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
13623 (grub_ofconsole_init): Split into ...
13624 (grub_ofconsole_init_input): ... this, and ...
13625 (grub_ofconsole_init_output): ... this.
13626 (grub_ofconsole_term): Split into ...
13627 (grub_ofconsole_term_input): ... this, and ...
13628 (grub_ofconsole_term_output): ... this. Update all users.
13629 * term/i386/pc/serial.c (grub_serial_term): Split into ...
13630 (grub_serial_term_input): ... this, and ...
13631 (grub_serial_term_output): ... this. Update all users.
13632 * term/i386/pc/console.c (grub_console_term): Split into ...
13633 (grub_console_term_input): ... this, and ...
13634 (grub_console_term_output): ... this. Update all users.
13635 (grub_console_term_input): Only enable it on PC/BIOS platform.
13636 (grub_console_init): Remove grub_keyboard_controller_init() call.
13638 Migrate input terminals to new API:
13640 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
13641 `i386' and `i386/pc' to enable build on x86_64 (this driver is
13642 i386-specific anyway).
13643 (grub_console_checkkey): Rename to ...
13644 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
13646 (grub_keyboard_controller_orig): New variable.
13647 (grub_console_getkey): Rename to ...
13648 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
13650 (grub_keyboard_controller_init): Static-ize. Save original
13651 controller value so that it can be restored ...
13652 (grub_keyboard_controller_fini): ... here (new function).
13653 (grub_at_keyboard_term): New structure.
13654 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
13657 Migrate output terminals to new API:
13659 * term/i386/pc/vga.c (grub_vga_term): Change type to
13660 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
13661 members. Update all users.
13662 * term/gfxterm.c (grub_video_term): Change type to
13663 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
13664 members. Update all users.
13665 * include/grub/i386/pc/console.h (grub_console_checkkey)
13666 (grub_console_getkey): Do not export (no longer needed by gfxterm,
13669 Migrate `terminal' command and userland tools to new API:
13671 * commands/terminal.c (grub_cmd_terminal): Split into ...
13672 (grub_cmd_terminal_input): ... this, and ...
13673 (grub_cmd_terminal_output): ... this.
13674 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
13675 `terminal_input' and `terminal_output'.
13676 * util/grub.d/00_header.in: Adjust `terminal' calls to new
13677 `terminal_input' / `terminal_output' API.
13678 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
13679 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
13680 provided ${GRUB_TERMINAL}, convert it).
13682 2008-11-04 Robert Millan <rmh@aybabtu.com>
13684 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
13686 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
13688 2008-11-03 Bean <bean123ch@gmail.com>
13690 * kern/elf.c (grub_elf32_load): Revert to previous code.
13691 (grub_elf64_load): Likewise.
13693 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
13695 2008-11-01 Robert Millan <rmh@aybabtu.com>
13697 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
13698 (TARGET_CPPFLAGS): Likewise.
13699 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
13701 2008-11-01 Carles Pina i Estany <carles@pina.cat>
13703 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
13705 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
13707 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
13708 addition of objects until the code is not going to be able to fail.
13710 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
13712 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
13713 (add a missing NULL check, and correct them by moving the pointer
13714 operations after the actual check).
13716 2008-10-29 Robert Millan <rmh@aybabtu.com>
13718 * util/i386/pc/grub-install.in: Handle empty string as output from
13719 make_system_path_relative_to_its_root().
13721 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
13723 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
13724 circular metadata worst case scenario. If the metadata is circular
13725 then copy the wrap in place.
13726 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
13727 project lib/format_text/layout.h
13728 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
13730 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
13732 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
13734 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
13736 * util/update-grub_lib.in: Mention filename in warning message.
13738 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
13740 * NEWS: Update for rename of update-grub to grub-mkconfig.
13742 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
13744 * util/update-grub_lib.in: Copy to ...
13745 * util/grub-mkconfig_lib.in: ... this. Update all users.
13746 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
13747 * util/update-grub.in: Rename to ...
13748 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
13749 option. Add `--output' option to allow users to specify the generated
13750 configuration file. Default to stdout.
13751 (update_grub_dir): Rename to ...
13752 (grub_mkconfig_dir): ... this.
13753 (grub_cfg): Default to an empty string.
13754 * conf/common.rmk (update-grub): Rename to ...
13755 (grub-mkconfig): ... this.
13756 (update-grub_lib): Copy to ...
13757 (grub-mkconfig_lib): ... this.
13758 (update-grub_SCRIPTS): Copy to ...
13759 (grub-mkconfig_SCRIPTS): ... this. Update all users.
13760 (update-grub_DATA): Rename to ...
13761 (grub-mkconfig_DATA): ... this.
13763 2008-09-28 Robert Millan <rmh@aybabtu.com>
13765 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
13766 to `modified'. Add the real `created' field.
13767 (grub_iso9660_uuid): Use `modified' rather than `created' for
13768 constructing the UUID.
13770 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
13772 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
13773 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
13775 2008-09-28 Bean <bean123ch@gmail.com>
13777 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
13778 Thanks to Christian Franke for finding this bug.
13780 2008-09-25 Robert Millan <rmh@aybabtu.com>
13782 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
13783 instances of grub_util_get_disk_name() (see previous commit).
13785 2008-09-25 Robert Millan <rmh@aybabtu.com>
13787 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
13788 `util/i386/get_disk_name.c'.
13789 * conf/i386-efi.rmk: Likewise.
13790 * conf/x86_64-efi.rmk: Likewise.
13791 * conf/i386-coreboot.rmk: Likewise.
13792 * conf/i386-ieee1275.rmk: Likewise.
13793 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
13794 `util/ieee1275/get_disk_name.c'.
13795 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
13796 * util/ieee1275/get_disk_name.c: Remove file.
13797 * util/i386/get_disk_name.c: Remove file.
13798 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
13799 "hd%d" for device.map entries, rather than using
13800 grub_util_get_disk_name().
13802 2008-09-24 Carles Pina i Estany <carles@pina.cat>
13804 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
13806 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
13808 2008-09-24 Carles Pina i Estany <carles@pina.cat>
13810 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
13812 (GRUB_TERM_PPAGE): Changed to 0x4900.
13814 2008-09-24 Robert Millan <rmh@aybabtu.com>
13816 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
13817 macros (they were i386-pc specific).
13818 * include/grub/sparc64/ieee1275/console.h: Likewise.
13819 * include/grub/efi/console.h: Likewise.
13821 2008-09-22 Bean <bean123ch@gmail.com>
13823 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
13824 resident and in attribute list.
13826 * include/grub/ntfs.h (BMP_LEN): Removed.
13828 2008-09-22 Bean <bean123ch@gmail.com>
13830 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
13831 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
13833 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
13834 error occurs, as grub_disk_open will call grub_disk_close, which will
13835 call p->close (scsi).
13837 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
13839 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
13840 (AC_PREREQ): Bumped to 2.59.
13841 (AC_TRY_COMPILE): Replace obsolete macro with ...
13842 (AC_COMPILE_IFELSE): ... this.
13843 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
13844 (AC_LINK_IFELSE): ... this.
13846 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
13848 * autogen.sh: Add a call to `gendistlist.sh'.
13850 2008-09-19 Christian Franke <franke@computer.org>
13852 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
13853 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
13854 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
13855 Export __enable_execute_stack() to modules.
13856 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
13859 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
13861 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
13864 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
13866 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
13867 #include <grub/util/hostdisk.h>.
13869 2008-09-08 Robert Millan <rmh@aybabtu.com>
13871 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
13872 segments when their filesz is zero (grub_file_read() interprets
13873 zero-size as "read until EOF", which results in memory corruption).
13874 Use `lowest_segment' rather than 0 for calculating the current
13875 segment load address.
13877 2008-09-08 Robert Millan <rmh@aybabtu.com>
13879 * util/hostdisk.c (open_device): Replace a grub_util_info() call
13880 with grub_dprintf("hostdisk", ...), as it was so verbose that it
13881 clobbered useful information.
13883 2008-09-08 Robert Millan <rmh@aybabtu.com>
13885 * include/grub/util/biosdisk.h: Move to ...
13886 * include/grub/util/hostdisk.h: ... here. Update all users.
13887 * util/biosdisk.c: Move to ...
13888 * util/hostdisk.c: ... here. Update all users.
13890 2008-09-07 Robert Millan <rmh@aybabtu.com>
13892 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
13894 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
13895 and length can be stored directly in the `mbi->mmap_addr' and
13896 `mbi->mmap_length' struct fields.
13898 2008-09-07 Robert Millan <rmh@aybabtu.com>
13900 * conf/i386.rmk: New file. Provides declaration for building
13902 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
13903 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
13905 Include `conf/i386.mk'.
13906 * conf/i386-efi.rmk: Likewise.
13907 * conf/x86_64-efi.rmk: Likewise.
13908 * conf/i386-coreboot.rmk: Likewise.
13909 * conf/i386-ieee1275.rmk: Likewise.
13911 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
13913 Based on patch created by Colin D Bennett <colin@gibibit.com>.
13914 Adds optimization support for BGR based modes.
13916 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
13917 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
13918 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
13919 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
13920 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
13921 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
13922 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
13923 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
13924 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
13925 (grub_video_i386_vbeblit_index_index): Likewise.
13926 (grub_video_i386_vbeblit_replace_directN): Added.
13927 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
13928 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
13929 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
13930 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
13931 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
13932 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
13933 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
13934 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
13935 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
13936 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
13937 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
13938 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
13939 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
13941 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
13942 (grub_video_i386_vbefill_R8G8B8): Likewise.
13943 (grub_video_i386_vbefill_index): Likewise.
13944 (grub_video_i386_vbefill_direct32): Added.
13945 (grub_video_i386_vbefill_direct24): Likewise.
13946 (grub_video_i386_vbefill_direct16): Likewise.
13947 (grub_video_i386_vbefill_direct8): Likewise.
13949 * include/grub/video.h (grub_video_blit_format): Removed
13950 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
13951 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
13952 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
13953 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
13954 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
13956 * video/video.c (grub_video_get_blit_format): Updated to use new
13957 blit formats. Added handling for 16 bit color modes.
13959 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
13961 (common_blitter): Updated to use new blitters.
13963 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
13965 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
13966 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
13967 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
13968 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
13969 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
13970 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
13971 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
13972 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
13973 (grub_video_i386_vbeblit_index_index): Likewise.
13974 (grub_video_i386_vbeblit_replace_directN): Added.
13975 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
13976 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
13977 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
13978 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
13979 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
13980 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
13981 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
13982 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
13983 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
13984 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
13985 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
13986 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
13987 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
13989 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
13990 (grub_video_i386_vbefill_R8G8B8): Likewise.
13991 (grub_video_i386_vbefill_index): Likewise.
13992 (grub_video_i386_vbefill_direct32): Added.
13993 (grub_video_i386_vbefill_direct24): Likewise.
13994 (grub_video_i386_vbefill_direct16): Likewise.
13995 (grub_video_i386_vbefill_direct8): Likewise.
13997 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
14000 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
14003 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
14006 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
14009 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
14011 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
14014 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
14016 * fs/iso9660.c (grub_iso9660_date): New structure.
14017 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
14018 (grub_iso9660_uuid): New function.
14020 2008-09-05 Bean <bean123ch@gmail.com>
14022 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
14024 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
14025 insensitive bit for names in Win32 and Win32 & DOS namespace.
14027 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
14029 * include/grub/types.h (LONG_MAX): Likewise.
14031 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
14033 * util/getroot.c: Include <config.h>.
14034 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
14035 add support for /dev/md/N devices and handle LVM double dash escaping.
14037 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
14039 * config.guess: Update to latest version from config git.
14040 * config.sub: Likewise.
14042 2008-09-03 Robert Millan <rmh@aybabtu.com>
14044 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
14045 `disk->total_sectors'.
14047 2008-09-01 Colin D Bennett <colin@gibibit.com>
14049 * include/grub/normal.h: Fixed incorrect comment for
14050 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
14052 2008-09-01 Colin D Bennett <colin@gibibit.com>
14054 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
14055 values with defines.
14057 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
14058 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
14059 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
14060 (GRUB_VBE_MODEATTR_COLOR): Likewise.
14061 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
14062 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
14063 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
14064 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
14065 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
14066 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
14067 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
14068 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
14069 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
14070 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
14071 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
14072 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
14073 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
14074 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
14075 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
14077 2008-08-31 Robert Millan <rmh@aybabtu.com>
14079 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
14081 (grub_multiboot): Fix a few warnings.
14083 2008-08-31 Robert Millan <rmh@aybabtu.com>
14085 * loader/i386/pc/multiboot.c: Update comment not to say that
14086 boot_device support is unimplemented.
14088 2008-08-31 Robert Millan <rmh@aybabtu.com>
14090 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
14091 or memory map support are unimplemented.
14093 2008-08-31 Colin D Bennett <colin@gibibit.com>
14095 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
14097 2008-08-31 Colin D Bennett <colin@gibibit.com>
14099 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
14100 total video memory in 'vbeinfo' output; show color format details for
14103 2008-08-30 Pavel Roskin <proski@gnu.org>
14105 * util/genmoddep.c: Remove for real this time.
14106 * DISTLIST: Remove util/genmoddep.c.
14108 2008-08-30 Robert Millan <rmh@aybabtu.com>
14110 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
14111 as required by Multiboot spec (it was already 4-byte aligned, but
14114 2008-08-29 Pavel Roskin <proski@gnu.org>
14116 * kern/powerpc/ieee1275/crt0.S: Rename to ...
14117 * kern/powerpc/ieee1275/startup.S: ... this.
14118 * conf/powerpc-ieee1275.rmk: Adjust for the above.
14119 * DISTLIST: Likewise.
14121 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
14122 grub/cpu/kernel.h. Add start label for consistency with other
14123 platforms. Add grub_prefix immediately after start. Add jump
14124 to the code after grub_prefix.
14125 * include/grub/powerpc/kernel.h: Provide valid values for
14126 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
14128 2008-08-29 Bean <bean123ch@gmail.com>
14130 * configure.ac: Change host_os to cygwin for mingw.
14131 (asprintf): New check for function.
14133 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
14134 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
14136 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
14137 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
14138 sync, sleep and grub_util_get_disk_size for mingw.
14140 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
14141 to get size in mingw.
14142 (open_device): Use flag O_BINARY if it's defined.
14143 (find_root_device): Add dummy code for mingw.
14145 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
14146 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
14147 (get_scsi_disk_name): Return 0 for mingw.
14149 * util/hostfs.c: #include <grub/util/misc.h>.
14150 (grub_hostfs_open): Use "rb" flag to open file, use
14151 grub_util_get_disk_size to get disk size for mingw.
14153 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
14154 (asprintf): New function if HAVE_ASPRINTF is not set.
14155 (sync): New function for mingw.
14157 (grub_util_get_disk_size): Likewise.
14159 2008-08-28 Pavel Roskin <proski@gnu.org>
14161 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
14164 2008-08-28 Robert Millan <rmh@aybabtu.com>
14166 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
14168 2008-08-28 Robert Millan <rmh@aybabtu.com>
14170 Change find_grub_drive() syntax so it doesn't prevent it from
14171 detecting NULL names as errors.
14173 * util/biosdisk.c (find_grub_drive): Move free slot search code
14175 (find_free_slot): ... to here.
14176 (read_device_map): Use find_free_slot() to search for free slots.
14178 2008-08-27 Marco Gerards <marco@gnu.org>
14180 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
14181 (scsi_mod_SOURCES): New variable.
14182 (scsi_mod_CFLAGS): Likewise
14183 (scsi_mod_LDFLAGS): Likewise.
14185 * disk/scsi.c: New file.
14187 * include/grub/scsi.h: Likewise.
14189 * include/grub/scsicmd.h: Likewise.
14191 * disk/ata.c: Include <grub/scsi.h>.
14192 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
14194 (grub_ata_iterate): Skip ATAPI devices.
14195 (grub_ata_open): Only handle ATAPI devices.
14196 (struct grub_atapi_read): Removed.
14197 (grub_atapi_readsector): Likewise.
14198 (grub_ata_read): No longer handle ATAPI devices.
14199 (grub_ata_write): Likewise.
14200 (grub_atapi_iterate): New function.
14201 (grub_atapi_read): Likewise.
14202 (grub_atapi_write): Likewise.
14203 (grub_atapi_open): Likewise.
14204 (grub_atapi_close): Likewise.
14205 (grub_atapi_dev): New variable.
14206 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
14207 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
14209 * include/grub/disk.h (enum grub_disk_dev_id): Add
14210 `GRUB_DISK_DEVICE_SCSI_ID'.
14212 2008-08-26 Robert Millan <rmh@aybabtu.com>
14214 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
14215 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
14218 2008-08-23 Bean <bean123ch@gmail.com>
14220 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
14221 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
14222 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
14223 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
14225 (raid5rec_mod_SOURCES): New macro.
14226 (raid5rec_mod_CFLAGS): Likewise.
14227 (raid5rec_mod_LDFLAGS): Likewise.
14228 (raid6rec_mod_SOURCES): Likewise.
14229 (raid6rec_mod_CFLAGS): Likewise.
14230 (raid6rec_mod_LDFLAGS): Likewise.
14231 (mdraid_mod_SOURCES): Likewise.
14232 (mdraid_mod_CFLAGS): Likewise.
14233 (mdraid_mod_LDFLAGS): Likewise.
14234 (dm_nv_mod_SOURCES): Likewise.
14235 (dm_nv_mod_CFLAGS): Likewise.
14236 (dm_nv_mod_LDFLAGS): Likewise.
14238 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
14239 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
14240 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
14242 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
14243 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
14245 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14247 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14249 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14251 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14253 * disk/raid5_recover.c: New file.
14255 * disk/raid6_recover.c: Likewise.
14257 * disk/mdraid_linux.c: Likewise.
14259 * disk/dmraid_nvidia.c: Likewise.
14261 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
14264 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
14265 calculate the size of raid device.
14266 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
14267 different layout of raid5.
14268 (grub_raid_scan_device): Remove code specific to mdraid.
14269 (grub_raid_list): New variable.
14270 (free_array): New function.
14271 (grub_raid_register): Likewise.
14272 (grub_raid_unregister): Likewise.
14273 (grub_raid_rescan): Likewise.
14274 (GRUB_MOD_INIT): Don't iterate device here.
14275 (GRUB_MOD_FINI): Use free_array to release resource.
14277 * include/grub/raid.h: Remove macro and structure specific to mdraid.
14278 (grub_raid5_recover_func_t): New function variable type.
14279 (grub_raid6_recover_func_t): Likewise.
14280 (grub_raid5_recover_func): New variable.
14281 (grub_raid6_recover_func): Likewise.
14282 (grub_raid_register): New function.
14283 (grub_raid_unregister): Likewise.
14284 (grub_raid_rescan): Likewise.
14285 (grub_raid_block_xor): Likewise.
14287 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
14288 (CMD_CRC): New macro.
14290 (read_file): Handle device as well as file.
14291 (cmd_crc): New function.
14292 (fstest): Handle multiple disks.
14293 (options): Remove part, raw and long, add root and diskcount.
14294 (usage): Add crc, remove -p, -r, -l, add -r and -c.
14295 (main): Find the first non option entry and ignore subsequent options,
14296 add handling for the new options, support multiple disks.
14298 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
14300 2008-08-23 Bean <bean123ch@gmail.com>
14302 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
14304 * genfslist.sh: Ignore kernel.mod.
14306 * genpartmaplist.sh: Likewise.
14308 2008-08-23 Robert Millan <rmh@aybabtu.com>
14310 * util/getroot.c (find_root_device): Skip anything that starts with
14311 a dot, not just directories. This avoids things like /dev/.tmp.md0.
14313 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
14315 * util/update-grub.in (GRUB_GFXMODE): Export variable.
14316 * util/grub.d/00_header.in: Allow the administrator to change default
14317 gfxmode via ${GRUB_GFXMODE}.
14319 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
14321 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
14323 2008-08-21 Robert Millan <rmh@aybabtu.com>
14325 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
14327 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
14328 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
14330 2008-08-20 Carles Pina i Estany <carles@pina.cat>
14332 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
14333 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
14335 2008-08-19 Robert Millan <rmh@aybabtu.com>
14337 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
14338 (struct grub_virtual_screen): Remove `cursor_color'.
14339 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
14341 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
14343 2008-08-18 Robert Millan <rmh@aybabtu.com>
14345 Unify (identical) linux_normal.c files.
14346 * loader/i386/efi/linux_normal.c: Move from here ...
14347 * loader/linux_normal.c: ... to here. Update all users.
14348 * loader/i386/pc/linux_normal.c: Delete. Update all users.
14349 * loader/i386/ieee1275/linux_normal.c: Likewise.
14351 2008-08-18 Robert Millan <rmh@aybabtu.com>
14353 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
14354 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
14355 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
14356 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
14357 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
14359 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
14360 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
14361 (GRUB_LINUX_CL_END_OFFSET): ... to here.
14362 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
14363 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
14364 (GRUB_EFI_CL_END_OFFSET): Rename to ...
14365 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
14366 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
14367 Initialize `params->video_cursor_x' and `params->video_cursor_y'
14368 portably using grub_getxy().
14369 Replace `-EFI' with `-bzImage' in boot message.
14371 2008-08-17 Robert Millan <rmh@aybabtu.com>
14373 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
14375 2008-08-17 Robert Millan <rmh@aybabtu.com>
14377 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
14379 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
14380 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
14381 (grub_machine_mmap_iterate): New function declaration.
14382 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
14384 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
14387 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
14388 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
14389 Move e820 parsing from here ...
14390 * kern/i386/pc/mmap.c: New file.
14391 (grub_machine_mmap_iterate): ... to here.
14393 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
14394 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
14395 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
14396 (grub_available_iterate): Redeclare to return `void', and redeclare
14397 its hook to use grub_uint64_t as addr and size parameters, and rename
14399 (grub_machine_mmap_iterate): ... this. Update all users.
14401 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
14402 to make it more readable. Rename to ...
14403 (grub_machine_mmap_iterate): ... this.
14405 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
14406 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
14407 (grub_multiboot): Allocate an extra region after the payload, and fill
14408 it with a Multiboot memory map. Adjust a.out loader to calculate size
14409 with the extra space.
14410 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
14411 with the extra space.
14413 2008-08-17 Carles Pina i Estany <carles@pina.cat>
14415 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
14417 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
14419 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
14420 mdate-sh to the list `find' searches for.
14421 * DISTLIST: Regenerated.
14423 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
14425 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
14426 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
14427 genmoddep.awk, gensymlist.sh.in.
14428 (DISTDIRS): Add bus, docs, hook, lib.
14429 * DISTLIST: Regenerated.
14430 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
14432 2008-08-16 Robert Millan <rmh@aybabtu.com>
14434 * disk/raid.c (grub_raid_init): Handle/report errors set by
14435 grub_device_iterate().
14436 * disk/lvm.c (grub_lvm_init): Likewise.
14438 2008-08-15 Bean <bean123ch@gmail.com>
14440 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14442 (datetime_mod_SOURCES): New macro.
14443 (datetime_mod_CFLAGS): Likewise.
14444 (datetime_mod_LDFLAGS): Likewise.
14445 (date_mod_SOURCES): Likewise.
14446 (date_mod_CFLAGS): Likewise.
14447 (date_mod_LDFLAGS): Likewise.
14448 (datehook_mod_SOURCES): Likewise.
14449 (datehook_mod_CFLAGS): Likewise.
14450 (datehook_mod_LDFLAGS): Likewise.
14452 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14454 (datetime_mod_SOURCES): New macro.
14455 (datetime_mod_CFLAGS): Likewise.
14456 (datetime_mod_LDFLAGS): Likewise.
14457 (date_mod_SOURCES): Likewise.
14458 (date_mod_CFLAGS): Likewise.
14459 (date_mod_LDFLAGS): Likewise.
14460 (datehook_mod_SOURCES): Likewise.
14461 (datehook_mod_CFLAGS): Likewise.
14462 (datehook_mod_LDFLAGS): Likewise.
14464 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14466 (datetime_mod_SOURCES): New macro.
14467 (datetime_mod_CFLAGS): Likewise.
14468 (datetime_mod_LDFLAGS): Likewise.
14469 (date_mod_SOURCES): Likewise.
14470 (date_mod_CFLAGS): Likewise.
14471 (date_mod_LDFLAGS): Likewise.
14472 (datehook_mod_SOURCES): Likewise.
14473 (datehook_mod_CFLAGS): Likewise.
14474 (datehook_mod_LDFLAGS): Likewise.
14476 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14478 (datetime_mod_SOURCES): New macro.
14479 (datetime_mod_CFLAGS): Likewise.
14480 (datetime_mod_LDFLAGS): Likewise.
14481 (date_mod_SOURCES): Likewise.
14482 (date_mod_CFLAGS): Likewise.
14483 (date_mod_LDFLAGS): Likewise.
14484 (datehook_mod_SOURCES): Likewise.
14485 (datehook_mod_CFLAGS): Likewise.
14486 (datehook_mod_LDFLAGS): Likewise.
14488 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14490 (datetime_mod_SOURCES): New macro.
14491 (datetime_mod_CFLAGS): Likewise.
14492 (datetime_mod_LDFLAGS): Likewise.
14493 (date_mod_SOURCES): Likewise.
14494 (date_mod_CFLAGS): Likewise.
14495 (date_mod_LDFLAGS): Likewise.
14496 (datehook_mod_SOURCES): Likewise.
14497 (datehook_mod_CFLAGS): Likewise.
14498 (datehook_mod_LDFLAGS): Likewise.
14500 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
14502 * commands/date.c: New file.
14504 * hook/datehook.c: Likewise.
14506 * include/grub/lib/datetime.h: Likewise.
14508 * include/grub/i386/cmos.h: Likewise.
14510 * lib/datetime.c: Likewise.
14512 * lib/i386/datetime.c: Likewise.
14514 * lib/efi/datetime.c: Likewise.
14516 2008-08-14 Robert Millan <rmh@aybabtu.com>
14518 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
14519 (grub_mkelfimage_SOURCES): New variable.
14520 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
14522 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
14523 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
14524 * conf/powerpc-ieee1275.rmk: Likewise.
14525 * conf/i386-ieee1275.rmk: Likewise.
14527 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
14528 * kern/i386/coreboot/init.c: Likewise.
14530 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
14531 with `<grub/cpu/kernel.h>'.
14532 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
14534 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
14535 * kern/i386/coreboot/startup.S: Likewise.
14537 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
14538 (GRUB_MOD_GAP): Remove.
14539 * include/grub/powerpc/kernel.h: New file.
14540 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
14541 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
14542 * include/grub/i386/kernel.h: New file.
14543 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
14544 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
14545 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
14547 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
14549 Use --directory when invoking grub_mkimage.
14551 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
14552 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
14553 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
14554 and GRUB_KERNEL_CPU_PREFIX.
14556 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
14558 * include/grub/err.h (grub_err_printf): New function prototype.
14559 * util/misc.c (grub_err_printf): New function.
14560 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
14562 * kern/err.c (grub_print_error): Use grub_err_printf.
14564 2008-08-13 Robert Millan <rmh@aybabtu.com>
14566 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
14568 2008-08-13 Robert Millan <rmh@aybabtu.com>
14570 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
14573 2008-08-12 Robert Millan <rmh@aybabtu.com>
14575 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
14576 of the relocation code from here ...
14577 (grub_multiboot): ... to here.
14578 (forward_relocator, backward_relocator): Move from here ...
14579 * kern/i386/loader.S (grub_multiboot_forward_relocator)
14580 (grub_multiboot_backward_relocator): ... to here.
14581 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
14582 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
14583 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
14584 (grub_multiboot_forward_relocator_end)
14585 (grub_multiboot_backward_relocator)
14586 (grub_multiboot_backward_relocator_end): New variables.
14588 2008-08-12 Bean <bean123ch@gmail.com>
14590 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
14592 2008-08-11 Robert Millan <rmh@aybabtu.com>
14594 * kern/i386/linuxbios/startup.S: Move from here ...
14595 * kern/i386/coreboot/startup.S: ... to here.
14597 * kern/i386/linuxbios/init.c: Move from here ...
14598 * kern/i386/coreboot/init.c: ... to here.
14600 * kern/i386/linuxbios/table.c: Move from here ...
14601 * kern/i386/coreboot/mmap.c: ... to here.
14603 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
14605 2008-08-11 Robert Millan <rmh@aybabtu.com>
14607 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
14608 errors. Leave it to the upper layer to handle them.
14610 2008-08-09 Christian Franke <franke@computer.org>
14612 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
14613 * conf/common.rmk: Install `grub-pe2elf' only if requested.
14614 Install `grub.d/10_windows' only on Cygwin.
14615 * configure.ac: Add subst of `target_os'.
14616 Check `target_os' also before setting TARGET_OBJ2ELF.
14617 Add `--enable-grub-pe2elf'.
14619 2008-08-08 Robert Millan <rmh@aybabtu.com>
14621 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
14622 (grub_last_time): Change type to grub_uint64_t.
14623 (grub_disk_open): Migrate code from to using grub_get_time_ms().
14624 (grub_disk_close): Likewise.
14626 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
14627 (run_menu): Migrate code from to using grub_get_time_ms().
14629 * util/misc.c (grub_get_time_ms): New function.
14631 2008-08-08 Marco Gerards <marco@gnu.org>
14633 * disk/ata.c (grub_ata_regget): Change return type to
14635 (grub_ata_regget2): Likewise.
14636 (grub_ata_wait_status): New function.
14637 (grub_ata_wait_busy): Removed function, updated all users to use
14638 `grub_ata_wait_status'.
14639 (grub_ata_wait_drq): Likewise.
14640 (grub_ata_cmd): New function.
14641 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
14643 (grub_ata_pio_write): Add error handling.
14644 (grub_atapi_identify): Likewise.
14645 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
14647 (grub_ata_identify): Use `grub_ata_cmd' and improve error
14648 handling. Actually use the detected registers. Reorder the
14649 detection logic such that it is easier to read.
14650 (grub_ata_pciinit): Do not assign the same ID to each controller.
14651 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
14653 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
14655 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
14657 2008-08-08 Marco Gerards <marco@gnu.org>
14661 2008-08-07 Bean <bean123ch@gmail.com>
14663 * include/grub/x86_64/pci.h: New file.
14665 2008-08-07 Christian Franke <franke@computer.org>
14667 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
14668 (TIMER2_GATE): Likewise.
14669 (grub_pit_wait): Add enable/disable of the timer2 gate
14670 bit of port 0x61. This fixes a possible infinite loop.
14672 2008-08-07 Bean <bean123ch@gmail.com>
14674 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
14675 kern/i386/tsc.c and kern/i386/pit.c.
14677 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
14680 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
14683 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
14685 2008-08-07 Bean <bean123ch@gmail.com>
14687 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
14689 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
14691 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
14692 multiple inclusion. Add #include <grub/types.h>.
14694 2008-08-06 Christian Franke <franke@computer.org>
14696 * conf/common.rmk: Build and install `10_windows'.
14697 * util/grub.d/10_windows.in: New script.
14699 2008-08-06 Pavel Roskin <proski@gnu.org>
14701 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
14703 2008-08-06 Robert Millan <rmh@aybabtu.com>
14705 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
14706 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
14708 2008-08-06 Bean <bean123ch@gmail.com>
14710 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
14711 (grub_pxefs_fs_int): Remove dummy definition.
14712 (grub_pxefs_open): Use data->block_size to store the current block
14714 (grub_pxefs_read): Use block size stored in data->block_size. As the
14715 value of grub_pxe_blksize can be changed after the file is opened.
14717 2008-08-06 Bean <bean123ch@gmail.com>
14719 * fs/i386/pc/pxe.c (curr_file): new variable.
14720 (grub_pxefs_open): Simply the handling of pxe file system. Don't
14721 require the dummy internal file system anymore.
14722 (grub_pxefs_read): Removed.
14723 (grub_pxefs_close): Likewise.
14724 (grub_pxefs_fs_int): Likewise.
14725 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
14726 connection when we switch file.
14727 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
14729 2008-08-06 Robert Millan <rmh@aybabtu.com>
14731 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
14733 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
14734 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
14736 * kern/i386/halt.c: New file.
14737 * kern/i386/reboot.c: Likewise.
14738 * include/grub/i386/reboot.h: Likewise.
14739 * include/grub/i386/halt.h: Likewise.
14741 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
14742 Include `<grub/cpu/halt.h>'.
14743 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
14744 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
14746 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
14747 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
14748 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
14749 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
14750 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
14751 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
14753 * include/grub/i386/at_keyboard.h: ... to here.
14755 2008-08-05 Robert Millan <rmh@aybabtu.com>
14757 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
14758 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
14759 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
14760 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
14761 `kern/generic/millisleep.c'.
14763 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
14764 instead of grub_get_rtc().
14765 (grub_tsc_init): Initialize `tsc_boot_time'.
14767 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
14768 (grub_machine_init): Use grub_tsc_init() rather than
14769 installing an RTC-based handler via grub_install_get_time_ms().
14771 * kern/i386/pit.c: New file.
14772 * include/grub/i386/pit.h: Likewise.
14774 2008-08-05 Bean <bean123ch@gmail.com>
14776 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
14778 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
14779 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
14780 (pxe_mod_SOURCES): New macro.
14781 (pxe_mod_CFLAGS): Likewise.
14782 (pxe_mod_LDFLAGS): Likewise.
14783 (pxecmd_mod_SOURCES): Likewise.
14784 (pxecmd_mod_CFLAGS): Likewise.
14785 (pxecmd_mod_LDFLAGS): Likewise.
14787 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
14788 (grub_pxe_call): Likewise.
14790 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
14792 * commands/i386/pc/pxecmd.c: New file.
14794 * fs/i386/pc/pxe.c: Likewise.
14796 * include/grub/i386/pc/pxe.h: Likewise.
14798 2008-08-05 Bean <bean123ch@gmail.com>
14800 * util/console.c (grub_console_cur_color): New variable.
14801 (grub_console_standard_color): Likewise.
14802 (grub_console_normal_color): Likewise.
14803 (grub_console_highlight_color): Likewise.
14804 (color_map): Likewise.
14805 (use_color): Likewise.
14806 (NUM_COLORS): New macro.
14807 (grub_ncurses_setcolorstate): Handle color properly.
14808 (grub_ncurses_setcolor): Don't change color here, just remember the
14809 settings, color will be set in grub_ncurses_setcolorstate.
14810 (grub_ncurses_getcolor): New function.
14811 (grub_ncurses_init): Initialize color pairs.
14812 (grub_ncurses_term): New member grub_ncurses_getcolor.
14814 2008-08-05 Colin D Bennett <colin@gibibit.com>
14816 High resolution timer support. Implemented for x86 CPUs using TSC.
14817 Extracted generic grub_millisleep() so it's linked in only as needed.
14818 This requires a Pentium compatible CPU; if the RDTSC instruction is
14819 not supported, then it falls back on the generic grub_get_time_ms()
14820 implementation that uses the machine's RTC.
14822 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
14823 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
14824 `kern/generic/millisleep.c'.
14826 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
14827 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
14829 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
14830 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
14832 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
14834 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
14835 `kern/generic/millisleep.c'.
14837 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
14839 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
14841 * kern/generic/rtc_get_time_ms.c: New file.
14843 * kern/generic/millisleep.c: New file.
14845 * kern/misc.c: Don't include
14846 <kern/time.h> anymore.
14847 (grub_millisleep_generic): Removed.
14849 * commands/sleep.c (grub_interruptible_millisleep): Uses
14850 grub_get_time_ms() instead of grub_get_rtc().
14852 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
14854 (grub_cpu_is_cpuid_supported): New inline function.
14855 (grub_cpu_is_tsc_supported): New inline function.
14856 (grub_tsc_init): New function prototype.
14857 (grub_tsc_get_time_ms): New function prototype.
14859 * kern/i386/tsc.c (grub_get_time_ms): New file.
14861 * include/grub/time.h: Include <grub/types.h.
14862 (grub_millisleep_generic): Removed.
14863 (grub_get_time_ms): New prototype.
14864 (grub_install_get_time_ms): New prototype.
14865 (grub_rtc_get_time_ms): New prototype.
14867 * kern/time.c (grub_get_time_ms): New function.
14868 (grub_install_get_time_ms): New function.
14870 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
14871 <grub/time.h> anymore.
14872 (grub_millisleep): Removed.
14873 (grub_machine_init): Call grub_tsc_init.
14875 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
14876 get_time_ms() implementation.
14878 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
14879 (ieee1275_get_time_ms): New function.
14880 (grub_machine_init): Install get_time_ms() implementation.
14882 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
14883 (grub_machine_init): Call grub_tsc_init().
14884 (grub_millisleep): Removed.
14886 * kern/ieee1275/init.c (grub_millisleep): Removed.
14887 (grub_machine_init): Install ieee1275_get_time_ms()
14889 (ieee1275_get_time_ms): New function.
14890 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
14893 2008-08-05 Marco Gerards <marco@gnu.org>
14895 * disk/ata.c: Include <grub/pci.h>.
14896 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
14897 (grub_ata_initialize): Rewritten.
14898 (grub_ata_device_initialize): New function.
14900 2008-08-04 Pavel Roskin <proski@gnu.org>
14902 * kern/main.c: Include grub/mm.h.
14904 2008-08-04 Robert Millan <rmh@aybabtu.com>
14906 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
14907 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
14908 corruption problem).
14910 2008-08-04 Robert Millan <rmh@aybabtu.com>
14912 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
14913 warnings introduced in my last commit.
14915 2008-08-03 Robert Millan <rmh@aybabtu.com>
14917 Make PCI available on all i386 architectures.
14919 * include/grub/i386/pc/pci.h: Move from here ...
14920 * include/grub/i386/pci.h: ... to here.
14922 * include/grub/i386/pc/pci.h: Remove.
14923 * include/grub/i386/efi/pci.h: Remove.
14924 * include/grub/x86_64/efi/pci.h: Remove.
14926 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
14927 `<grub/cpu/pci.h>'.
14929 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
14930 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
14931 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
14933 * conf/i386-ieee1275.rmk: Likewise.
14935 2008-08-03 Robert Millan <rmh@aybabtu.com>
14937 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
14938 (grub_console_setcursor): Make it possible to set cursor off.
14940 2008-08-03 Robert Millan <rmh@aybabtu.com>
14942 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
14943 of modules instead of assuming which platform provides what.
14944 * util/update-grub.in: Likewise.
14946 2008-08-03 Robert Millan <rmh@aybabtu.com>
14948 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
14949 instead of `grub_install_dos_part' to determine whether a drive needs
14950 to be prepended to prefix (`grub_install_dos_part' is not reliable,
14951 because it can be overridden when loading GRUB via Multiboot).
14953 2008-08-02 Robert Millan <rmh@aybabtu.com>
14955 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
14957 2008-08-02 Robert Millan <rmh@aybabtu.com>
14959 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
14960 of informational grub_dprintf() calls.
14962 2008-08-02 Robert Millan <rmh@aybabtu.com>
14964 * disk/memdisk.c (memdisk_size): Don't initialize.
14965 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
14967 * include/grub/i386/pc/kernel.h
14968 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
14969 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
14970 (grub_memdisk_image_size, grub_arch_memdisk_addr)
14971 (grub_arch_memdisk_size): Remove.
14973 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
14974 field (was only used to transfer a constant). Add `type' field to
14975 support multiple module types.
14976 (grub_module_iterate): New function.
14978 * kern/device.c (grub_device_open): Do not hide error messages
14979 when grub_disk_open() fails. Use grub_print_error() instead.
14981 * kern/i386/pc/init.c (grub_arch_modules_addr)
14982 (grub_arch_memdisk_size): Remove functions.
14983 (grub_arch_modules_addr): Return the module address in high memory
14984 (now that it isn't copied anymore).
14986 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
14987 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
14988 decompression routine (grub_total_module_size already includes that
14989 now). Don't copy modules back to low memory.
14991 * kern/main.c: Include `<grub/mm.h>'.
14992 (grub_load_modules): Split out (and use) ...
14993 (grub_module_iterate): ... this function, which iterates through
14994 module objects and runs a hook.
14995 Comment out grub_mm_init_region() call, as it would cause non-ELF
14996 modules to be overwritten.
14998 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
14999 the memdisk image in its own region, make it part of the module list.
15000 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
15001 (main): Parse --memdisk|-m option, and pass user-provided path as
15002 parameter to generate_image().
15003 (add_segments): Pass `memdisk_path' down to load_modules().
15004 (load_modules): Embed memdisk image in module section when requested.
15005 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
15006 `header.type' instead of `header.offset'.
15008 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
15009 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
15010 (memdisk_mod_LDFLAGS): New variables.
15011 * conf/i386-coreboot.rmk: Likewise.
15012 * conf/i386-ieee1275.rmk: Likewise.
15014 2008-08-02 Robert Millan <rmh@aybabtu.com>
15016 * loader/i386/pc/multiboot.c (playground, forward_relocator)
15017 (backward_relocator): New variables. Used to allocate and relocate
15018 the payload, respectively.
15019 (grub_multiboot_load_elf32): Load into heap instead of requested
15020 address, install the appropriate relocator code in each bound of
15021 the payload, and set the entry point such that
15022 grub_multiboot_real_boot() will jump to one of them.
15024 * kern/i386/loader.S (grub_multiboot_payload_size)
15025 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
15026 (grub_multiboot_payload_entry_offset): New variables.
15027 (grub_multiboot_real_boot): Set cpu context to what the relocator
15028 expects, and jump to the relocator instead of the payload.
15030 * include/grub/i386/loader.h (grub_multiboot_payload_size)
15031 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
15032 (grub_multiboot_payload_entry_offset): Export.
15034 2008-08-01 Bean <bean123ch@gmail.com>
15036 * normal/menu_entry.c (editor_getline): Don't return the original
15037 string as result, as it will be released by lexer once it has done
15040 2008-08-01 Robert Millan <rmh@aybabtu.com>
15042 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
15043 within menuentries, not before them.
15044 util/grub.d/10_hurd.in: Likewise.
15046 2008-08-01 Bean <bean123ch@gmail.com>
15048 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
15049 (bufio_mod_SOURCES): New macro.
15050 (bufio_mod_CFLAGS): Likewise.
15051 (bufio_mod_LDFLAGS): Likewise.
15053 * include/grub/bufio.h: New file.
15055 * io/bufio.c: Likewise.
15057 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
15058 (grub_video_reader_png): Use grub_buffile_open to open file.
15060 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
15061 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
15063 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
15064 (grub_video_reader_tga): Use grub_buffile_open to open file.
15066 * font/manager.c: Include <grub/bufio.h>.
15067 (add_font): Use grub_buffile_open to open file.
15069 2008-07-31 Robert Millan <rmh@aybabtu.com>
15071 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
15072 ELF segments, use a macro for arbitrarily accessing any of them instead
15073 of preparing a pointer that allows access to one at a time.
15074 (grub_multiboot_load_elf64): Likewise.
15076 2008-07-31 Bean <bean123ch@gmail.com>
15078 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
15079 GRUB_KERNEL_MACHINE_DATA_END.
15081 2008-07-30 Robert Millan <rmh@aybabtu.com>
15083 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
15084 Increase from 0x50 to 0x60.
15085 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
15086 use UUIDs to identify the root drive for them. If that's not
15088 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
15089 check, for cross-disk installs.
15091 2008-07-30 Robert Millan <rmh@aybabtu.com>
15093 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
15094 is non-empty, use it to set the `prefix' environment variable instead
15095 of the usual approach.
15096 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
15097 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
15098 environment variable instead of dummy make_install_device().
15100 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
15101 (start): Insert a data section, with `grub_prefix' variable.
15102 * kern/i386/linuxbios/startup.S: Likewise.
15104 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
15105 New variable reference.
15106 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
15107 New macro. Defines offset of `grub_prefix' within startup.S (relative
15109 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
15110 section within startup.S (relative to `start').
15111 * include/grub/i386/coreboot/kernel.h: Likewise.
15113 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
15114 Overwrite grub_prefix with its contents, at the beginning of the
15116 (main): Understand -p|--prefix.
15118 2008-07-30 Robert Millan <rmh@aybabtu.com>
15120 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
15122 2008-07-30 Robert Millan <rmh@aybabtu.com>
15124 * term/i386/pc/vga_text.c (grub_console_cls): Use
15125 grub_console_gotoxy() to go back to beginning of the screen.
15126 Found by Patrick Georgi <patrick.georgi@coresystems.de>
15128 2008-07-29 Christian Franke <franke@computer.org>
15130 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
15131 Add conversion of emulated mount points on Cygwin.
15133 2008-07-29 Christian Franke <franke@computer.org>
15135 * util/update-grub.in: Add a check for admin
15137 Remove old `grub.cfg.new' before creation.
15138 Add `-f' to `mv' to handle the different filesystem
15139 semantics of Windows.
15141 2008-07-29 Bean <bean123ch@gmail.com>
15143 * normal/main.c (get_line): Fix buffer overflow bug.
15145 2008-07-28 Robert Millan <rmh@aybabtu.com>
15147 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
15148 (struct grub_apple_header): New struct. Describes the layout of
15149 the partmap header.
15150 (apple_partition_map_iterate): Check the header magic as well as the
15151 partition magic (which was already being checked).
15153 2008-07-28 Pavel Roskin <proski@gnu.org>
15155 * genmk.rb: Add a warning to the beginning of the output that
15156 it's a generated file and should not be edited.
15158 2008-07-28 Robert Millan <rmh@aybabtu.com>
15160 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
15161 with the same number are found, just use issue a warning with
15162 grub_dprintf(), as this error has been reported to be non-fatal.
15164 2008-07-27 Robert Millan <rmh@aybabtu.com>
15166 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
15169 2008-07-27 Bean <bean123ch@gmail.com>
15171 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
15172 (grub_fat_find_dir): Ignore case when comparing filename.
15174 2008-07-27 Bean <bean123ch@gmail.com>
15176 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
15177 smallino, as it's more descriptive, and i8count can be confused with
15178 the other field count.
15179 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
15182 2008-07-27 Bean <bean123ch@gmail.com>
15184 * commands/crc.c: New file.
15186 * lib/crc.c: Likewise.
15188 * include/grub/lib/crc.h: Likewise.
15190 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
15192 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
15193 (hexdump): Move this function to ...
15195 * lib/hexdump.c: ... here.
15197 * include/grub/hexdump.h: Renamed to ...
15199 * include/grub/lib/hexdump.h: ... this.
15201 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
15203 * util/grub-editenv.c: Likewise.
15205 * include/envblk.h: Renamed to ...
15207 * include/lib/envblk.h: ... this.
15209 * util/envblk.c: Renamed to ...
15211 * lib/envblk.c: ... this.
15213 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
15215 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
15216 (pkglib_MODULES): Add crc.mod.
15217 (hexdump_mod_SOURCES): Add lib/hexdump.c.
15218 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
15219 (crc_mod_SOURCES): New macro.
15220 (crc_mod_CFLAGS): Likewise.
15221 (crc_mod_LDFLAGS): Likewise.
15223 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
15225 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15227 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15231 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15233 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
15235 * commands/help.c: Include <grub/term.h>.
15236 (TERM_WIDTH): Removed. Updated all users.
15238 2008-07-27 Pavel Roskin <proski@gnu.org>
15240 * util/getroot.c (find_root_device): Rephrase a comment to avoid
15241 spurious warnings about a comment within a comment.
15243 2008-07-25 Robert Millan <rmh@aybabtu.com>
15245 * util/getroot.c (find_root_device): Skip devices that match
15246 /dev/dm-[0-9]. This lets the real device be found for any type of
15247 abstraction (LVM, EVMS, RAID..).
15248 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
15249 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
15250 device is found first, find_root_device() will now skip it.
15252 2008-07-24 Pavel Roskin <proski@gnu.org>
15254 * include/grub/types.h: Use __builtin_bswap32() and
15255 __builtin_bswap64() with gcc 4.3 and newer.
15257 2008-07-24 Christian Franke <franke@computer.org>
15259 * util/i386/pc/grub-install.in: If `--debug' is specified,
15260 pass `--verbose' to grub-setup.
15261 Abort script if make_system_path_relative_to_its_root() fails.
15263 2008-07-24 Bean <bean123ch@gmail.com>
15265 * configure.ac: Fixed a bug caused by the previous cygwin patch,
15266 variable `target_platform' should be `platform'.
15268 2008-07-24 Bean <bean123ch@gmail.com>
15270 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
15271 (grub_png_init_fixed_block): New function.
15272 (grub_png_decode_image_data): Handle fixed huffman code compression.
15274 2008-07-24 Bean <bean123ch@gmail.com>
15276 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
15277 (grub_pe2elf_SOURCES): New macro.
15278 (CLEANFILES): Add grub-pe2elf.
15280 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
15281 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
15282 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
15283 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
15284 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
15285 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
15286 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
15287 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
15288 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
15289 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
15290 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
15291 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
15292 (GRUB_PE32_DT_FUNCTION): Likewise.
15293 (GRUB_PE32_REL_I386_DIR32): Likewise.
15294 (GRUB_PE32_REL_I386_REL32): Likewise.
15295 (grub_pe32_symbol): New structure.
15296 (grub_pe32_reloc): Likewise.
15298 * util/grub-pe2elf.c: New file.
15300 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
15301 start symbol in non pc platform.
15303 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
15305 The following patches are from Christian Franke.
15307 * include/grub/dl.h: Remove .previous, gas supports this only
15310 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
15311 Remove .type, gas supports this only for ELF format.
15313 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
15314 nullbytes in symbol table. This fixes an infinite loop if table is
15317 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
15318 TARGET_IMG_LDFLAGS and EXEEXT.
15320 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
15321 TARGET_IMG_LDFLAGS_AC.
15322 (grub_CHECK_STACK_ARG_PROBE): New function.
15324 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
15326 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
15328 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
15329 to set TARGET_IMG_LD* accordingly.
15330 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
15331 Add call to grub_CHECK_STACK_ARG_PROBE.
15332 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
15334 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
15336 * genmk.rb: Add EXEEXT to CLEANFILES.
15338 2008-07-23 Robert Millan <rmh@aybabtu.com>
15340 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
15341 define the codes for arrows and lines used for the menu).
15342 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
15345 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
15346 fonts, because the latter are too slow.
15348 2008-07-21 Bean <bean123ch@gmail.com>
15350 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
15351 a20. Run keyboard test last, as it will cause macbook to halt.
15353 2008-07-18 Pavel Roskin <proski@gnu.org>
15355 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
15356 load foreign architecture modules correctly anyway. Keep
15357 support for loading host architecture modules, whether we
15358 compile them or not.
15360 2008-07-17 Pavel Roskin <proski@gnu.org>
15362 * configure.ac: Use -m32 or -m64 regardless of whether we had to
15363 change target_cpu. The compiler default can mismatch target_cpu
15366 * disk/efi/efidisk.c: Fix format warnings on x86_64.
15367 * kern/efi/efi.c: Likewise.
15369 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
15370 target compiler is functional.
15371 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
15374 * configure.ac: Default to efi platform for x86_64-apple. Allow
15375 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
15376 adjustments from the rest, only do them if target is not
15377 explicitly given. Merge other adjustments with the final sanity
15378 check. Remove an extraneous check for supported CPU. Be
15379 specific which CPU and which platform is not supported.
15381 * configure.ac: Default to pc platform for x86_64.
15383 2008-07-17 Robert Millan <rmh@aybabtu.com>
15385 Partial LinuxBIOS -> Coreboot rename.
15387 * conf/i386-linuxbios.rmk: Renamed to ...
15388 * conf/i386-coreboot.rmk: ... this.
15389 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
15390 * configure.ac: Accept "coreboot" as input platform (but maintain
15391 compatibility with "linuxbios").
15392 * include/grub/i386/linuxbios: Renamed to ...
15393 * include/grub/i386/coreboot: ... this.
15395 2008-07-17 Bean <bean123ch@gmail.com>
15397 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
15398 (appleldr_mod_SOURCE): New variable.
15399 (appleldr_mod_CFLAGS): Likewise.
15400 (appleldr_mod_LDFLAGS): Likewise.
15401 (pci_mod_SOURCES): Likewise.
15402 (pci_mod_CFLAGS): Likewise.
15403 (pci_mod_LDFLAGS): Likewise.
15404 (lspci_mod_SOURCES): Likewise.
15405 (lspci_mod_CFLAGS): Likewise.
15406 (lspci_mod_LDFLAGS): Likewise.
15408 * conf/x86_64-efi.rmk: New file.
15410 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
15412 (grub_efidisk_write): Likewise.
15414 * include/efi/api.h (efi_call_0): New macro.
15415 (efi_call_1): Likewise.
15416 (efi_call_2): Likewise.
15417 (efi_call_3): Likewise.
15418 (efi_call_4): Likewise.
15419 (efi_call_5): Likewise.
15420 (efi_call_6): Likewise.
15422 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
15423 grub_rescue_cmd_chainloader.
15425 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
15426 (grub_pe32_optional_header): Change some fields based on i386 or
15428 (GRUB_PE32_PE32_MAGIC): Likewise.
15430 * include/grub/efi/uga_draw.h: New file.
15432 * include/grub/elf.h (STN_ABS): New constant.
15433 (R_X86_64_NONE): Relocation constant for x86_64.
15434 (R_X86_64_64): Likewise.
15435 (R_X86_64_PC32): Likewise.
15436 (R_X86_64_GOT32): Likewise.
15437 (R_X86_64_PLT32): Likewise.
15438 (R_X86_64_COPY): Likewise.
15439 (R_X86_64_GLOB_DAT): Likewise.
15440 (R_X86_64_JUMP_SLOT): Likewise.
15441 (R_X86_64_RELATIVE): Likewise.
15442 (R_X86_64_GOTPCREL): Likewise.
15443 (R_X86_64_32): Likewise.
15444 (R_X86_64_32S): Likewise.
15445 (R_X86_64_16): Likewise.
15446 (R_X86_64_PC16): Likewise.
15447 (R_X86_64_8): Likewise.
15448 (R_X86_64_PC8): Likewise.
15450 * include/grub/i386/efi/pci.h: New file.
15452 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
15453 Change it value based on platform.
15454 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
15455 (GRUB_E820_RAM): Likewise.
15456 (GRUB_E820_RESERVED): Likewise.
15457 (GRUB_E820_ACPI): Likewise.
15458 (GRUB_E820_NVS): Likewise.
15459 (GRUB_E820_EXEC_CODE): Likewise.
15460 (GRUB_E820_MAX_ENTRY): Likewise.
15461 (grub_e820_mmap): New structure.
15462 (linux_kernel_header): Change the efi field according to different
15463 kernel version, also field from linux_kernel_header.
15465 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
15467 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
15468 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
15469 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
15470 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
15471 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
15472 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
15473 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
15474 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
15475 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
15476 (GRUB_PCI_ADDR_IO_MASK): Likewise.
15478 * include/grub/x86_64/efi/kernel.h: New file.
15480 * include/grub/x86_64/efi/loader.h: Likewise.
15482 * include/grub/x86_64/efi/machine.h: Likewise.
15484 * include/grub/x86_64/efi/pci.h: Likewise.
15486 * include/grub/x86_64/efi/time.h: Likewise.
15488 * include/grub/x86_64/linux.h: Likewise.
15490 * include/grub/x86_64/setjmp.h: Likewise.
15492 * include/grub/x86_64/time.h: Likewise.
15494 * include/grub/x86_64/types.h: Likewise.
15496 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
15497 GRUB_TARGET_SIZEOF_VOID_P.
15499 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
15500 (grub_efi_locate_handle): Likewise.
15501 (grub_efi_open_protocol): Likewise.
15502 (grub_efi_set_text_mode): Likewise.
15503 (grub_efi_stall): Likewise.
15504 (grub_exit): Likewise.
15505 (grub_reboot): Likewise.
15506 (grub_halt): Likewise.
15507 (grub_efi_exit_boot_services): Likewise.
15508 (grub_get_rtc): Likewise.
15510 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
15511 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
15512 (grub_efi_allocate_pages): Wrap efi calls.
15513 (grub_efi_free_pages): Wrap efi calls.
15514 (grub_efi_get_memory_map): Wrap efi calls.
15516 * kern/x86_64/dl.c: New file.
15518 * kern/x86_64/efi/callwrap.S: Likewise.
15520 * kern/x86_64/efi/startup.S: Likewise.
15522 * loader/efi/appleloader.c: Likewise.
15524 * loader/efi/chainloader.c (cmdline): New variable.
15525 (grub_chainloader_unload): Wrap efi calls.
15526 (grub_chainloader_boot): Likewise.
15527 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
15530 * loader/efi/chainloader_normal.c (chainloader_command):
15531 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
15534 * loader/i386/efi/linux.c (allocate_pages): Change allocation
15536 (grub_e820_add_region): New function.
15537 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
15539 (grub_find_video_card): New function.
15540 (grub_linux_setup_video): New function.
15541 (grub_rescue_cmd_linux): Probe for video information.
15543 * normal/x86_64/setjmp.S: New file.
15545 * term/efi/console.c (map_char): New function.
15546 (grub_console_putchar): Map unicode char.
15547 (grub_console_checkkey): Wrap efi calls.
15548 (grub_console_getkey): Likewise.
15549 (grub_console_getwh): Likewise.
15550 (grub_console_gotoxy): Likewise.
15551 (grub_console_cls): Likewise.
15552 (grub_console_setcolorstate): Likewise.
15553 (grub_console_setcursor): Likewise.
15555 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
15557 2008-07-16 Pavel Roskin <proski@gnu.org>
15559 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
15562 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
15563 pointer, not an integer. This fixes a warning and prevents
15564 precision loss on 64-bit systems.
15565 (relocate_addresses): Remove unneeded cast.
15567 2008-07-15 Pavel Roskin <proski@gnu.org>
15569 * kern/i386/ieee1275/init.c: Include grub/cache.h.
15571 * term/ieee1275/ofconsole.c: Disable code unused on i386.
15573 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
15574 Fix comparison between signed and unsigned.
15576 * include/grub/i386/ieee1275/console.h: Declare
15577 grub_console_init() and grub_console_fini().
15579 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
15580 It's empty and unused.
15582 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
15583 beginning to avoid warnings with some compilers.
15585 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
15586 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
15588 2008-07-14 Pavel Roskin <proski@gnu.org>
15590 * kern/env.c (grub_register_variable_hook): Don't copy empty
15591 string, it leaks memory. Pass "" to grub_env_set(), it should
15592 handle constant strings.
15594 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
15595 * commands/cmp.c (grub_cmd_cmp): Likewise.
15596 * kern/dl.c (grub_dl_flush_cache): Likewise.
15597 (grub_dl_load_core): Likewise.
15598 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
15599 (grub_elf64_load_phdrs): Likewise.
15601 2008-07-13 Pavel Roskin <proski@gnu.org>
15603 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
15604 between signed and unsigned.
15605 (LzmaEnc_Finish): Fix warning about an unused parameter.
15607 2008-07-13 Bean <bean123ch@gmail.com>
15609 * Makefile.in (enable_lzo): New rule.
15611 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
15613 * configure.ac (ENABLE_LZO): New option --enable-lzo.
15615 * boot/i386/pc/lnxboot.S: #include <config.h>.
15617 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
15618 its value according to the compression algorithm used, lzo or lzma.
15620 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
15621 compression algorithm according to configure macro.
15623 * kern/i386/pc/startup.S (codestart): Likewise.
15625 * kern/i386/pc/lzma_decode.S: New file.
15627 * include/grub/lib/LzFind.h: Likewise.
15629 * include/grub/lib/LzHash.h: Likewise.
15631 * include/grub/lib/LzmaDec.h: Likewise.
15633 * include/grub/lib/LzmaEnc.h: Likewise.
15635 * include/grub/lib/LzmaTypes.h: Likewise.
15637 * lib/LzFind.c: Likewise.
15639 * lib/LzmaDec.c: Likewise.
15641 * lib/LzmaEnc.c: Likewise.
15643 2008-07-13 Bean <bean123ch@gmail.com>
15645 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
15646 (grub_ext4_extent_header): New structure.
15647 (grub_ext4_extent): Likewise.
15648 (grub_ext4_extent_idx): Likewise.
15649 (grub_ext4_find_leaf): New function.
15650 (grub_ext2_read_block): Handle extents.
15652 2008-07-12 Robert Millan <rmh@aybabtu.com>
15654 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
15656 2008-07-11 Robert Millan <rmh@aybabtu.com>
15658 * util/grub.d/40_custom.in: New file. Example on how to add custom
15659 entries to /etc/grub.d.
15660 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
15661 40_custom (implicitly, by merging all the grub.d rules).
15663 2008-07-11 Pavel Roskin <proski@gnu.org>
15665 * commands/read.c (grub_getline): Fix invalid memory access.
15666 Don't add newline to the variable value.
15668 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
15669 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
15670 (serial_hw_get_port): Check validity of the port number.
15671 (grub_cmd_serial): Check return value of serial_hw_get_port().
15673 2008-07-07 Pavel Roskin <proski@gnu.org>
15675 * boot/i386/pc/diskboot.S (notification_string): Replace
15676 "Loading kernel" with just "loading". This is shorter, less
15677 confusing and saves a few bytes for possible future changes.
15679 2008-07-05 Pavel Roskin <proski@gnu.org>
15681 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
15682 size for ATAPI devices, they are undefined. Output sector
15683 number in decimal form.
15685 * disk/ata.c: Use named constants for status bits.
15687 2008-07-04 Pavel Roskin <proski@gnu.org>
15689 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
15690 grub_addr_t before casting it to the void pointer to fix a
15691 warning. Non-addressable regions are discarded earlier.
15692 (grub_arch_modules_addr): Cast _end to grub_addr_t.
15693 * kern/i386/linuxbios/table.c: Include grub/misc.h.
15694 (check_signature): Don't shadow table_header.
15695 (grub_linuxbios_table_iterate): Cast numeric constants to
15696 grub_linuxbios_table_header_t.
15697 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
15700 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
15703 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
15704 pointer, which can cause warnings. Support 64-bit addresses.
15706 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
15707 of sizeof(long). This fixes PowerPC image generation on x86_64.
15709 2008-07-04 Robert Millan <rmh@aybabtu.com>
15711 This fixes a performance issue when pc & gpt partmap iterators
15712 didn't abort iteration even after our hook found what it was
15713 looking for (often causing expensive probes of non-existent drives).
15715 Some callers relied on previous buggy behaviour, since they would
15716 raise an error when their own hooks caused early abortion of its
15719 * kern/device.c (grub_device_open): Improve error message.
15720 * disk/lvm.c (grub_lvm_open): Likewise.
15721 * disk/raid.c (grub_raid_open): Likewise.
15723 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
15724 when hook requests it, independently of grub_errno.
15725 (pc_partition_map_probe): Do not fail when find_func() caused
15726 early abortion of pc_partition_map_iterate().
15728 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
15729 when hook requests it, independently of grub_errno.
15730 (gpt_partition_map_probe): Do not fail when find_func() caused
15731 early abortion of gpt_partition_map_iterate().
15733 * kern/partition.c (grub_partition_iterate): Abort parent iteration
15734 when hook requests it, independently of grub_errno. Do not fail when
15735 part_map_iterate_hook() caused early abortion of p->iterate().
15737 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
15738 when grub_partition_iterate() returned with non-zero.
15740 2008-07-03 Pavel Roskin <proski@gnu.org>
15742 * disk/ata.c (grub_ata_pio_write): Check status before writing,
15743 like we do in grub_ata_pio_read().
15744 (grub_ata_readwrite): Always write individual sectors. Fix the
15745 sector count for the remainder.
15746 (grub_ata_write): Enable writing to ATA devices. Correctly
15747 report error for ATAPI devices.
15749 2008-07-02 Pavel Roskin <proski@gnu.org>
15751 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
15754 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
15755 for every read sector, we already increment it for the whole
15756 batch. This fixes reading more than 256 sectors at once.
15758 * util/grub-editenv.c (cmd_info): Cast argument to long
15759 explicitly. ptrdiff_t reduces to int on i386.
15761 * util/grub-editenv.c (main): Be specific which parameter is
15764 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
15765 (memdisk): Make memdisk_orig_addr a pointer.
15767 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
15768 for file offsets, use grub_off_t instead. Fix printf format
15771 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
15772 there. Real unexpected warnings should not drown in the noise
15773 about known problems.
15775 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
15776 grub_disk_addr_t for memory addresses.
15778 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
15779 explicitly to fix a warning.
15781 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
15783 * Makefile.in (MODULE_LDFLAGS): New variable.
15784 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
15785 the linker accepts --build-id=none.
15786 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
15788 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
15790 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
15791 those in Linux XFS code. Provide a way to access 64-bit parent
15793 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
15794 the end of struct grub_xfs_dir_header.
15796 2008-07-02 Bean <bean123ch@gmail.com>
15798 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
15799 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
15800 and GRUB_IEEE1275_FLAG_NO_ANSI.
15802 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
15803 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
15804 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
15806 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
15807 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
15809 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
15810 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
15812 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
15813 esc sequence on non ANSI terminal.
15814 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
15816 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
15819 2008-07-02 Bean <bean123ch@gmail.com>
15821 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
15822 (grub_editenv_SOURCES): New variable.
15823 (pkglib_MODULES): Add loadenv.mod.
15824 (loadenv_mod_SOURCES): New variable.
15825 (loadenv_mod_CFLAGS): Likewise.
15826 (loadenv_mod_LDFLAGS): Likewise.
15828 * include/grub/envblk.h: New file.
15830 * util/envblk.c: New file.
15832 * util/grub-editenv.c: New file.
15834 * commands/loadenv.c: New file.
15836 2008-07-01 Pavel Roskin <proski@gnu.org>
15838 * include/multiboot2.h (struct multiboot_tag_module): Use char,
15839 not unsigned char. This fixes warnings and is consistent with
15842 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
15844 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
15846 * term/tparm.c (analyze): Always set *popcount.
15848 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
15849 cast to fix a warning.
15851 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
15852 cast to suppress a warning.
15854 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
15855 grub_fshelp_read_file() expects.
15857 * fs/fat.c: Fix UUID calculation on big-endian systems. We
15858 write uuid as a 32-bit value in CPU byte order, so declare and
15861 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
15862 long if the format specifier expects it.
15863 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
15864 * partmap/pc.c (pc_partition_map_iterate): Likewise.
15865 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
15866 long to fix a warning.
15867 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
15868 grub_dprintf() arguments to fix warnings.
15870 2008-06-30 Pavel Roskin <proski@gnu.org>
15872 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
15873 install_bsd_part immediately before core.img is embedded or
15874 modified on disk. This fixes core.img verification if core.img
15875 cannot be embedded.
15877 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
15878 core_path to calculate the blocklist.
15879 Patch from Javier MartÃn <lordhabbit@gmail.com>
15881 2008-06-29 Robert Millan <rmh@aybabtu.com>
15883 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
15884 block to disk block.
15885 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
15886 Patch from Niels Böhm <bitbucket@arcor.de>
15888 2008-06-29 Robert Millan <rmh@aybabtu.com>
15890 * util/update-grub_lib.in (font_path): Search for fonts in
15891 /boot/grub first, which is more likely to be readable (we aren't
15892 deciding where fonts live, just looking for them).
15894 2008-06-26 Pavel Roskin <proski@gnu.org>
15896 * util/biosdisk.c (read_device_map): Don't leave dead map
15897 entries for devices failing stat() check.
15899 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
15900 core_path_dev for the core.img path on the target device.
15902 2008-06-26 Robert Millan <rmh@aybabtu.com>
15904 * disk/fs_uuid.c: New file.
15905 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
15906 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
15907 (fs_uuid_mod_LDFLAGS): New variables.
15908 * include/grub/disk.h (grub_disk_dev_id): Add
15909 `GRUB_DISK_DEVICE_UUID_ID'.
15910 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
15911 implement iterate().
15913 2008-06-26 Robert Millan <rmh@aybabtu.com>
15915 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
15916 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
15917 Linux image includes no initrd.
15919 2008-06-21 Javier MartÃn <lordhabbit@gmail.com>
15921 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
15922 call to resolve the core image location that effectively appended the
15925 2008-06-21 Robert Millan <rmh@aybabtu.com>
15927 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
15930 * util/grub.d/10_hurd.in: ... to here ...
15931 * util/grub.d/10_linux.in: ... and here.
15933 2008-06-19 Robert Millan <rmh@aybabtu.com>
15935 * kern/main.c (grub_main): Export `prefix' variable immediately
15936 after it has been set by grub_machine_set_prefix().
15938 2008-06-19 Robert Millan <rmh@aybabtu.com>
15940 * commands/search.c (search_label, search_fs_uuid, search_file): Print
15941 search result when not saving to variable, not the other way around.
15942 When saving to variable, abort iteration as soon as a match is found.
15944 2008-06-19 Robert Millan <rmh@aybabtu.com>
15946 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
15947 check for partition that provides /boot/grub. Its logic is flawed,
15948 as it prevents prepare_grub_to_access_device() from being called
15951 2008-06-19 Robert Millan <rmh@aybabtu.com>
15953 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
15954 "insmod" command directly when abstraction modules are needed,
15955 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
15956 since it had already been processed).
15958 2008-06-19 Pavel Roskin <proski@gnu.org>
15960 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
15961 changed. This is needed in case GRUB_LIBDIR changes.
15962 * conf/i386-ieee1275.rmk: Likewise.
15963 * conf/i386-linuxbios.rmk: Likewise.
15964 * conf/i386-pc.rmk: Likewise.
15965 * conf/powerpc-ieee1275.rmk: Likewise.
15967 2008-06-18 Pavel Roskin <proski@gnu.org>
15969 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
15970 kernel_elf_symlist.c to symlist.c for consistency with other
15971 architectures. Update all users.
15972 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
15974 2008-06-18 Robert Millan <rmh@aybabtu.com>
15976 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
15979 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
15980 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
15981 a RAID device, run setup() for all members independently on whether
15982 LVM abstraction is being used.
15983 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
15984 If grub-mkimage has set `*install_dos_part == -2', don't override this
15986 Perform *install_dos_part adjustments independently on whether
15987 we're embedding or not.
15988 Clarify error message when image is too big for embedding.
15989 Remove duplicate *install_dos_part stanza.
15991 2008-06-17 Robert Millan <rmh@aybabtu.com>
15993 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
15994 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
15996 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
15997 values in grub_ofconsole_normal_color and
15998 grub_ofconsole_highlight_color (they're not directly related to
15999 background and foreground).
16000 (grub_ofconsole_setcolorstate): Extract background and foreground
16001 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
16003 2008-06-17 Robert Millan <rmh@aybabtu.com>
16005 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
16006 /boot/grub for the check in last commit, not /boot (they could be
16007 different partitions).
16009 2008-06-16 Robert Millan <rmh@aybabtu.com>
16011 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
16012 asked to setup access for the same partition that provides /boot,
16013 don't bother using UUIDs since our root already has the value we
16016 2008-06-16 Robert Millan <rmh@aybabtu.com>
16018 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
16020 Patch from Sven Mueller <sven@debian.org>.
16022 2008-06-16 Robert Millan <rmh@aybabtu.com>
16024 * util/update-grub.in: Check for $EUID instead of $UID.
16025 Reported by Vincent Zweije.
16027 2008-06-16 Bean <bean123ch@gmail.com>
16029 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
16030 (grub_ext2_read_block): Likewise.
16031 (grub_ext2_read_inode): Likewise.
16032 (grub_ext2_mount): Likewise.
16033 (grub_ext2_close): Likewise.
16034 (grub_ext3_get_journal): Removed.
16036 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
16037 (grub_reiserfs_read_symlink): Likewise.
16038 (grub_reiserfs_mount): Likewise.
16039 (grub_reiserfs_open): Likewise.
16040 (grub_reiserfs_read): Likewise.
16041 (grub_reiserfs_close): Likewise.
16042 (grub_reiserfs_get_journal): Removed.
16044 * fs/fshelp.c (grub_fshelp_read): Removed.
16045 (grub_fshelp_map_block): Likewise.
16047 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
16048 (grub_fshelp_journal): Likewise.
16049 (grub_fshelp_read): Likewise.
16050 (grub_fshelp_map_block): Likewise.
16052 2008-06-16 Pavel Roskin <proski@gnu.org>
16054 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
16055 floating point anymore.
16056 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
16058 2008-06-15 Pavel Roskin <proski@gnu.org>
16060 * commands/ls.c (grub_ls_list_files): Use integer calculations
16061 for human readable format, avoid floating point use.
16062 * kern/misc.c (grub_ftoa): Remove.
16063 (grub_vsprintf): Remove floating point support.
16065 2008-06-15 Robert Millan <rmh@aybabtu.com>
16067 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
16069 Reported by Max Vozeler.
16071 2008-06-15 Robert Millan <rmh@aybabtu.com>
16073 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
16074 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
16076 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
16077 the beginning of the prefix.
16079 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
16080 It is assumed that if we have a memdisk, grub-mkimage has set
16081 grub_prefix to include the "(memdisk)" drive in it.
16083 2008-06-15 Robert Millan <rmh@aybabtu.com>
16085 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
16086 Initialize keyboard controller after registering the terminal, so that
16087 grub_printf() can be called from grub_keyboard_controller_init().
16089 2008-06-15 Robert Millan <rmh@aybabtu.com>
16091 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
16092 extent-btree which is written as big endian on disk.
16093 Reported by Alain Greppin <al@chilibi.org>.
16095 2008-06-14 Robert Millan <rmh@aybabtu.com>
16097 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
16098 * util/i386/pc/grub-install.in (modules): Likewise.
16100 2008-06-13 Pavel Roskin <proski@gnu.org>
16102 * commands/ls.c (grub_ls_list_files): Fix format warnings.
16104 2008-06-13 Bean <bean123ch@gmail.com>
16106 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
16108 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
16110 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
16111 to indicate sparse block.
16113 2008-06-12 Pavel Roskin <proski@gnu.org>
16115 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
16116 number, grub_fshelp_read() does it for us.
16118 * fs/fshelp.c (grub_fshelp_read): New function. Implement
16119 linear disk read with journal translation.
16120 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
16121 * include/grub/fshelp.h: Declare grub_fshelp_read().
16123 2008-06-09 Pavel Roskin <proski@gnu.org>
16125 * fs/minix.c (grub_minix_mount): Handle error reading
16128 2008-06-08 Robert Millan <rmh@aybabtu.com>
16130 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
16131 don't append the RAID prefix afterwards.
16132 Reported by Clint Adams.
16134 2008-06-08 Robert Millan <rmh@aybabtu.com>
16136 Based on description from Pavel:
16137 * kern/disk.c (grub_disk_check_range): Rename to ...
16138 (grub_disk_adjust_range): ... this. Add a comment explaining the
16139 tasks performed by this function.
16141 2008-06-08 Robert Millan <rmh@aybabtu.com>
16143 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
16144 `num_serial' (for consistency with other variables).
16145 (struct grub_ntfs_data): Add `uuid' member.
16146 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
16147 (grub_ntfs_uuid): New function.
16148 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
16150 2008-06-07 Pavel Roskin <proski@gnu.org>
16152 * util/biosdisk.c (open_device): Revert last change to the
16153 function, it broke installation. The sector needs to be
16154 different dependent on which device is opened.
16156 2008-06-06 Robert Millan <rmh@aybabtu.com>
16158 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
16159 rest of GRUB, and breakage doesn't happen if its value were modified.
16161 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
16162 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
16163 a constant (same value).
16164 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
16165 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
16167 2008-06-06 Robert Millan <rmh@aybabtu.com>
16169 * util/biosdisk.c (open_device): Do not modify sector offset when
16170 accessing a partition. kern/disk.c already handles this for us.
16172 2008-06-06 Robert Millan <rmh@aybabtu.com>
16174 * util/grub-emu.c (grub_machine_init): Move code in this function from
16176 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
16177 segfault in case grub_printf() is called).
16179 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
16180 grub_probe. Update all users not to explicitly add it again.
16181 (grub_device): New variable; contains corresponding device for grubdir.
16182 (fs_module, partmap_module, devabstraction_module): Pass
16183 `--device ${grub_device}' to grub_probe to avoid traversing /dev
16186 2008-06-05 Robert Millan <rmh@aybabtu.com>
16188 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
16189 is found, print it (same layout as with labels).
16191 2008-06-04 Robert Millan <rmh@aybabtu.com>
16193 * util/biosdisk.c (get_drive): Rename to ...
16194 (find_grub_drive): ... this. Update all users.
16196 (get_os_disk): Rename to ...
16197 (convert_system_partition_to_system_disk): ... this. Update all users.
16199 (find_drive): Rename to ...
16200 (find_system_device): ... this. Update all users.
16202 2008-06-04 Robert Millan <rmh@aybabtu.com>
16204 * util/biosdisk.c (get_os_disk): Handle IDA devices.
16205 * util/grub-mkdevicemap.c (get_mmc_disk_name)
16206 (make_device_map): Likewise.
16208 2008-06-01 Robert Millan <rmh@aybabtu.com>
16210 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
16211 before dereferencing it.
16213 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
16214 union with fat12/fat16-specific ones. Add some new fields, including
16215 `num_serial' for both versions.
16216 (struct grub_fat_data): Add `uuid' member.
16217 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
16218 names. Initialize `data->uuid' using `num_serial'.
16219 (grub_fat_uuid): New function.
16220 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
16222 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
16223 (grub_reiserfs_uuid): New function.
16224 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
16227 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
16228 (grub_xfs_uuid): New function.
16229 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
16231 2008-06-01 Robert Millan <rmh@aybabtu.com>
16233 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
16234 code that is backward compatible with pre-uuid search command.
16236 2008-05-31 Robert Millan <rmh@aybabtu.com>
16238 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
16239 floppies after everything else, to ensure floppy drive isn't accessed
16240 unnecessarily (patch from Bean).
16242 2008-05-31 Robert Millan <rmh@aybabtu.com>
16244 * commands/search.c (search_label, search_fs_uuid, search_file): Do
16245 not print device names when we were asked to set a variable.
16247 2008-05-31 Robert Millan <rmh@aybabtu.com>
16249 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
16250 using "cursor-on" and "cursor-off" commands (understood at least by
16251 the Open Firmware flavour on OLPC).
16253 2008-05-31 Michael Gorven <michael@gorven.za.net>
16255 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
16256 on and off sequences.
16258 2008-05-31 Robert Millan <rmh@aybabtu.com>
16260 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
16261 * util/update-grub.in: Likewise.
16263 2008-05-30 Pavel Roskin <proski@gnu.org>
16265 * util/biosdisk.c (linux_find_partition): Simplify logic and
16266 make the code more universal. Keep special processing for
16267 devfs, but use a simple rule for all other devices. If the
16268 device ends with a number, append 'p' and the partition number.
16269 Otherwise, append only the partition number.
16271 2008-05-30 Robert Millan <rmh@aybabtu.com>
16273 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
16274 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
16275 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
16276 the `root' parameter to Linux.
16278 2008-05-30 Robert Millan <rmh@aybabtu.com>
16280 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
16281 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
16282 --fs_uuid with --fs-uuid.
16283 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
16284 all filesystems support them).
16286 2008-05-30 Robert Millan <rmh@aybabtu.com>
16288 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
16289 grub_printf() flags, since we're printing in units of 2 bytes.
16291 2008-05-30 Robert Millan <rmh@aybabtu.com>
16293 * util/grub.d/00_header.in: Remove obsolete comment referencing
16294 convert_system_path_to_grub_path().
16295 * util/update-grub.in: Likewise.
16296 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
16297 (convert_system_path_to_grub_path): Add a warning message explaining
16298 that this function is deprecated. Rely on is_path_readable_by_grub()
16299 for the readability checks.
16300 (font_path): Use is_path_readable_by_grub() for the readability
16301 check rather than convert_system_path_to_grub_path().
16303 2008-05-30 Robert Millan <rmh@aybabtu.com>
16305 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
16306 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
16307 converting it first.
16308 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
16309 grub.cfg for access to font file, and afterwards call it again to set
16312 2008-05-30 Robert Millan <rmh@aybabtu.com>
16314 * commands/search.c (options): Add --fs_uuid option.
16315 (search_fs_uuid): New function.
16316 (grub_cmd_search): Fix --set argument passing.
16317 Use search_fs_uuid() when requested via --fs_uuid.
16318 (grub_search_init): Update help message.
16319 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
16320 and redeclare it as an array of 16-bit words.
16321 (grub_ext2_uuid): New function.
16322 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
16323 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
16324 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
16325 (GRUB_DEVICE_BOOT_UUID): New variables.
16326 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
16327 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
16329 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
16330 just assume `root' variable has the right value.
16331 * util/grub.d/10_linux.in: Likewise.
16332 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
16334 (main): Recognise `-t fs_uuid' argument.
16336 2008-05-30 Robert Millan <rmh@aybabtu.com>
16338 * util/biosdisk.c (map): Redefine structure to hold information
16339 about GRUB drive name.
16340 (get_drive): Reimplement without assuming (and verifying) BIOS-like
16342 (call_hook): Remove.
16343 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
16344 member. Assume drive has partitions.
16345 (grub_util_biosdisk_open): Access device names via `.device' struct
16347 (open_device): Likewise.
16348 (find_drive): Likewise.
16349 (read_device_map): Adjust map[] usage to match the new struct
16350 definition. Don't check for duplicates (still possible, but not cheap
16352 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
16353 (make_device_name): Remove assumption of BIOS-like drive names.
16355 2008-05-30 Pavel Roskin <proski@gnu.org>
16357 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
16358 compiling execute.c doesn't need grub_script.tab.h anymore.
16359 (normal/command.c_DEPENDENCIES): Likewise.
16360 (normal/function.c_DEPENDENCIES): Likewise.
16361 * conf/i386-ieee1275.rmk: Likewise.
16362 * conf/i386-linuxbios.rmk: Likewise.
16363 * conf/i386-pc.rmk: Likewise.
16364 * conf/powerpc-ieee1275.rmk: Likewise.
16365 * conf/sparc64-ieee1275.rmk: Likewise.
16367 2008-05-29 Pavel Roskin <proski@gnu.org>
16369 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
16370 when scanning metadata for volume group name.
16372 * include/grub/script.h: Don't include grub_script.tab.h. It's
16373 a generated file, which may only be included from the files with
16374 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
16375 use union YYSTYPE, as the later allows forward declaration.
16376 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
16378 2008-05-29 Robert Millan <rmh@aybabtu.com>
16380 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
16381 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
16382 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
16383 (grub_console_checkkey): Add grub_dprintf() call to report unknown
16386 2008-05-29 Robert Millan <rmh@aybabtu.com>
16388 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
16389 control key combinations.
16391 2008-05-29 Robert Millan <rmh@aybabtu.com>
16393 * util/powerpc/ieee1275/grub-install.in: Move from here ...
16394 * util/ieee1275/grub-install.in: ... to here.
16395 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
16396 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
16397 (grub_install_SOURCES): Likewise.
16399 2008-05-29 Robert Millan <rmh@aybabtu.com>
16401 * fs/affs.c: Update copyright year.
16402 * fs/ext2.c: Likewise.
16403 * fs/fshelp.c: Likewise.
16404 * fs/hfsplus.c: Likewise.
16405 * fs/ntfs.c: Likewise.
16406 * fs/xfs.c: Likewise.
16407 * include/grub/fshelp.h: Likewise.
16408 * util/grub-mkdevicemap.c: Likewise.
16410 2008-05-28 Robert Millan <rmh@aybabtu.com>
16412 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
16413 might need to be fatfs to support some firmware implementations
16416 2008-05-28 Robert Millan <rmh@aybabtu.com>
16418 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
16420 * util/grub-mkdevicemap.c (get_mmc_disk_name)
16421 (make_device_map): Likewise.
16423 2008-05-20 Bean <bean123ch@gmail.com>
16425 * fs/fshelp.c (grub_fshelp_map_block): New function.
16426 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
16427 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
16429 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
16430 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
16431 (grub_fshelp_journal): New structure.
16432 (grub_fshelp_map_block): New function prototype.
16433 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
16434 (grub_fshelp_map_block): Likewise.
16436 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
16437 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
16438 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
16439 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
16440 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
16441 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
16442 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
16443 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
16444 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
16445 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
16446 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
16447 (grub_ext2_sblock): New members for journal support.
16448 (grub_ext3_journal_header): New structure.
16449 (grub_ext3_journal_revoke_header): Likewise.
16450 (grub_ext3_journal_block_tag): Likewise.
16451 (grub_ext3_journal_sblock): Likewise.
16452 (grub_fshelp_node): New members logfile and journal.
16453 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
16454 grub_fshelp_map_block to get real block number.
16455 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
16457 (grub_ext2_read_inode): Likewise.
16458 (grub_ext3_get_journal): New function.
16459 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
16460 (grub_ext2_close): Release memory used by journal.
16462 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
16463 (REISERFS_MAGIC_DESC_BLOCK): New macro.
16464 (grub_reiserfs_transaction_header): Renamed to
16465 grub_reiserfs_description_block, replace field data with real_blocks.
16466 (grub_reiserfs_commit_block): New structure.
16467 (grub_reiserfs_data): New member journal.
16468 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
16470 (grub_reiserfs_read_symlink): Likewise.
16471 (grub_reiserfs_iterate_dir): Likewise.
16472 (grub_reiserfs_open): Likewise.
16473 (grub_reiserfs_read): Likewise.
16474 (grub_reiserfs_get_journal): New function.
16475 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
16476 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
16477 using grub_reiserfs_get_journal.
16478 (grub_reiserfs_close): Release memory used by journal.
16480 * fs/affs.c (grub_affs_read_block): Change block type to
16481 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
16483 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
16485 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
16487 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
16489 * fs/udf.c (grub_udf_read_block): Change block type to
16490 grub_disk_addr_t. Use type cast to avoid warning.
16492 * fs/xfs.c (grub_xfs_read_block): Likewise.
16494 2008-05-16 Christian Franke <franke@computer.org>
16496 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
16497 to ensure that break with ESC will always work.
16498 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
16499 Remove ESC from keyboard queue.
16501 2008-05-16 Christian Franke <franke@computer.org>
16503 * util/biosdisk.c: [__CYGWIN__] Add includes.
16504 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
16505 (get_os_disk): Move variable declarations to OS specific
16506 parts to avoid warning.
16507 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
16508 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
16509 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
16511 * util/getroot.c: [__CYGWIN__] Add includes.
16512 (strip_extra_slashes): Fix "/" case.
16513 [__CYGWIN__] (get_win32_path): New function.
16514 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
16515 [__CYGWIN__] (find_root_device): Disable.
16516 [__CYGWIN__] (get_bootsec_serial): New function.
16517 [__CYGWIN__] (find_cygwin_root_device): Likewise.
16518 [__linux__] (grub_guess_root_device): Add early returns to simplify
16520 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
16521 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
16522 check for Linux only.
16524 2008-05-15 Bean <bean123ch@gmail.com>
16526 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
16527 keyboard hang problem in apple's intel mac.
16529 2008-05-09 Robert Millan <rmh@aybabtu.com>
16531 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
16533 * util/grub-mkdevicemap.c (get_virtio_disk_name)
16534 (make_device_map): Likewise.
16535 Reported by Aurelien Jarno <aurel32@debian.org>
16537 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
16539 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
16540 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
16541 (make_device_map): Output entries for xvd type disks.
16543 2008-05-07 Robert Millan <rmh@aybabtu.com>
16545 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
16547 * util/grub-mkdevicemap.c (get_cciss_disk_name)
16548 (make_device_map): Likewise.
16549 Reported by Roland Dreier <rdreier@cisco.com>
16551 2008-05-07 Robert Millan <rmh@aybabtu.com>
16553 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
16554 grub_strstr() call. Correct a few mistakes in failure path handling.
16556 2008-05-06 Robert Millan <rmh@aybabtu.com>
16558 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
16559 Do not print a trailing slash (therefore, the root directory is an
16561 (convert_system_path_to_grub_path): Do not remove trailing slash
16562 from make_system_path_relative_to_its_root() output.
16564 * util/i386/pc/grub-install.in: Add trailing slash to output from
16565 make_system_path_relative_to_its_root().
16567 2008-05-06 Robert Millan <rmh@aybabtu.com>
16569 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
16570 ensures that output lines aren't intermangled with those sent to
16571 stderr (via grub_util_info()).
16572 * util/grub-probe.c (grub_refresh): Likewise.
16573 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
16575 2008-05-05 Christian Franke <franke@computer.org>
16577 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
16578 Add Cygwin device names.
16579 (get_ide_disk_name) [__CYGWIN__]: Likewise.
16580 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
16581 (check_device): Return error instead of success on empty name.
16582 (make_device_map): Move label inside linux specific code to
16583 prevent compiler warning.
16585 2008-04-30 Robert Millan <rmh@aybabtu.com>
16587 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
16588 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
16590 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
16592 2008-04-29 Robert Millan <rmh@aybabtu.com>
16594 * docs/grub.cfg: New file (example GRUB configuration).
16596 2008-04-26 Robert Millan <rmh@aybabtu.com>
16598 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
16599 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
16600 and `disk/ieee1275/nand.c'.
16602 2008-04-25 Bean <bean123ch@gmail.com>
16604 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
16607 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
16608 change the buffer size to 4096 for cdrom device.
16610 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
16612 (_linux_mod_SOURCES): New variable.
16613 (_linux_mod_CFLAGS): Likewise.
16614 (_linux_mod_LDFLAGS): Likewise.
16615 (linux_mod_SOURCES): Likewise.
16616 (linux_mod_CFLAGS): Likewise.
16617 (linux_mod_LDFLAGS): Likewise.
16618 (nand_mod_SOURCES): Likewise.
16619 (nand_mod_CFLAGS): Likewise.
16620 (nand_mod_LDFLAGS): Likewise.
16622 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
16623 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
16624 type property. (nand device in olpc don't have this property)
16626 * include/grub/disk.h (grub_disk_dev_id): New macro
16627 GRUB_DISK_DEVICE_NAND_ID.
16629 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
16630 function prototype.
16631 (grub_rescue_cmd_initrd): Likewise.
16633 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
16634 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
16635 ofw_cif_handler and ofw_idt, adjust padding number.
16637 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
16638 GRUB_MACHINE_IEEE1275 is defined.
16640 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
16641 Use NESTED_FUNC_ATTR attribute on the hook parameter.
16643 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
16644 on nested function heap_init.
16645 (grub_upper_mem): New variable for i386-ieee1275.
16646 (grub_get_extended_memory): New function for i386-ieee1275.
16647 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
16649 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
16650 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
16653 * loader/i386/ieee1275/linux.c: New file.
16655 * loader/i386/ieee1275/linux_normal.c: New file.
16657 * disk/ieee1275/nand.c: New file.
16659 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
16661 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
16663 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
16665 2008-04-18 Robert Millan <rmh@aybabtu.com>
16667 Restructures early code path on ieee1275 to unify grub_main() as
16668 the first C function that is executed in every platform.
16670 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
16671 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
16673 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
16674 * kern/ieee1275/cmain.c (cmain): Rename to ...
16675 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
16676 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
16679 2008-04-18 Robert Millan <rmh@aybabtu.com>
16681 * util/update-grub.in: Fix syntax error when setting
16682 `GRUB_PRELOAD_MODULES'.
16683 Reported by Stephane Chazelas <stephane@artesyncp.com>
16685 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
16687 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
16688 section into account, newer toolchains generate unique build ids
16689 * configure.ac: remove the test for --build-id=none acceptance,
16690 we want build ids to be preserved
16691 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
16692 far from other sections don't cause the raw binary images grow
16695 2008-04-15 Robert Millan <rmh@aybabtu.com>
16697 * disk/lvm.c: Update copyright year.
16698 * kern/misc.c: Likewise.
16700 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
16702 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
16703 there is no memory left for physical volume name.
16705 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
16707 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
16708 volume name mapping to support bigger than 9 character names properly.
16710 2008-04-13 Robert Millan <rmh@aybabtu.com>
16712 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
16713 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
16715 2008-04-13 Christian Franke <franke@computer.org>
16717 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
16718 to create a floppy emulation boot CD when non emulation mode
16720 Enable Joliet CD filesystem extension.
16722 2008-04-13 Robert Millan <rmh@aybabtu.com>
16724 * kern/misc.c (grub_strncat): Fix off-by-one error.
16725 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
16727 * kern/env.c (grub_env_context_close): Clear current context, not
16729 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
16731 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
16733 2008-04-13 Robert Millan <rmh@aybabtu.com>
16735 Improve robustness when handling LVM.
16737 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
16738 (and leave `*p' unmodified).
16739 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
16741 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
16742 iterating through it.
16743 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
16745 (grub_lvm_scan_device): Check the return value (and fail gracefully
16746 when due) on each grub_lvm_getvalue() or grub_strstr() call.
16747 Don't assume `vg->pvs != NULL' when iterating through it.
16749 2008-04-13 Robert Millan <rmh@aybabtu.com>
16751 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
16752 * genmk.rb (partmap): New variable.
16753 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
16754 (#{partmap}): New target rule.
16755 * genpartmaplist.sh: New file.
16756 * Makefile.in (pkglib_DATA): Add partmap.lst.
16757 (partmap.lst): New target rule.
16758 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
16759 modules (including all partition maps), instead of preloading them.
16761 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
16763 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
16764 `linux-boot-prober' (if installed) to detect other operating
16765 systems which are installed on the computer and add them to
16767 * conf/common.rmk: Build and install 30_os-prober.
16769 2008-04-12 Robert Millan <rmh@aybabtu.com>
16771 * kern/powerpc/ieee1275/init.c: Move from here ...
16772 * kern/ieee1275/init.c: ... to here. Update all users.
16774 * kern/powerpc/ieee1275/cmain.c: Move from here ...
16775 * kern/ieee1275/cmain.c: ... to here. Update all users.
16777 * kern/powerpc/ieee1275/openfw.c: Move from here ...
16778 * kern/ieee1275/openfw.c: ... to here. Update all users.
16780 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
16781 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
16783 2008-04-10 Pavel Roskin <proski@gnu.org>
16785 * configure.ac: Always use "_cv_" in cache variables for
16786 compatibility with Autoconf 2.62.
16788 2008-04-07 Robert Millan <rmh@aybabtu.com>
16790 Revert grub/machine/init.h addition by Pavel (since it breaks on
16791 i386-ieee1275 and others):
16792 * util/i386/pc/misc.c: Remove grub/machine/init.h.
16793 * util/powerpc/ieee1275/misc.c: Likewise.
16795 2008-04-07 Robert Millan <rmh@aybabtu.com>
16797 * util/grub-probe.c (probe): Improve error message.
16799 2008-04-07 Robert Millan <rmh@aybabtu.com>
16801 * util/biosdisk.c (read_device_map): Skip devices that don't exist
16802 (this prevents the presence of a bogus entry from ruining the whole
16805 2008-04-06 Pavel Roskin <proski@gnu.org>
16807 * util/biosdisk.c: Include grub/util/biosdisk.h.
16808 * util/grub-fstest.c (execute_command): Make static.
16809 * util/grub-mkdevicemap.c (check_device): Likewise.
16810 * util/i386/pc/misc.c: Include grub/machine/init.h.
16811 * util/powerpc/ieee1275/misc.c: Likewise.
16812 * util/lvm.c: Include grub/util/lvm.h.
16813 * util/misc.c: Include grub/kernel.h, grub/misc.h and
16815 * util/raid.c: Include grub/util/raid.h.
16816 (grub_util_getdiskname): Make static.
16818 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
16819 grub_hostfs_fini(), as they are called from grub_init_all() and
16820 grub_fini_all() respectively. This fixes an infinite loop in
16821 grub-fstest due to double registration of hostfs.
16822 Reported by Christian Franke <Christian.Franke@t-online.de>
16824 2008-04-05 Pavel Roskin <proski@gnu.org>
16826 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
16827 all 8 functions. Otherwise, probe function 0 only.
16829 2008-04-04 Pavel Roskin <proski@gnu.org>
16831 * commands/lspci.c (grub_lspci_iter): Print the bus number
16834 * commands/lspci.c (grub_pci_classes): Fix typos.
16835 (grub_lspci_iter): Don't print func twice. Print vendor ID
16836 before device ID, as it's normally done.
16838 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
16839 Fix signedness warnings.
16840 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
16842 * util/ieee1275/get_disk_name.c: Include config.h so that
16843 _GNU_SOURCE is defined and getline() is declared. Mark an
16844 unused argument as such. Fix a signedness warning.
16846 2008-04-02 Pavel Roskin <proski@gnu.org>
16848 * genkernsyms.sh.in: Use more robust assignments for CC and
16849 srcdir. Quote srcdir.
16850 * gensymlist.sh.in: Likewise. Assert at the compile time that
16851 the symbol table is not empty.
16853 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
16854 * fs/cpio.c (grub_cpio_read): Likewise.
16856 2008-04-01 Pavel Roskin <proski@gnu.org>
16858 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
16859 * disk/host.c (grub_host_open): Likewise.
16860 * disk/loopback.c (grub_loopback_open): Likewise.
16861 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
16862 disk->id as in disk/host.c, not a multi-character constant.
16864 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
16865 later is obsolete, potentially dangerous and sets a bad example.
16866 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
16867 * util/misc.c (grub_util_get_image_size): Likewise.
16869 * disk/loopback.c (options): Improve help for "--partitions".
16871 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
16872 options to align them with the short options, e.g. "echo -e".
16874 2008-03-31 Bean <bean123ch@gmail.com>
16876 * video/reader/png.c (grub_png_data): New member is_16bit and
16878 (grub_png_decode_image_header): Detect 16 bit png image.
16879 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
16880 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
16881 (grub_video_reader_png): Release memory occupied by image_data.
16883 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
16885 (grub_nfs_mount): Skip the test for sector per cluster.
16887 * include/grub/ntfs.h (MAX_SPC): Removed.
16889 2008-03-31 Bean <bean123ch@gmail.com>
16891 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
16892 (grub_probe_SOURCES): Add fs/afs.c.
16893 (grub_fstest_SOURCES): Likewise.
16894 (afs_mod_SOURCES): New variable.
16895 (afs_mod_CFLAGS): Likewise.
16896 (afs_mod_LDFLAGS): Likewise.
16898 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
16899 (grub_emu_SOURCES): Likewise.
16901 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16903 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16905 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16907 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16909 * fs/afs.c: New file.
16911 2008-03-30 Pavel Roskin <proski@gnu.org>
16913 * disk/host.c: Include grub/misc.h to fix a warning.
16914 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
16915 warnings about implicit declarations.
16917 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
16919 * include/grub/i386/loader.h: Change declaration of
16920 grub_linux_boot() to match what grub_loader_set() expects.
16921 * util/getroot.c (grub_guess_root_device): Return const char* to
16923 * util/grub-probe.c (probe): Fix a warning about uninitialized
16924 abstraction_name variable.
16925 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
16926 second argument as unused to fix a warning.
16928 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
16929 missing grub_error() call.
16931 * util/update-grub_lib.in: Define datarootdir, since Autoconf
16932 2.60 and newer uses it to define datadir.
16934 * commands/sleep.c: Fix warning about implicit declaration.
16935 * disk/memdisk.c: Likewise.
16936 * loader/aout.c: Likewise.
16937 * loader/i386/bsd_normal.c: Likewise.
16938 * util/grub-probe.c: Likewise.
16940 * commands/i386/cpuid.c (has_longmode): Make static.
16941 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
16942 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
16944 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
16945 GDT. This is more robust, as %ds can change.
16946 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
16947 calling real_to_prot().
16948 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
16950 2008-03-28 Pavel Roskin <proski@gnu.org>
16952 * kern/i386/pc/startup.S: Assert that uncompressed functions
16953 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
16954 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
16955 code, as they push parts of the code (error handlers) beyond
16956 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
16957 code as correctness and size.
16959 2008-03-28 Pavel Roskin <proski@gnu.org>
16961 * kern/i386/pc/startup.S
16962 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
16963 data block address to the real mode, keep offset minimal. This
16964 works around a bug in AWARD BIOS on old Athlon systems, which
16965 makes CD detection hang.
16967 2008-03-26 Pavel Roskin <proski@gnu.org>
16969 * normal/color.c (grub_parse_color_name_pair): Make `name' a
16971 * include/grub/normal.h: Add grub_parse_color_name_pair()
16974 2008-03-24 Bean <bean123ch@gmail.com>
16976 * disk/i386/pc/biosdisk.c (cd_start): Removed.
16977 (cd_count): Removed.
16978 (cd_drive): New variable.
16979 (grub_biosdisk_get_drive): Don't check for (cdN) device.
16980 (grub_biosdisk_call_hook): Likewise.
16981 (grub_biosdisk_iterate): Change cdrom detection method.
16982 (grub_biosdisk_open): Replace cd_start with cd_drive.
16983 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
16984 detect cdrom device.
16986 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
16988 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
16989 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
16990 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
16991 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
16992 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
16993 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
16994 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
16995 (grub_biosdisk_cdrp): New structure.
16996 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
16998 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
17000 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
17003 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
17006 2008-03-20 Robert Millan <rmh@aybabtu.com>
17008 Remove 2 TiB limit in ata.mod.
17009 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
17010 (grub_ata_dumpinfo): Print sector count with 0x%llx.
17011 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
17012 grub_uint64_t instead of grub_uint32_t.
17014 2008-03-05 Bean <bean123ch@gmail.com>
17016 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
17017 (grub_multiboot): Set boot device.
17019 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
17021 2008-03-02 Bean <bean123ch@gmail.com>
17023 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
17026 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
17028 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
17031 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
17034 * docs/fdl.texi: New file.
17036 * docs/mdate-sh: New file. Copied from gnulib.
17037 * docs/texinfo.tex: Likewise.
17039 * config.guess: Updated from gnulib.
17040 * install-sh: Likewise.
17042 2008-02-28 Robert Millan <rmh@aybabtu.com>
17044 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
17045 (aout_mod_SOURCES): New variable.
17046 (aout_mod_CFLAGS): Likewise.
17047 (aout_mod_LDFLAGS): Likewise.
17049 * conf/i386-ieee1275.rmk: Likewise.
17051 2008-02-28 Robert Millan <rmh@aybabtu.com>
17053 * util/update-grub.in: Reorganise terminal validity check. Accept
17054 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
17055 Based on suggestion by Franklin PIAT.
17057 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
17059 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
17061 * util/getroot.c (grub_util_check_block_device): New function that
17062 returns the given argument if it is a block device and returns NULL else.
17063 * util/grub-probe.c (argument_is_device): New variable.
17064 (probe): Promote device_name from a variable to an argument. Receive
17065 device_name from grub_util_check_block_device() if path is NULL and from
17066 grub_guess_root_device() else. Do not free() device_name anymore.
17067 (options): Introduce new parameter '-d, --device'.
17068 (main): Add description of the new parameter to the help screen.
17069 Rename path variable to argument. Set argument_is_device if the '-d'
17070 option is given. Pass argument to probe() depending on
17071 argument_is_device.
17073 2008-02-24 Bean <bean123ch@gmail.com>
17075 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
17076 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
17077 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
17078 (GRUB_ISO9660_VOLDESC_PART): Likewise.
17079 (GRUB_ISO9660_VOLDESC_END): Likewise.
17080 (grub_iso9660_primary_voldesc): New member escape.
17081 (grub_iso9660_data): New member joliet.
17082 (grub_iso9660_convert_string): New function.
17083 (grub_iso9660_mount): Detect joliet extension.
17084 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
17085 (grub_iso9660_iso9660_label): Likewise.
17087 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
17088 (grub_setup_SOURCES): Add fs/udf.c.
17089 (grub_fstest_SOURCES): Likewise.
17090 (udf_mod_SOURCES): New variable.
17091 (udf_mod_CFLAGS): Likewise.
17092 (udf_mod_LDFLAGS): Likewise.
17094 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
17095 (grub_emu_SOURCES): Likewise.
17097 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17099 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17101 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17105 * fs/udf.c: New file.
17107 2008-02-24 Robert Millan <rmh@aybabtu.com>
17109 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
17110 (normal/lexer.c_DEPENDENCIES): New variables.
17111 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
17112 (normal/lexer.c_DEPENDENCIES): Likewise.
17113 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
17114 (normal/lexer.c_DEPENDENCIES): Likewise.
17115 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
17116 (normal/lexer.c_DEPENDENCIES): Likewise.
17117 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
17118 (normal/lexer.c_DEPENDENCIES): Likewise.
17119 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
17120 (normal/lexer.c_DEPENDENCIES): Likewise.
17122 2008-02-23 Robert Millan <rmh@aybabtu.com>
17124 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
17125 since they were intended to be in hex. This didn't break previously
17126 because of a bug in gpt_partition_map_iterate() (see below).
17128 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
17129 when checking the validity of GPT header.
17130 Remove `partno', since it always provides the same information as `i'.
17132 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
17134 * include/grub/efi/time.h: Fix a wrong comment.
17136 2008-02-19 Pavel Roskin <proski@gnu.org>
17138 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
17141 2008-02-19 Bean <bean123ch@gmail.com>
17143 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
17144 (aout_mod_SOURCES): New variable.
17145 (aout_mod_CFLAGS): Likewise.
17146 (aout_mod_LDFLAGS): Likewise.
17147 (_bsd_mod_SOURCES): New variable.
17148 (_bsd_mod_CFLAGS): Likewise.
17149 (_bsd_mod_LDFLAGS): Likewise.
17150 (bsd_mod_SOURCES): New variable.
17151 (bsd_mod_CFLAGS): Likewise.
17152 (bsd_mod_LDFLAGS): Likewise.
17154 * include/grub/aout.h: New file.
17156 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
17158 * include/grub/i386/bsd.h: New file.
17160 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
17163 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
17164 function is called, so that it's possible to change it inside the hook.
17165 (grub_elf64_load): Likewise.
17166 (grub_elf_file): Don't close the file if elf header is not found.
17167 (grub_elf_close): Close the file if grub_elf_file fails (The new
17168 grub_elf_file won't close it).
17169 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
17170 (grub_elf64_size): Likewise.
17172 * kern/i386/loader.S (grub_unix_real_boot): New function.
17174 * loader/aout.c: New file.
17176 * loader/i386/bsd.c: New file.
17178 * loader/i386/bsd_normal.c: New file.
17180 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
17182 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
17183 can test other formats.
17185 2008-02-19 Robert Millan <rmh@aybabtu.com>
17187 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
17188 (grub_gpt_partition_type_empty): Redefine with macro from
17189 `<grub/gpt_partition.h>'.
17190 (gpt_partition_map_iterate): Adjust partition type comparison.
17192 Export `entry' as partmap-specific `part.data' struct.
17193 (grub_gpt_header, grub_gpt_partentry): Move from here ...
17195 * include/grub/gpt_partition.h (grub_gpt_header)
17196 (grub_gpt_partentry): ... to here (new file).
17198 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
17200 (grub_gpt_partition_type_bios_boot): New const variable, defined
17201 with macro from `<grub/gpt_partition.h>'.
17203 (setup): Replace `first_start' with `embed_region', which keeps
17204 track of the embed region (and is partmap-agnostic).
17206 Replace find_first_partition_start() with find_usable_region(),
17207 which finds a usable region for embedding using partmap-specific
17208 knowledge (supports PC/MSDOS and GPT).
17210 Fix all assumptions that the embed region start at sector 1, using
17211 `embed_region.start' from now on. Similarly, use `embed_region.end'
17212 rather than `first_start' to calculate available size.
17214 In grub_util_info() message, replace "into after the MBR" with an
17215 indication of the specific sector our embed region starts at.
17217 2008-02-19 Robert Millan <rmh@aybabtu.com>
17219 * DISTLIST: Replace `commands/ieee1275/halt.c' and
17220 `commands/ieee1275/reboot.c' with `commands/halt.c' and
17221 `commands/reboot.c'.
17222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
17223 (halt_mod_SOURCES): Likewise.
17224 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
17225 (halt_mod_SOURCES): Likewise.
17227 2008-02-17 Christian Franke <franke@computer.org>
17229 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
17231 2008-02-17 Robert Millan <rmh@aybabtu.com>
17233 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
17234 set `first_start' to 0 for non-PC/MSDOS partition maps.
17236 2008-02-16 Robert Millan <rmh@aybabtu.com>
17238 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
17239 do not assume partition map is PC/MSDOS before performing checks that
17240 are specific to that layout.
17242 2008-02-13 Robert Millan <rmh@aybabtu.com>
17244 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
17245 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
17246 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
17248 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
17250 * configure.ac: Only a cosmetic change on the handling of
17251 -fno-stack-protector.
17253 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
17255 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
17256 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
17258 (grub_install_SOURCES): Add halt.mod and reboot.mod.
17259 (halt_mod_SOURCES): New variable.
17260 (halt_mod_CFLAGS): Likewise.
17261 (halt_mod_LDFLAGS): Likewise.
17262 (reboot_mod_SOURCES): Likewise.
17263 (reboot_mod_CFLAGS): Likewise.
17264 (reboot_mod_LDFLAGS): Likewise.
17266 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
17267 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
17269 (halt_mod_SOURCES): Likewise.
17270 (reboot_mod_SOURCES): Likewise.
17272 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
17273 commands/i386/pc/reboot.c by commands/reboot.c.
17274 (reboot_mod_SOURCES): Likewise.
17276 * commands/i386/pc/reboot.c: merge this file ...
17278 * commands/ieee1275/reboot.c: ... and this file ...
17280 * commands/reboot.c: ... to this file.
17281 Add some precompiler directive to include the correct header for
17284 * commands/ieee1275/halt.c: move this file ...
17286 * commands/halt.c: ... to here.
17287 Add some precompiler directive to include the correct header for
17290 * include/grub/efi/efi.h (grub_reboot): New function declaration.
17291 (grub_halt): Likewise.
17293 * kern/efi/efi.c (grub_reboot): New function.
17294 (grub_halt): Likewise.
17296 2008-02-12 Robert Millan <rmh@aybabtu.com>
17298 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
17299 /dev (like it is done for /dev/mapper). This doesn't provide support
17300 for EVMS, but at least it is now easy to identify the problem when it
17303 2008-02-11 Robert Millan <rmh@aybabtu.com>
17305 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
17306 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
17307 comparing it with -1, not 0.
17309 2008-02-10 Robert Millan <rmh@aybabtu.com>
17311 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
17313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17314 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17316 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
17317 `disk/lvm.c' to the end of the list.
17318 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17319 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17321 2008-02-10 Robert Millan <rmh@aybabtu.com>
17323 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
17324 grub_print_error() instead. This will let user know why we're entering
17326 Based on suggestions from Sam Morris.
17328 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
17330 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
17331 on remaining N args, instead of "--" arg N times.
17333 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
17335 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
17336 (fill_with_default_glyph): Changed to use unknown_glyph for fill
17337 pattern for unknown glyphs.
17339 2008-02-09 Robert Millan <rmh@aybabtu.com>
17341 * configure.ac: Probe for `help2man'.
17342 * Makefile.in (builddir): New variable.
17343 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
17344 or otherwise add a few flags/options to it.
17345 (install-local): For every executable utility or script that is
17346 installed, invoke $(HELP2MAN) to install a manpage based on --help
17349 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
17350 that it doesn't prevent --help from working in build tree.
17352 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
17353 with `bug-grub@gnu.org'.
17354 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
17355 * util/update-grub.in (usage): New function.
17356 Implement proper argument check, with support for --help and --version
17357 (as well as existing -y).
17359 2008-02-09 Christian Franke <franke@computer.org>
17361 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
17362 avoid overwriting previous output.
17363 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
17365 2008-02-09 Robert Millan <rmh@aybabtu.com>
17367 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
17370 2008-02-09 Robert Millan <rmh@aybabtu.com>
17372 * commands/sleep.c: New file.
17373 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
17374 (sleep_mod_SOURCES): New variable.
17375 (sleep_mod_CFLAGS): Likewise.
17376 (sleep_mod_LDFLAGS): Likewise.
17378 2008-02-09 Robert Millan <rmh@aybabtu.com>
17380 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
17381 situations in which we can deduce the RAID size and the superblock
17384 2008-02-09 Robert Millan <rmh@aybabtu.com>
17386 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
17387 and return a grub_diskmemberlist_t composed of LVM physical volumes.
17388 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
17390 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
17391 and return a grub_diskmemberlist_t composed of physical array members.
17392 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
17394 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
17396 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
17397 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
17398 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
17400 * util/grub-probe.c (probe): Move partmap probing code from here ...
17401 (probe_partmap): ... to here.
17402 (probe): Use probe_partmap() once for the disk we're probing, and
17403 additionally, when such disk contains a memberlist() struct member,
17404 once for each disk that is contained in the structure returned by
17407 2008-02-09 Robert Millan <rmh@aybabtu.com>
17409 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
17410 environment variable to 'all' in order to obtain debug output from
17412 * util/i386/pc/grub-setup.c (main): Likewise.
17414 2008-02-08 Robert Millan <rmh@aybabtu.com>
17416 * disk/raid.c (grub_raid_scan_device): Check for
17417 `array->device[sb.this_disk.number]' rather than for
17418 `array->device[sb.this_disk.number]->name', since the latter is not
17419 guaranteed to be accessible.
17421 2008-02-08 Robert Millan <rmh@aybabtu.com>
17423 * disk/raid.c: Update copyright.
17424 * fs/cpio.c: Likewise.
17425 * include/grub/raid.h: Likewise.
17426 * loader/i386/pc/multiboot.c: Likewise.
17427 * util/hostfs.c: Likewise.
17429 2008-02-08 Robert Millan <rmh@aybabtu.com>
17431 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
17432 to a grub_disk_t array.
17433 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
17435 (grub_raid_scan_device): Replace `device[x].name' accesses with
17436 `device[x]->name'. Simplify initialization of `array->device[x]'.
17438 2008-02-08 Robert Millan <rmh@aybabtu.com>
17440 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
17441 grub_dprintf() calls.
17442 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
17445 2008-02-07 Christian Franke <franke@computer.org>
17447 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
17448 instead of fseek and ftell to support large files.
17449 (grub_hostfs_read): Likewise.
17451 2008-02-07 Robert Millan <rmh@aybabtu.com>
17453 Patch from Jeroen Dekkers.
17454 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
17455 failure, since successfully reading all array members might not be
17458 2008-02-06 Robert Millan <rmh@aybabtu.com>
17460 * util/grub-probe.c (probe): Simplify partmap probing (with the
17461 assumption that the first word up to the underscore equals to
17464 2008-02-06 Christian Franke <franke@computer.org>
17466 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
17467 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
17468 last block of a cpio or tar stream.
17469 Check for "TRAILER!!!" instead of any empty data
17470 block to detect last block of a cpio stream.
17471 (grub_cpio_dir): Fix constness of variable np.
17472 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
17473 cpio or tar trailer is detected. This fixes a crash
17474 on open of a non existing file.
17476 2008-02-05 Bean <bean123ch@gmail.com>
17478 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
17480 (grub_multiboot_load_elf64): Likewise.
17481 (grub_multiboot): Initialize mbi structure.
17483 * util/grub-fstest.c: Don't include unused header file script.h.
17485 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
17487 (grub_fstest_SOURCES): Likewise.
17489 2008-02-05 Robert Millan <rmh@aybabtu.com>
17491 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
17492 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
17493 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
17494 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
17496 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
17497 (translation_table): Replace hardcoded values with macros
17498 provided by `<grub/term.h>'.
17500 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
17501 (keyboard_map): Correct/add a few values, with macros provided
17502 by `<grub/term.h>'.
17503 (keyboard_map_shift): Zero values that don't differ from their
17504 `keyboard_map' equivalents.
17505 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
17506 Discard the second scan code that is always sent by Caps lock.
17507 Only use `keyboard_map_shift' when it provides a non-zero value,
17508 otherwise fallback to `keyboard_map'.
17510 2008-02-04 Bean <bean123ch@gmail.com>
17512 * Makefile.in (enable_grub_fstest): New variable.
17514 * conf/common.rmk (grub_fstest_init.lst): New rule.
17515 (grub_fstest_init.h): Likewise.
17516 (grub_fstest_init.c): Likewise.
17517 (util/grub-fstest.c_DEPENDENCIES): New variable.
17518 (grub_fstest_SOURCES): Likewise.
17520 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
17522 * util/grub-fstest.c: New file.
17524 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
17526 Make grub-setup handle a separate root device.
17528 * util/i386/pc/grub-setup.c (setup): Always open the root device,
17529 so that the root device can be compared with the destination
17531 When embedding the core image, if the root and destination devices
17532 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
17534 When not embedding, set ROOT_DRIVE to 0xFF.
17536 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
17538 Add support for having a grub directory in a different drive. This
17539 is still only the data handling part.
17541 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
17542 (codestart): Save %dh in GRUB_ROOT_DRIVE.
17543 (grub_root_drive): New variable.
17545 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
17546 instead of GRUB_BOOT_DRIVE to construct a device name. Set
17547 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
17550 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
17552 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
17554 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
17556 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
17557 is bogus, because PXE booting does not specify any drive
17560 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
17561 am not sure if this is really correct.
17563 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
17564 is always identical to the boot drive when booting from a CD.
17566 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
17568 (root_drive): New variable.
17569 (real_start): Unconditionally set %dh to ROOT_DRIVE.
17570 (setup_sectors): Push %dx right after popping it, because %dh will
17572 (copy_buffer): Restore %dx.
17574 2008-02-03 Robert Millan <rmh@aybabtu.com>
17576 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
17577 use `cdboot.img' for cdrom images.
17579 2008-02-03 Robert Millan <rmh@aybabtu.com>
17581 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
17582 only setup gfxterm when `font' command has succeeded.
17584 2008-02-03 Robert Millan <rmh@aybabtu.com>
17586 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
17587 (grub_rescue_cmd_multiboot_loader)
17588 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
17590 2008-02-03 Pavel Roskin <proski@gnu.org>
17592 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
17593 %edx and %esi from stack only after grub_gate_a20() is called.
17594 grub_gate_a20() clobbers %edx.
17596 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
17598 * configure.ac (AC_INIT): Bumped to 1.96.
17600 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
17601 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
17602 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
17603 video/readers/png.c.
17605 2008-02-03 Bean <bean123ch@gmail.com>
17607 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
17608 (cdboot_img_SOURCES): New variable.
17609 (cdboot_img_ASFLAGS): New variable.
17610 (cdboot_img_LDFLAGS): New variable.
17612 * boot/i386/pc/cdboot.S: New file.
17614 * disk/i386/pc/biosdisk.c (cd_start): New variable.
17615 (cd_count): Likewise.
17616 (grub_biosdisk_get_drive): Add support for cd device.
17617 (grub_biosdisk_call_hook): Likewise.
17618 (grub_biosdisk_iterate): Likewise.
17619 (grub_biosdisk_open): Likewise.
17620 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
17621 (grub_biosdisk_rw): Support reading from cd device.
17622 (GRUB_MOD_INIT): Iterate cd devices.
17624 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
17625 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
17626 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
17628 * kern/i386/pc/init.c (make_install_device): Check for cd device.
17630 2008-02-02 Robert Millan <rmh@aybabtu.com>
17632 * commands/read.c: New file.
17633 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
17634 (read_mod_SOURCES): New variable.
17635 (read_mod_CFLAGS): Likewise.
17636 (read_mod_LDFLAGS): Likewise.
17638 2008-02-02 Robert Millan <rmh@aybabtu.com>
17640 * normal/main.c (grub_normal_execute): Check for `menu->size' when
17641 determining whether menu has to be displayed.
17643 2008-02-02 Marco Gerards <marco@gnu.org>
17645 * bus/pci.c: New file.
17647 * include/grub/pci.h: Likewise.
17649 * include/grub/i386/pc/pci.h: Likewise.
17651 * commands/lspci.c: Likewise.
17653 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
17655 (pci_mod_SOURCES): New variable.
17656 (pci_mod_CFLAGS): Likewise.
17657 (pci_mod_LDFLAGS): Likewise.
17658 (lspci_mod_SOURCES): Likewise.
17659 (lspci_mod_CFLAGS): Likewise.
17660 (lspci_mod_LDFLAGS): Likewise.
17662 2008-02-02 Bean <bean123ch@gmail.com>
17664 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
17665 (grub_ufs_get_file_block): Fix indirect block calculation problem.
17667 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
17668 (grub_xfs_btree_node): New structure.
17669 (grub_xfs_btree_root): New structure.
17670 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
17671 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
17672 (GRUB_XFS_EXTENT_BLOCK): Likewise.
17673 (GRUB_XFS_EXTENT_SIZE): Likewise.
17674 (grub_xfs_read_block): Support btree format type.
17675 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
17676 Use directory block as basic unit.
17678 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
17680 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
17681 __attribute__ ((__regparm__ (1))).
17683 2008-02-01 Robert Millan <rmh@aybabtu.com>
17685 Correct a mistake in previous commit.
17687 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
17689 (normal/command.c_DEPENDENCIES): New variable.
17691 2008-02-01 Robert Millan <rmh@aybabtu.com>
17693 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
17695 (normal/command.c_DEPENDENCIES): New variable.
17696 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
17697 * conf/i386-ieee1275.rmk: Likewise.
17698 * conf/i386-linuxbios.rmk: Likewise.
17699 * conf/i386-pc.rmk: Likewise.
17700 * conf/sparc64-ieee1275.rmk: Likewise.
17701 * conf/powerpc-ieee1275.rmk: Likewise.
17702 (grub_emu_SOURCES): Add `fs/fshelp.c'.
17704 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
17706 2008-02-01 Robert Millan <rmh@aybabtu.com>
17708 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
17709 call at beginning of function.
17711 2008-01-31 Pavel Roskin <proski@gnu.org>
17713 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
17714 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
17715 (grub_mkrescue_SOURCES): Likewise.
17716 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
17718 2008-01-30 Robert Millan <rmh@aybabtu.com>
17720 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
17721 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
17722 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
17723 (grub_probe_SOURCES): ... to here.
17725 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
17726 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
17727 * conf/i386-ieee1275.rmk: Likewise.
17728 * conf/i386-linuxbios.rmk: Likewise.
17729 * conf/powerpc-ieee1275.rmk: Likewise.
17731 2008-01-30 Tristan Gingold <gingold@free.fr>
17733 * kern/rescue.c: Silently accept empty lines.
17735 2008-01-29 Bean <bean123ch@gmail.com>
17737 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
17738 (real_code_2): Code cleanup and change comment style.
17739 (move_memory): Avoid using 32-bit address mode.
17741 2008-01-29 Bean <bean123ch@gmail.com>
17743 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
17744 (png_mod_SOURCES): New variable.
17745 (png_mod_CFLAGS): Likewise.
17746 (png_mod_LDFLAGS): Likewise.
17748 * video/readers/png.c: New file.
17750 2008-01-28 Robert Millan <rmh@aybabtu.com>
17752 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
17753 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
17754 `ifndef GRUB_MOD_GAP' hack.
17755 * util/elf/grub-mkimage.c (add_segments): Likewise.
17757 2008-01-27 Robert Millan <rmh@aybabtu.com>
17759 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
17760 `GRUB_MOD_GAP' for platforms in which it's not defined.
17761 * util/elf/grub-mkimage.c (add_segments): Likewise.
17763 2008-01-27 Robert Millan <rmh@aybabtu.com>
17765 Get grub-emu to build again (including parallel builds).
17767 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
17769 (util/grub-emu.c_DEPENDENCIES): ... this, ...
17770 (normal/execute.c_DEPENDENCIES): ... this, ...
17771 (grub-emu_DEPENDENCIES): ... and this.
17773 * conf/i386-efi.rmk: Likewise.
17774 * conf/i386-linuxbios.rmk: Likewise.
17775 * conf/i386-ieee1275.rmk: Likewise.
17776 * conf/powerpc-ieee1275.rmk: Likewise.
17777 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
17779 2008-01-27 Robert Millan <rmh@aybabtu.com>
17781 * NEWS: Add a few items.
17783 2008-01-27 Robert Millan <rmh@aybabtu.com>
17785 Fix parallel builds with grub-emu. Based on earlier commit for
17786 grub-probe and grub-setup.
17788 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
17789 (util/grub-emu.c_DEPENDENCIES): ... this.
17790 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
17791 (util/grub-emu.c_DEPENDENCIES): ... this.
17792 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
17793 (util/grub-emu.c_DEPENDENCIES): ... this.
17794 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
17795 (util/grub-emu.c_DEPENDENCIES): ... this.
17796 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
17797 (util/grub-emu.c_DEPENDENCIES): ... this.
17799 2008-01-27 Pavel Roskin <proski@gnu.org>
17801 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
17802 to create a gap between _end and the modules added to the image
17803 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
17804 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
17805 * util/elf/grub-mkimage.c (add_segments): Likewise.
17807 2008-01-26 Pavel Roskin <proski@gnu.org>
17809 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
17810 just return an error.
17812 2008-01-26 Bean <bean123ch@gmail.com>
17814 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
17815 (grub_reiserfs_get_item): Save offset of the next item.
17816 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
17818 2008-01-25 Robert Millan <rmh@aybabtu.com>
17820 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
17821 make all filesystem sources appear together (possibly fixing omissions
17823 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17824 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17825 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17826 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17828 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
17830 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
17831 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
17832 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
17833 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
17835 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
17836 (probe): Add a sanity check to make sure of our ability to read
17837 requested files when probing for filesystem type.
17839 * genmk.rb: Update copyright year (2007).
17841 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
17842 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
17843 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
17844 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
17845 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
17846 : Remove function prototypes.
17848 2008-01-25 Robert Millan <rmh@aybabtu.com>
17850 Revert my previous commits (based on wrong assumption of how grub_errno
17853 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
17854 * kern/file.c (grub_file_open): Likewise.
17856 2008-01-24 Pavel Roskin <proski@gnu.org>
17858 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
17859 that hang if GRUB tries to setup colors.
17860 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
17861 colors for firmwares that don't support it.
17862 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
17863 Recognize Open Hack'Ware, set flags to work around its
17866 2008-01-24 Robert Millan <rmh@aybabtu.com>
17868 * kern/file.c (grub_file_open): Do not account previous failures of
17869 unrelated functions when grub_errno is checked for.
17870 Reported by Oleg Strikov.
17872 2008-01-24 Bean <bean123ch@gmail.com>
17874 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
17875 (grub_ufs_sblock): New member volume name.
17876 (grub_ufs_find_file): Fix string copy bug.
17877 (grub_ufs_label): Implement this function properly.
17879 * fs/hfs.c (grub_hfs_cnid_type): New enum.
17880 (grub_hfs_iterate_records): Use the correct file number for extents
17881 and catalog file. Fix problem in next index calculation.
17882 (grub_hfs_find_node): Replace recursive function call with loop.
17883 (grub_hfs_iterate_dir): Replace recursive function call with loop.
17885 2008-01-23 Robert Millan <rmh@aybabtu.com>
17887 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
17888 `<grub/symbol.h>' and `<grub/multiboot.h>'.
17889 (grub_multiboot2_real_boot): New function prototype.
17891 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
17892 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
17894 * kern/i386/ieee1275/init.c (grub_os_area_addr)
17895 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
17897 2008-01-23 Robert Millan <rmh@aybabtu.com>
17899 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
17900 #ifdef'ed out grub_printf().
17902 2008-01-23 Robert Millan <rmh@aybabtu.com>
17904 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
17905 grub_dprintf calls, since they make "debug=all" mode unusable.
17906 (grub_console_checkkey): Likewise.
17908 2008-01-23 Robert Millan <rmh@aybabtu.com>
17910 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
17911 `term/i386/pc/at_keyboard.c'.
17912 (pkglib_MODULES): Add `serial.mod'.
17913 (serial_mod_SOURCES): New variable.
17914 (serial_mod_CFLAGS): Likewise.
17915 (serial_mod_LDFLAGS): Likewise.
17917 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
17918 `<grub/powerpc/ieee1275/console.h>'.
17919 (grub_keyboard_controller_init): New function prototype.
17920 (grub_console_checkkey): Likewise.
17921 (grub_console_getkey): Likewise.
17923 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
17926 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
17927 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
17929 2008-01-23 Robert Millan <rmh@aybabtu.com>
17931 * kern/i386/pc/init.c (make_install_device): When memdisk image is
17932 present, "(memdisk)/boot/grub" becomes the default prefix.
17934 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
17935 a memdisk tarball with all the modules. Add --overlay=DIR option that
17936 allows users to overlay additional files into the image.
17938 2008-01-23 Robert Millan <rmh@aybabtu.com>
17940 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
17941 and `machine/memory.h'.
17942 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
17943 (_multiboot_mod_SOURCES): New variable.
17944 (_multiboot_mod_CFLAGS): Likewise.
17945 (_multiboot_mod_LDFLAGS): Likewise.
17946 (multiboot_mod_SOURCES): Likewise.
17947 (multiboot_mod_CFLAGS): Likewise.
17948 (multiboot_mod_LDFLAGS): Likewise.
17950 * include/grub/i386/ieee1275/loader.h: New file.
17952 * include/grub/i386/ieee1275/machine.h: Likewise.
17954 * include/grub/i386/ieee1275/memory.h: Likewise.
17956 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
17957 variable declaration.
17958 (grub_os_area_size): Likewise.
17960 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
17961 (grub_lower_mem, grub_upper_mem): New variables.
17962 (grub_stop_floppy): New function (just to make
17963 grub_multiboot2_real_boot() happy).
17965 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
17966 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
17967 (grub_stop): New function.
17968 Include `"../realmode.S"' and `"../loader.S"'.
17970 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
17971 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
17973 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
17974 rely on grub_multiboot2_real_boot() for final boot.
17976 2008-01-22 Robert Millan <rmh@aybabtu.com>
17978 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
17979 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
17980 device that doesn't look like an SD card.
17981 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
17982 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
17983 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
17984 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
17987 2008-01-22 Robert Millan <rmh@aybabtu.com>
17989 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
17990 avoid claiming over our own code.
17992 2008-01-22 Bean <bean123ch@gmail.com>
17994 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
17995 (jpeg_mod_SOURCES): New variable.
17996 (jpeg_mod_CFLAGS): Likewise.
17997 (jpeg_mod_LDFLAGS): Likewise.
17999 * video/readers/jpeg.c : New file.
18001 2008-01-22 Bean <bean123ch@gmail.com>
18003 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
18004 there are no more items.
18006 2008-01-21 Robert Millan <rmh@aybabtu.com>
18008 * kern/mm.c (grub_mm_init_region): Improve debug message.
18010 2008-01-21 Robert Millan <rmh@aybabtu.com>
18012 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
18013 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
18015 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
18017 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
18018 Indicates start of upper memory.
18019 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
18020 (generate_image): Abort when image size is big enough to corrupt
18023 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
18024 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
18025 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
18026 instead of hardcoding 0xA0000.
18027 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
18028 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
18029 instead of hardcoding 0xA0000.
18031 2008-01-21 Robert Millan <rmh@aybabtu.com>
18033 * disk/memdisk.c (memdisk_size): New variable.
18034 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
18036 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
18037 image to dynamic memory.
18038 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
18039 `memdisk_size'. Free memdisk block.
18041 2008-01-21 Robert Millan <rmh@aybabtu.com>
18043 Fix detection of very small filesystems (like tar).
18045 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
18046 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
18047 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
18048 a problem with this disk).
18050 2008-01-21 Robert Millan <rmh@aybabtu.com>
18052 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
18053 on grub_biosdisk_rw_standard() error.
18055 2008-01-21 Robert Millan <rmh@aybabtu.com>
18057 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
18059 * kern/elf.c: Likewise.
18060 * kern/ieee1275/ieee1275.c: Likewise.
18061 * kern/powerpc/ieee1275/openfw.c: Likewise.
18062 * term/ieee1275/ofconsole.c: Likewise.
18064 2008-01-21 Robert Millan <rmh@aybabtu.com>
18066 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
18068 * include/grub/kernel.h (grub_arch_memdisk_addr)
18069 (grub_arch_memdisk_size): Moved from here ...
18071 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
18072 (grub_arch_memdisk_size): ... to here.
18074 2008-01-21 Robert Millan <rmh@aybabtu.com>
18076 Mostly based on bugfix from Bean.
18078 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
18079 attribute with hook() parameter.
18080 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
18082 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
18083 attribute with hook() parameter.
18084 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
18087 2008-01-21 Robert Millan <rmh@aybabtu.com>
18089 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
18090 (pkglib_MODULES): Add `memdisk.mod'.
18091 (memdisk_mod_SOURCES): New variable.
18092 (memdisk_mod_CFLAGS): Likewise.
18093 (memdisk_mod_LDFLAGS): Likewise.
18095 * disk/memdisk.c: New file.
18097 * include/grub/disk.h (grub_disk_dev_id): Add
18098 `GRUB_DISK_DEVICE_MEMDISK_ID'.
18100 * include/grub/i386/pc/kernel.h
18101 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
18102 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
18103 (grub_kernel_image_size): New variable declaration.
18104 (grub_total_module_size): Likewise.
18105 (grub_memdisk_image_size): Likewise.
18107 * include/grub/i386/pc/memory.h
18108 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
18110 * include/grub/kernel.h: Include `<grub/symbol.h>'.
18111 (grub_arch_memdisk_addr): New variable declaration.
18112 (grub_arch_memdisk_size): Likewise.
18114 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
18115 (grub_arch_memdisk_size): Likewise.
18117 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
18118 (codestart): Replace hardcoded `0x100000' with
18119 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
18121 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
18122 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
18123 not NULL, append the contents of the file it refers to, at the end of
18124 the compressed kernel image. Initialize `grub_memdisk_image_size'
18125 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
18126 (options): Add "memdisk"|'m' option.
18127 (main): Parse --memdisk|-m option, and pass user-provided path as
18128 parameter to generate_image().
18130 2008-01-20 Robert Millan <rmh@aybabtu.com>
18132 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
18133 grub_dprintf() calls from here ...
18134 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
18136 2008-01-20 Robert Millan <rmh@aybabtu.com>
18138 Fix detection of "real mode" when /options/real-mode? doesn't exist.
18140 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
18142 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
18143 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
18144 `GRUB_IEEE1275_FLAG_REAL_MODE'.
18145 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
18147 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
18148 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
18150 2008-01-19 Robert Millan <rmh@aybabtu.com>
18152 Get rid of confusing function (superseded by
18153 `grub_ieee1275_get_integer_property')
18154 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
18156 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
18158 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
18159 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
18160 in native endianness from grub_ieee1275_get_integer_property().
18162 2008-01-19 Robert Millan <rmh@aybabtu.com>
18164 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
18165 command after "shut-down", since implementations differ on which
18166 the command for halt is.
18168 2008-01-19 Robert Millan <rmh@aybabtu.com>
18170 * include/grub/i386/linuxbios/console.h: Add header protection.
18171 (grub_keyboard_controller_init): New function prototype.
18172 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
18173 (KEYBOARD_COMMAND_READ): Likewise.
18174 (KEYBOARD_COMMAND_WRITE): Likewise.
18175 (KEYBOARD_SCANCODE_SET1): Likewise.
18176 (grub_keyboard_controller_write): New function.
18177 (grub_keyboard_controller_read): Likewise.
18178 (grub_keyboard_controller_init): Likewise.
18180 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
18181 (grub_console_init): On coreboot/LinuxBIOS, call
18182 grub_keyboard_controller_init().
18184 2008-01-19 Robert Millan <rmh@aybabtu.com>
18186 PowerPC changes provided by Pavel Roskin.
18188 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
18189 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
18190 don't rely on cmain() doing it.
18191 * kern/i386/ieee1275/startup.S (_start): Store %eax in
18192 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
18194 2008-01-16 Robert Millan <rmh@aybabtu.com>
18196 * include/grub/i386/linuxbios/memory.h
18197 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
18198 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
18199 receive `table_header' as argument. Instead, probe for it in the
18200 known memory ranges where it can be present.
18201 (grub_available_iterate): Do not pass a fixed `table_header' address
18202 to grub_linuxbios_table_iterate().
18204 2008-01-15 Robert Millan <rmh@aybabtu.com>
18206 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
18207 * conf/i386-ieee1275.rmk: New file.
18208 * include/grub/i386/ieee1275/console.h: Likewise.
18209 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
18210 * include/grub/i386/ieee1275/kernel.h: Likewise.
18211 * include/grub/i386/ieee1275/time.h: Likewise.
18212 * kern/i386/ieee1275/init.c: Likewise.
18213 * kern/i386/ieee1275/startup.S: Likewise.
18215 2008-01-15 Robert Millan <rmh@aybabtu.com>
18217 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
18218 when pointers are 32-bit (but still do set it to one when they are
18221 2008-01-15 Robert Millan <rmh@aybabtu.com>
18223 * include/grub/ieee1275/ieee1275.h
18224 (grub_ieee1275_get_integer_property): New function prototype.
18226 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
18227 (grub_ieee1275_get_integer_property): New function. Wraps around
18228 grub_ieee1275_get_property() to handle endianness.
18230 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
18231 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
18233 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
18234 (grub_map): Likewise.
18235 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
18237 2008-01-15 Bean <bean123ch@gmail.com>
18239 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
18240 (grub_script_execute_cmdline): Reset grub_errno.
18242 * normal/main.c (read_config_file): Reset grub_errno.
18244 * normal/parse.y (script_init): New.
18245 (script): Move function and menuentry here.
18247 (command): Add delimiter at the end of command.
18248 (commands): Adjust to match the new command.
18249 (commandblock): Remove grub_script_lexer_record_start.
18250 (menuentry): Add grub_script_lexer_record_start, use the new commands.
18251 (if): Use the new commands.
18253 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
18255 2008-01-15 Robert Millan <rmh@aybabtu.com>
18257 * normal/menu.c (run_menu): Move timeout message from here ...
18258 (print_timeout): ... to here.
18259 (run_menu): Use print_timeout() once during initial draw to print
18260 the whole message, and again in every clock tick to update only
18261 the number of seconds.
18263 2008-01-15 Robert Millan <rmh@aybabtu.com>
18265 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
18266 actual size of `available' from grub_ieee1275_get_property(), and
18267 restrict parsing to that bound.
18269 2008-01-15 Christian Franke <franke@computer.org>
18271 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
18272 (argp_program_version): Remove variable.
18273 (argp_program_bug_address): Likewise.
18274 (options): Convert from struct argp_option to struct option.
18275 (struct arguments): Remove.
18276 (parse_opt): Remove.
18277 (usage): New function.
18278 (main): Replace struct args members by simple variables.
18279 Replace argp_parse() by getopt_long().
18280 Add switch to evaluate options.
18281 Add missing "(...)" around root_dev in prefix string.
18283 2008-01-14 Robert Millan <rmh@aybabtu.com>
18285 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
18286 for grub_ieee1275_exit(), in order to improve portability.
18288 2008-01-14 Robert Millan <rmh@aybabtu.com>
18290 * util/grub.d/10_linux.in (prefix): Define.
18291 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
18293 2008-01-13 Pavel Roskin <proski@gnu.org>
18295 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
18296 grub_errno if no errors have been detected.
18298 2008-01-12 Robert Millan <rmh@aybabtu.com>
18300 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
18301 (grub_util_get_dev_abstraction): New function prototype.
18303 * util/getroot.c: Include `<grub/util/getroot.h>'
18304 (grub_util_get_grub_dev): Move detection of abstraction type to ...
18305 (grub_util_get_dev_abstraction): ... here (new function).
18307 * util/grub-probe.c: Convert PRINT_* to an enum. Add
18308 `PRINT_ABSTRACTION'.
18309 (probe): Probe for abstraction type when requested.
18310 (main): Understand `--target=abstraction'.
18312 * util/i386/efi/grub-install.in: Add abstraction module to core
18313 image when it is found to be necessary.
18314 * util/i386/pc/grub-install.in: Likewise.
18315 * util/powerpc/ieee1275/grub-install.in: Likewise.
18317 * util/update-grub_lib.in (font_path): Return system path without
18318 converting to GRUB path.
18319 * util/update-grub.in: Convert system path returned by font_path()
18320 to a GRUB path. Use `grub-probe -t abstraction' to determine what
18321 abstraction module is needed for loading fonts (if any). Export
18322 that as `GRUB_PRELOAD_MODULES'.
18323 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
18326 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
18328 Remove some unused code from reiserfs.
18330 * fs/reiserfs.c (struct grub_reiserfs_key)
18331 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
18332 (struct grub_reiserfs_node_body): Removed.
18333 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
18335 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
18337 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
18339 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
18341 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
18343 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
18345 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
18346 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
18347 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
18349 2008-01-10 Robert Millan <rmh@aybabtu.com>
18351 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
18352 Determines if a file is garbage left by packaging systems, etc.
18353 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
18354 for processing /etc/grub.d scripts.
18355 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
18356 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
18357 as a condition for processing Linux images.
18359 2008-01-10 Pavel Roskin <proski@gnu.org>
18361 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
18362 to compile reiserfs.c on PowerPC.
18364 2008-01-10 Robert Millan <rmh@aybabtu.com>
18366 * kern/device.c (grub_device_iterate): Do not abort device iteration
18367 when one of the devices cannot be opened.
18368 * kern/disk.c (grub_disk_open): Do not account previous failures of
18369 unrelated functions when grub_errno is checked for.
18371 2008-01-08 Robert Millan <rmh@aybabtu.com>
18373 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
18374 `! grub_linux_is_bzimage', change order of address comparison to make
18375 it more intuitive, and improve "too big zImage" error message.
18377 2008-01-08 Robert Millan <rmh@aybabtu.com>
18379 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
18380 `$(update-grub_DATA)'.
18381 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
18384 2008-01-07 Robert Millan <rmh@aybabtu.com>
18386 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
18387 which instruction is modified by grub-setup during installation
18388 (since it wasn't obvious by only looking at this file).
18390 2008-01-07 Robert Millan <rmh@aybabtu.com>
18392 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
18393 listing actual TODO items.
18395 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
18397 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
18399 (grub_reiserfs_get_key_offset): Likewise.
18400 (grub_reiserfs_set_key_offset): Likewise.
18401 (grub_reiserfs_set_key_type): Likewise.
18402 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
18404 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
18405 better to remove the bitfield version completely.
18407 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
18409 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
18410 allocated from the heap, due to the fshelp implementation.
18411 (grub_reiserfs_dir): Free NODE, due to the same reason.
18413 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
18415 Mostly from Vincent Pelletier:
18417 * fs/reiserfs.c: New file.
18419 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
18420 (reiserfs_mod_SOURCES): New variable.
18421 (reiserfs_mod_CFLAGS): Likewise.
18422 (reiserfs_mod_LDFLAGS): Likewise.
18424 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
18425 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
18426 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
18429 2008-01-06 Robert Millan <rmh@aybabtu.com>
18431 * normal/color.c: Remove `<grub/env.h>'.
18433 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
18435 * include/grub/normal.h: Include <grub/env.h>.
18437 2008-01-05 Robert Millan <rmh@aybabtu.com>
18439 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
18440 usage example with `(hd0,1)'.
18441 Reported by Samuel Thibault.
18443 2008-01-05 Robert Millan <rmh@aybabtu.com>
18445 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
18446 (grub_linux_boot_zimage): Rename to ...
18447 (grub_linux_boot): ... this.
18448 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
18449 (grub_linux_boot_zimage): Conditionalize zImage copy.
18451 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
18452 (grub_linux_boot_bzimage): Remove prototype.
18453 (grub_linux_boot_zimage): Rename to ...
18454 (grub_linux_boot): ... this.
18456 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
18457 (grub_linux_boot): Remove function.
18459 2008-01-05 Robert Millan <rmh@aybabtu.com>
18461 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
18462 (grub_env_write_color_highlight): Likewise.
18463 (grub_wait_after_message): Likewise.
18465 * normal/color.c: New file.
18467 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18468 (normal_mod_DEPENDENCIES): Likewise.
18470 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18471 (normal_mod_DEPENDENCIES): Likewise.
18473 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18474 (normal_mod_DEPENDENCIES): Likewise.
18476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18477 (normal_mod_DEPENDENCIES): Likewise.
18479 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
18480 for waiting after a message is printed.
18481 * normal/main.c (read_config_file): Likewise.
18482 (grub_normal_init): Register grub_env_write_color_normal() and
18483 grub_env_write_color_highlight() hooks. Mark `color_normal' and
18484 `color_highlight' variables as global.
18486 * normal/menu.c (grub_wait_after_message): New function.
18487 (grub_color_menu_normal): New variable. Replaces ...
18488 (GRUB_COLOR_MENU_NORMAL): ... this macro.
18489 (grub_color_menu_highlight): New variable. Replaces ...
18490 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
18491 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
18492 `GRUB_TERM_COLOR_STANDARD'.
18493 (print_message): Use `grub_setcolorstate' to reload colors. Rename
18494 `normal_code' and `highlight_code' to `old_color_normal' and
18495 `old_color_highlight', respectively.
18496 (grub_menu_init_page): Update colors when drawing the menu, based on
18497 `menu_color_normal' and `menu_color_highlight' variables.
18498 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
18499 a message is printed.
18501 2008-01-05 Robert Millan <rmh@aybabtu.com>
18503 * kern/env.c (grub_env_context_open): Propagate hooks for global
18504 variables to new context.
18506 * kern/main.c (grub_set_root_dev): Export `root' variable.
18508 2008-01-05 Robert Millan <rmh@aybabtu.com>
18510 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
18511 discs unconditionally, since udev and others have options to provide
18514 2008-01-05 Robert Millan <rmh@aybabtu.com>
18516 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
18518 2008-01-04 Christian Franke <franke@computer.org>
18520 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
18523 2008-01-03 Pavel Roskin <proski@gnu.org>
18525 * kern/i386/linuxbios/init.c: Put "void" to all function
18526 declarations with no arguments.
18527 * kern/powerpc/ieee1275/init.c: Likewise.
18528 * term/i386/pc/at_keyboard.c: Likewise.
18529 * term/i386/pc/vga_text.c: Likewise.
18530 * util/grub-mkdevicemap.c: Likewise.
18532 2008-01-02 Robert Millan <rmh@aybabtu.com>
18534 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
18535 message when loaded image is out of bounds.
18536 (grub_multiboot_load_elf64): Likewise.
18538 2008-01-02 Pavel Roskin <proski@gnu.org>
18540 * util/grub.d/10_linux.in: Try version without ".old" when
18541 looking for initrd. It's better to use initrd from the newer
18542 kernel of the same version than no initrd at all.
18544 2008-01-01 Robert Millan <rmh@aybabtu.com>
18546 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
18548 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
18550 * include/grub/video.h: Added grub_video_unmap_color and
18551 grub_video_get_active_render_target.
18552 (grub_video_adapter): Added unmap_color and get_active_render_target.
18554 * video/video.c: Added grub_video_unmap_color and
18555 grub_video_get_active_render_target.
18556 (grub_video_get_info): Changed method to accept NULL pointer as an
18557 argument to allow detection of active video adapter.
18559 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
18560 grub_video_vbe_unmap_color_int.
18561 Added grub_video_vbe_unmap_color and
18562 grub_video_vbe_get_active_render_target.
18563 (grub_video_vbe_adapter): Added unmap_color and
18564 get_active_render_target.
18566 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
18567 with grub_video_vbe_unmap_color_int.
18569 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
18570 (DEFAULT_NORMAL_COLOR): Likewise.
18571 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
18572 (DEFAULT_FG_COLOR): Removed.
18573 (DEFAULT_BG_COLOR): Likewise.
18574 (DEFAULT_CURSOR_COLOR): Changed value.
18575 (grub_virtual_screen): Added standard_color_setting,
18576 normal_color_setting, highlight_color_setting and term_color.
18577 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
18578 (bitmap_width): Added.
18579 (bitmap_height): Likewise.
18580 (bitmap): Likewise.
18581 (set_term_color): Likewise.
18582 (grub_virtual_screen_setup): Changed to use new terminal coloring
18584 (grub_gfxterm_init): Added init for bitmap.
18585 (grub_gfxterm_fini): Added destroy for bitmap.
18586 (redraw_screen_rect): Updated to use background bitmap and new
18588 (scroll_up): Added optimization for case when there is no bitmap.
18589 (grub_gfxterm_cls): Fixed to use correct background color.
18590 (grub_virtual_screen_setcolorstate): Changed to use new terminal
18592 (grub_virtual_screen_setcolor): Likewise.
18593 (grub_virtual_screen_getcolor): Added.
18594 (grub_gfxterm_background_image_cmd): Likewise.
18595 (grub_video_term): Added setcolor and getcolor.
18596 (MOD_INIT): Added registration of background_image command.
18597 (MOD_TERM): Added unregistration for background_image command.
18599 2007-12-30 Pavel Roskin <proski@gnu.org>
18601 * loader/multiboot_loader.c: Fix multiboot command
18602 unregistration. Fix all typos in the word "multiboot".
18604 2007-12-29 Pavel Roskin <proski@gnu.org>
18606 * util/grub.d/10_linux.in: Refactor search for initrd. Add
18607 support for initrd names used in Fedora.
18609 2007-12-26 Bean <bean123ch@gmail.com>
18611 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
18612 (cpio_mod_SOURCES): New variable.
18613 (cpio_mod_CFLAGS): Likewise.
18614 (cpio_mod_LDFLAGS): Likewise.
18616 * fs/cpio.c: New file.
18618 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
18620 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18622 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18624 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18626 2007-12-25 Robert Millan <rmh@aybabtu.com>
18628 * include/grub/term.h (struct grub_term): Add `getcolor' function.
18629 (grub_getcolor): New function.
18631 * kern/term.c (grub_getcolor): New function.
18632 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
18633 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
18634 (print_entry): Set normal and highlight colors to
18635 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
18636 respectively, before printing and restore them to old
18638 (grub_menu_init_page): Likewise. Fill an additional colored space
18639 that would otherwise be left blank.
18641 * term/efi/console.c (grub_console_getcolor): New function.
18642 (struct grub_console_term.getcolor): New variable.
18643 * term/i386/pc/console.c (grub_console_getcolor): New function.
18644 (struct grub_console_term.getcolor): New variable.
18645 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
18646 (struct grub_console_term.getcolor): New variable.
18648 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
18649 (struct grub_console_term.setcolor): Remove variable.
18650 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
18651 (struct grub_console_term.setcolor): Remove variable.
18652 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
18653 (struct grub_console_term.setcolor): Remove variable.
18654 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
18655 (struct grub_console_term.setcolor): Remove variable.
18657 2007-12-25 Robert Millan <rmh@aybabtu.com>
18659 * configure.ac: Search for possible unifont.hex locations, and
18660 define UNIFONT_HEX if found.
18662 * Makefile.in (UNIFONT_HEX): Define variable.
18663 (DATA): Rename to ...
18664 (PKGLIB): ... this. Update all users.
18665 (PKGDATA): New variable.
18666 (pkgdata_IMAGES): Rename to ...
18667 (pkglib_IMAGES): ... this. Update all users.
18668 (pkgdata_MODULES): Rename to ...
18669 (pkglib_MODULES): ... this. Update all users.
18670 (pkgdata_PROGRAMS): Rename to ...
18671 (pkglib_PROGRAMS): ... this. Update all users.
18672 (pkgdata_DATA): Rename to ...
18673 (pkglib_DATA): ... this. Update all users.
18674 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
18675 (unicode.pff, ascii.pff): New rules.
18676 (all-local): Add `$(PKGDATA)' dependency.
18677 (install-local): Process `$(PKGDATA)'.
18679 * util/update-grub_lib.in (font_path): Search for *.pff files in
18680 a few more locations, including `${pkgdata}'.
18682 2007-12-23 Robert Millan <rmh@aybabtu.com>
18684 Patch from Bean <bean123ch@gmail.com>:
18685 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
18688 2007-12-21 Bean <bean123ch@gmail.com>
18690 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
18691 (ntfscomp_mod_SOURCES): New variable.
18692 (ntfscomp_mod_CFLAGS): Likewise.
18693 (ntfscomp_mod_LDFLAGS): Likewise.
18695 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
18696 (grub_probe_SOURCES): Likewise.
18697 (grub_emu_SOURCES): Likewise.
18699 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
18700 (grub_emu_SOURCES): Likewise.
18702 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
18703 (grub_emu_SOURCES): Likewise.
18705 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
18706 (grub_emu_SOURCES): Likewise.
18708 * fs/ntfs.c (grub_ntfscomp_func): New variable.
18709 (read_run_list): Renamed to grub_ntfs_read_run_list.
18710 (decomp_nextvcn): Moved to ntfscomp.c.
18711 (decomp_getch): Likewise.
18712 (decomp_get16): Likewise.
18713 (decomp_block): Likewise.
18714 (read_block): Likewise.
18715 (read_data): Partially moved to ntfscomp.c.
18716 (fixup): Change unsigned to grub_uint16_t.
18717 (read_mft): Change unsigned long to grub_uint32_t.
18718 (read_attr): Likewise.
18719 (read_data): Likewise.
18720 (read_run_data): Likewise.
18721 (read_run_list): Likewise.
18722 (read_mft): Likewise.
18724 * fs/ntfscomp.c: New file.
18726 * include/grub/ntfs.h: New file.
18728 2007-12-16 Robert Millan <rmh@aybabtu.com>
18730 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
18731 IDE disk check, since Linux is known to support 20 IDE disks.
18732 Reported by Colin Watson.
18734 2007-12-15 Bean <bean123ch@gmail.com>
18736 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
18737 (lnxboot_img_SOURCES): New variable.
18738 (lnxboot_img_ASFLAGS): Likewise.
18739 (lnxboot_img_LDFLAGS): Likewise.
18741 * boot/i386/pc/lnxboot.S: New file.
18743 2007-11-24 Pavel Roskin <proski@gnu.org>
18745 * configure.ac: Test if '--build-id=none' is supported by the
18746 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
18747 objcopy to generate incorrect binary files (binutils
18748 2.17.50.0.18-1 as shipped by Fedora 8).
18749 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
18750 linking, so that build ID doesn't break the test.
18752 2007-11-24 Pavel Roskin <proski@gnu.org>
18754 * include/grub/i386/time.h: use "void" in the argument list
18755 of grub_cpu_idle().
18756 * include/grub/powerpc/time.h: Likewise.
18757 * include/grub/sparc64/time.h: Likewise.
18759 2007-11-18 Christian Franke <franke@computer.org>
18761 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
18762 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
18763 This fixes the problem that function keys did not work in grub-emu.
18765 2007-11-18 Christian Franke <franke@computer.org>
18767 * disk/host.c (grub_host_open): Remove attribute unused from
18768 name parameter. Add check for "host". This fixes the problem
18769 that grub-emu does not find partitions.
18771 2007-11-18 Christian Franke <franke@computer.org>
18773 * util/hostfs.c (is_dir): New function.
18774 (grub_hostfs_dir): Handle missing dirent.d_type case.
18775 (grub_hostfs_read): Add missing fseek().
18776 (grub_hostfs_label): Clear label pointer. This fixes a crash
18777 of grub-emu on "ls (host)".
18779 2007-11-18 Christian Franke <franke@computer.org>
18781 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
18782 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
18783 to 64 bit boundary by default.
18785 2007-11-18 Bean <bean123ch@gmail.com>
18787 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
18788 (hexdump_mod_SOURCES): New variable.
18789 (hexdump_mod_CFLAGS): Likewise.
18790 (hexdump_mod_LDFLAGS): Likewise.
18792 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
18794 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
18796 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
18798 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
18800 * include/grub/hexdump.h: New file.
18802 * commands/hexdump.c: New file.
18804 2007-11-10 Robert Millan <rmh@aybabtu.com>
18806 * commands/i386/pc/play.c (beep_off): Switch order of arguments
18807 in grub_outb() calls.
18808 (beep_on): Likewise.
18810 2007-11-10 Christian Franke <franke@computer.org>
18812 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
18813 (grub_menu_run): Likewise.
18815 2007-11-10 Robert Millan <rmh@aybabtu.com>
18817 * include/grub/i386/efi/machine.h: New file.
18818 * include/grub/i386/linuxbios/machine.h: Likewise.
18819 * include/grub/i386/pc/machine.h: Likewise.
18820 * include/grub/powerpc/ieee1275/machine.h: Likewise.
18821 * include/grub/sparc64/ieee1275/machine.h: Likewise.
18823 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
18824 (serial_hw_io_addr): New variable.
18825 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
18826 instead of `(unsigned short *) 0x400'.
18828 2007-11-10 Bean <bean123ch@gmail.com>
18830 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
18832 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
18834 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
18835 (vga_mod_SOURCES): Added.
18836 (vga_mod_CFLAGS): Likewise.
18837 (vga_mod_LDFLAGS): Likewise.
18839 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
18841 (set_map_mask): Likewise.
18842 (set_read_map): Likewise.
18843 (set_read_address): Likewise.
18844 (vga_font): Removed variable.
18845 (get_vga_glyph): Removed function.
18846 (invalidate_char): Likewise.
18847 (write_char): Changed to use grub_font_get_glyph() for font
18849 (grub_vga_putchar): Likewise.
18850 (grub_vga_getcharwidth): Likewise.
18852 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
18854 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
18856 (pxeboot_img_LDFLAGS): Likewise.
18857 (diskboot_img_LDFLAGS): Likewise.
18858 (kernel_img_LDFLAGS): Likewise.
18860 2007-11-06 Robert Millan <rmh@aybabtu.com>
18862 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
18863 in grub_outb() calls.
18864 (serial_hw_init): Likewise.
18866 2007-11-05 Robert Millan <rmh@aybabtu.com>
18868 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
18869 spaces. Skip non-regular files.
18871 2007-11-05 Robert Millan <rmh@aybabtu.com>
18873 * kern/disk.c (grub_disk_firmware_fini)
18874 (grub_disk_firmware_is_tainted): New variables.
18876 * include/grub/disk.h (grub_disk_firmware_fini)
18877 (grub_disk_firmware_is_tainted): Likewise.
18879 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
18880 (grub_disk_biosdisk_fini): ... to here.
18881 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
18882 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
18883 is set. Register grub_disk_biosdisk_fini() in
18884 `grub_disk_firmware_fini'.
18886 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
18887 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
18888 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
18889 to finish existing firmware disk interface.
18891 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
18892 (ata_mod_SOURCES): New variable.
18893 (ata_mod_CFLAGS): Likewise.
18894 (ata_mod_LDFLAGS): Likewise.
18896 2007-11-05 Robert Millan <rmh@aybabtu.com>
18898 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
18899 (grub_ata_wait): Reimplement using grub_millisleep().
18901 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
18902 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
18904 2007-11-03 Marco Gerards <marco@gnu.org>
18906 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
18907 (CRTC_ADDR_PORT): New macro.
18908 (CRTC_DATA_PORT): Likewise.
18909 (CRTC_CURSOR): Likewise.
18910 (CRTC_CURSOR_ADDR_HIGH): Likewise.
18911 (CRTC_CURSOR_ADDR_LOW): Likewise.
18912 (update_cursor): New function.
18913 (grub_console_real_putchar): Call `update_cursor'.
18914 (grub_console_gotoxy): Likewise.
18915 (grub_console_cls): Set the default color when clearing the
18917 (grub_console_setcursor): Implemented.
18919 2007-11-03 Marco Gerards <marco@gnu.org>
18921 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
18923 (grub_ata_pio_write): Likewise.
18925 (grub_atapi_identify): Wait after issuing an ATA command.
18926 (grub_atapi_packet): Likewise.
18927 (grub_ata_identify): Likewise.
18928 (grub_ata_readwrite): Likewise.
18930 2007-11-03 Marco Gerards <marco@gnu.org>
18932 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
18933 (grub_ata_pio_write): Likewise.
18934 (grub_ata_readwrite): Use `grub_error', instead of
18935 returning `grub_errno'.
18937 2007-11-03 Marco Gerards <marco@gnu.org>
18939 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
18940 grub_ata_pio_write once for every single sector, instead of for
18943 2007-10-31 Robert Millan <rmh@aybabtu.com>
18945 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
18947 * conf/i386-linuxbios.rmk: New file.
18949 * kern/i386/pc/hardware.c: Likewise.
18950 * term/i386/pc/at_keyboard.c: Likewise.
18951 * term/i386/pc/vga_text.c: Likewise.
18953 * include/grub/i386/linuxbios/boot.h: Likewise.
18954 * include/grub/i386/linuxbios/console.h: Likewise.
18955 * include/grub/i386/linuxbios/init.h: Likewise.
18956 * include/grub/i386/linuxbios/kernel.h: Likewise.
18957 * include/grub/i386/linuxbios/loader.h: Likewise.
18958 * include/grub/i386/linuxbios/memory.h: Likewise.
18959 * include/grub/i386/linuxbios/serial.h: Likewise.
18960 * include/grub/i386/linuxbios/time.h: Likewise.
18962 * kern/i386/linuxbios/init.c: Likewise.
18963 * kern/i386/linuxbios/startup.S: Likewise.
18964 * kern/i386/linuxbios/table.c: Likewise.
18966 2007-10-31 Marco Gerards <marco@gnu.org>
18968 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
18969 (ata_mod_SOURCES): New variable.
18970 (ata_mod_CFLAGS): Likewise.
18971 (ata_mod_LDFLAGS): Likewise.
18973 * disk/ata.c: New file.
18975 * include/grub/disk.h (grub_disk_dev_id): Add
18976 `GRUB_DISK_DEV_ATA_ID'.
18978 2007-10-31 Robert Millan <rmh@aybabtu.com>
18980 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
18981 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
18983 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
18984 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
18986 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
18989 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
18991 2007-10-27 Robert Millan <rmh@aybabtu.com>
18993 * include/grub/types.h (ULONG_MAX): Define macro.
18995 2007-10-22 Robert Millan <rmh@aybabtu.com>
18997 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
18999 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
19001 2007-10-22 Robert Millan <rmh@aybabtu.com>
19003 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
19004 (pkgdata_MODULES): Add `biosdisk.mod'.
19005 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
19008 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
19009 (grub_biosdisk_init): Replace with ...
19010 (GRUB_MOD_INIT(biosdisk)): ... this.
19011 (grub_biosdisk_fini): Replace with ...
19012 (GRUB_MOD_FINI(biosdisk)): ... this.
19014 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
19015 (grub_machine_init): Remove call to grub_biosdisk_init().
19016 (grub_machine_fini): Remove call to grub_machine_fini().
19018 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
19020 2007-10-22 Robert Millan <rmh@aybabtu.com>
19022 * include/grub/time.h: New file.
19023 * include/grub/i386/time.h: Likewise.
19024 * include/grub/powerpc/time.h: Likewise.
19025 * include/grub/sparc64/time.h: Likewise.
19027 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
19029 (KERNEL_MACHINE_TIME_HEADER): ... this.
19030 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
19032 (KERNEL_MACHINE_TIME_HEADER): ... this.
19033 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
19035 (KERNEL_MACHINE_TIME_HEADER): ... this.
19037 * kern/i386/efi/init.c: Include `<grub/time.h>'.
19038 (grub_millisleep): New function.
19039 * kern/i386/pc/init.c: Include `<grub/time.h>'.
19040 (grub_millisleep): New function.
19041 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
19042 Remove `grub/machine/time.h' include.
19043 (grub_millisleep): New function.
19044 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
19045 Remove `grub/machine/time.h' include.
19046 (grub_millisleep): New function.
19048 * include/grub/misc.h (grub_div_roundup): New function.
19050 * kern/misc.c: Include `<grub/time.h>'.
19051 (grub_millisleep_generic): New function.
19053 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
19055 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
19057 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
19058 `machine/time.h'. Add `time.h'.
19059 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
19061 2007-10-21 Robert Millan <rmh@aybabtu.com>
19063 * include/grub/misc.h (grub_max): New function.
19065 2007-10-21 Robert Millan <rmh@aybabtu.com>
19067 * util/misc.c (grub_util_info): Call fflush() before returning.
19069 2007-10-20 Robert Millan <rmh@aybabtu.com>
19071 * genmk.rb (Image): Copy `extra_flags' from here ...
19072 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
19074 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
19075 to `argc' and `args' arguments.
19077 2007-10-17 Robert Millan <rmh@aybabtu.com>
19079 * kern/i386/loader.S: New file.
19081 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
19082 * kern/i386/loader.S (grub_linux_prot_size)... to here.
19083 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
19084 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
19085 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
19086 * kern/i386/loader.S (grub_linux_real_addr)... to here.
19087 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
19088 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
19089 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
19090 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
19091 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
19092 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
19093 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
19094 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
19096 * kern/i386/realmode.S: New file.
19098 * kern/i386/pc/startup.S (protstack): Moved from here ...
19099 * kern/i386/realmode.S (protstack)... to here.
19100 * kern/i386/pc/startup.S (gdt): Moved from here ...
19101 * kern/i386/realmode.S (gdt)... to here.
19102 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
19103 * kern/i386/realmode.S (prot_to_real)... to here.
19105 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
19106 `kern/i386/realmode.S'.
19108 2007-10-17 Robert Millan <rmh@aybabtu.com>
19110 * include/grub/i386/loader.h: New file.
19112 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
19113 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
19114 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
19115 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
19116 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
19117 * include/grub/i386/loader.h (grub_linux_prot_size)
19118 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
19119 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
19120 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
19121 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
19123 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
19125 2007-10-15 Robert Millan <rmh@aybabtu.com>
19127 * normal/misc.c (grub_normal_print_device_info): Do not probe for
19128 filesystem when dev->disk is unset.
19129 Do probe for filesystem even when dev->disk->has_partitions is set.
19130 In case a filesystem is found, always report it.
19131 In case it isn't, if dev->disk->has_partitions is set, report that
19132 a partition table was found instead of reporting that no filesystem
19133 could be identified.
19135 2007-10-12 Robert Millan <rmh@aybabtu.com>
19137 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
19138 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
19140 * include/grub/types.h (grub_host_to_target16): New macro.
19141 (grub_host_to_target32): Likewise.
19142 (grub_host_to_target64): Likewise.
19143 (grub_target_to_host16): Likewise.
19144 (grub_target_to_host32): Likewise.
19145 (grub_target_to_host64): Likewise.
19147 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
19148 Renamed from to ...
19149 (GRUB_MOD_ALIGN): ...this. Update all users.
19151 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
19152 grub_host_to_target32.
19153 Replace grub_be_to_cpu32 with grub_target_to_host32.
19154 (load_modules): Likewise.
19155 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
19156 Replace grub_be_to_cpu32 with grub_target_to_host32.
19157 Replace grub_cpu_to_be16 with grub_host_to_target16.
19158 Replace grub_cpu_to_be32 grub_host_to_target32.
19160 2007-10-12 Robert Millan <rmh@aybabtu.com>
19162 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
19163 * util/elf/grub-mkimage.c: ... here.
19165 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
19166 `util/powerpc/ieee1275/grub-mkimage.c'.
19168 2007-10-07 Robert Millan <rmh@aybabtu.com>
19170 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
19171 and make it easier to figure out.
19172 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
19173 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
19174 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
19175 leave us with less than HEAP_MIN_SIZE total heap.
19176 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
19178 2007-10-03 Robert Millan <rmh@aybabtu.com>
19180 * include/grub/i386/io.h: New file.
19181 * commands/i386/pc/play.c (inb): Removed.
19183 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
19185 * term/i386/pc/serial.c (inb): Removed.
19187 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
19189 * term/i386/pc/vga.c (inb): Removed.
19191 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
19194 2007-10-02 Robert Millan <rmh@aybabtu.com>
19196 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
19197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19198 Reported by Marcin Kurek.
19200 2007-09-07 Robert Millan <rmh@aybabtu.com>
19202 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
19203 SmartFirmware version updates (as released by Sven Luther), and avoid
19204 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
19205 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
19208 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
19210 From Hitoshi Ozeki:
19211 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
19212 when merging two regions.
19214 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
19216 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
19217 * normal/completion.c (grub_normal_do_completion): Likewise.
19218 Reported by Hitoshi Ozeki.
19220 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
19222 Do not use devices at boot in chainloading.
19224 * loader/i386/pc/chainloader.c (boot_drive): New variable.
19225 (boot_part_addr): Likewise.
19226 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
19227 with BOOT_DRIVE and BOOT_PART_ADDR.
19228 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
19229 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
19231 2007-08-29 Robert Millan <rmh@aybabtu.com>
19233 Patch from Simon Peter <dn.tlp@gmx.net>:
19234 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
19235 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
19236 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
19237 util/i386/pc/grub-setup.c_DEPENDENCIES.
19238 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
19239 util/grub-probe.c_DEPENDENCIES.
19240 * conf/powerpc-ieee1275.rmk: Likewise.
19242 2007-08-28 Robert Millan <rmh@aybabtu.com>
19244 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
19245 to tell grub-mkdevicemap how to name devices.
19246 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
19249 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
19250 util/i386/get_disk_name.c.
19251 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
19252 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
19253 util/ieee1275/get_disk_name.c.
19255 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
19257 * DISTLIST: Add util/i386/get_disk_name.c and
19258 util/ieee1275/get_disk_name.c.
19260 * util/grub-mkdevicemap.c: Replace device naming logic with
19261 grub_util_get_disk_name() calls.
19263 2007-08-20 Robert Millan <rmh@aybabtu.com>
19265 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
19266 (so that it works for both plural and singular quantities).
19268 2007-08-05 Robert Millan <rmh@aybabtu.com>
19270 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
19271 so that [xz] isn't taken into account when determining order.
19273 2007-08-02 Marco Gerards <marco@gnu.org>
19275 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
19276 `include/multiboot2.h', `include/grub/elfload.h',
19277 `include/multiboot.h', `include/grub/multiboot.h',
19278 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
19279 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
19280 `kern/elf.c', `loader/multiboot_loader.c',
19281 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
19282 `loader/i386/pc/multiboot2.c',
19283 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
19284 `util/i386/pc/grub-mkrescue.in'. Remove
19285 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
19286 `include/grub/i386/pc/util/biosdisk.h' and
19287 `include/grub/powerpc/ieee1275/multiboot.h'.
19289 2007-08-02 Bean <bean123ch@gmail.com>
19291 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
19292 (ntfs_mod_SOURCES): New variable.
19293 (ntfs_mod_CFLAGS): Likewise.
19294 (ntfs_mod_LDFLAGS): Likewise.
19296 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
19297 (grub_probe_SOURCES): Likewise.
19298 (grub_emu_SOURCES): Likewise.
19300 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
19301 (grub_emu_SOURCES): Likewise.
19303 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
19304 (grub_emu_SOURCES): Likewise.
19306 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
19308 * fs/ntfs.c: New file.
19310 2007-08-02 Bean <bean123ch@gmail.com>
19312 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
19314 * file.h (grub_file): Likewise.
19316 * fshelp.h (grub_fshelp_read_file): Likewise.
19318 * util/i386/pc/grub-setup.c (setup): Likewise.
19319 (save_first_sector): Likewise.
19320 (save_blocklists): Likewise.
19322 * fs/affs.c (grub_affs_read_file): Likewise.
19324 * fs/ext2.c (grub_ext2_read_file): Likewise.
19326 * fs/fat.c (grub_fat_read_data): Likewise.
19328 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
19330 * fs/hfs.c (grub_hfs_read_file): Likewise.
19332 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
19334 * fs/jfs.c (grub_jfs_read_file): Likewise.
19336 * fs/minix.c (grub_minix_read_file): Likewise.
19338 * fs/sfs.c (grub_sfs_read_file): Likewise.
19340 * fs/ufs.c (grub_ufs_read_file): Likewise.
19342 * fs/xfs.c (grub_xfs_read_file): Likewise.
19344 * command/blocklist.c (read_blocklist): Likewise.
19345 (print_blocklist): Likewise.
19347 2007-08-02 Marco Gerards <marco@gnu.org>
19349 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
19352 * disk/host.c: New file.
19354 * util/hostfs.c: Likewise.
19356 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
19357 return `GRUB_ERR_BAD_FS'.
19358 * fs/sfs.c (grub_sfs_mount): Likewise.
19359 * fs/xfs.c (grub_xfs_mount): Likewise.
19361 * include/grub/disk.h (enum grub_disk_dev_id): Add
19362 `GRUB_DISK_DEVICE_HOST_ID'.
19364 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
19366 2007-07-24 Jerone Young <jerone@gmail.com>
19368 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
19369 modules for compilation.
19370 * conf/powerpc-ieee1275.rmk: Likewise.
19372 * include/multiboot.h: Move multiboot definitions to one file. Rename
19373 many definitions to not get grub specific.
19374 * include/multiboot2.h: Create header with multiboot 2 definitions.
19375 * include/grub/multiboot.h: Header for grub specific function
19376 prototypes and definitions.
19377 * include/grub/multiboot2.h: Likewise.
19378 * include/grub/multiboot_loader.h: Likewise.
19379 * include/grub/i386/pc/multiboot.h: Removed.
19380 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
19382 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
19383 and 2 to allow for one multiboot and module commands.
19384 * loader/multiboot2.c: Add multiboot2 functionality.
19385 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
19386 and definition names.
19387 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
19389 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
19390 ieee1275 specific multiboot2 code.
19392 * kern/i386/pc/startup.S: Change headers and definition names for
19393 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
19395 2007-07-22 Robert Millan <rmh@aybabtu.com>
19397 * geninitheader.sh: Process file specified in first parameter rather
19398 than hardcoding grub_modules_init.lst.
19399 * geninit.sh: Likewise. Also, construct header name dynamically rather
19400 than hardcoding grub_modules_init.h.
19402 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
19403 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
19404 grub_probe_init.[ch] and grub_setup_init.[ch].
19406 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
19407 grub_modules_init.h with grub_emu_init.h.
19408 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
19409 grub_probe_init.[ch] files.
19410 * conf/i386-efi.rmk: Likewise.
19411 * conf/i386-pc.rmk: Likewise.
19412 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
19413 grub_setup_init.[ch] files.
19415 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
19416 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
19417 to initialize modules rather than a list of hardcoded functions.
19418 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
19419 grub_init_all() to initialize modules rather than a list of hardcoded
19422 2007-07-22 Robert Millan <rmh@aybabtu.com>
19424 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19425 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
19427 2007-07-22 Robert Millan <rmh@aybabtu.com>
19429 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
19430 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
19431 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
19432 flag when running on SmartFirmware.
19433 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
19434 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
19437 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
19438 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
19439 rather than decreasing it.
19441 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
19442 there's not enough space to do it, fail in the same way as when it
19443 can't be done because there are no partitions.
19445 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
19446 when nvsetenv failed.
19448 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
19450 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
19451 because this rule is automatically generated.
19452 (grub-mkrescue): Removed for the same reason as above.
19454 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
19456 Migrate to GNU General Public License Version 3.
19458 * COPYING: Replaced with the plain text version of GPLv3.
19460 * config.guess: Updated from gnulib.
19461 * config.sub: Likewise.
19463 * geninit.sh: Output a GPLv3 copyright notice.
19464 * geninitheader.sh: Likewise.
19465 * genmodsrc.sh: Likewise.
19466 * gensymlist.sh.in: Likewise.
19468 * boot/i386/pc/boot.S: Upgraded to GPLv3.
19469 * boot/i386/pc/diskboot.S: Likewise.
19470 * boot/i386/pc/pxeboot.S: Likewise.
19471 * commands/blocklist.c: Likewise.
19472 * commands/boot.c: Likewise.
19473 * commands/cat.c: Likewise.
19474 * commands/cmp.c: Likewise.
19475 * commands/configfile.c: Likewise.
19476 * commands/echo.c: Likewise.
19477 * commands/help.c: Likewise.
19478 * commands/ls.c: Likewise.
19479 * commands/search.c: Likewise.
19480 * commands/terminal.c: Likewise.
19481 * commands/test.c: Likewise.
19482 * commands/videotest.c: Likewise.
19483 * commands/i386/cpuid.c: Likewise.
19484 * commands/i386/pc/halt.c: Likewise.
19485 * commands/i386/pc/play.c: Likewise.
19486 * commands/i386/pc/reboot.c: Likewise.
19487 * commands/i386/pc/vbeinfo.c: Likewise.
19488 * commands/i386/pc/vbetest.c: Likewise.
19489 * commands/ieee1275/halt.c: Likewise.
19490 * commands/ieee1275/reboot.c: Likewise.
19491 * commands/ieee1275/suspend.c: Likewise.
19492 * disk/loopback.c: Likewise.
19493 * disk/lvm.c: Likewise.
19494 * disk/raid.c: Likewise.
19495 * disk/efi/efidisk.c: Likewise.
19496 * disk/i386/pc/biosdisk.c: Likewise.
19497 * disk/ieee1275/ofdisk.c: Likewise.
19498 * font/manager.c: Likewise.
19499 * fs/affs.c: Likewise.
19500 * fs/ext2.c: Likewise.
19501 * fs/fat.c: Likewise.
19502 * fs/fshelp.c: Likewise.
19503 * fs/hfs.c: Likewise.
19504 * fs/hfsplus.c: Likewise.
19505 * fs/iso9660.c: Likewise.
19506 * fs/jfs.c: Likewise.
19507 * fs/minix.c: Likewise.
19508 * fs/sfs.c: Likewise.
19509 * fs/ufs.c: Likewise.
19510 * fs/xfs.c: Likewise.
19511 * hello/hello.c: Likewise.
19512 * include/grub/acorn_filecore.h: Likewise.
19513 * include/grub/arg.h: Likewise.
19514 * include/grub/bitmap.h: Likewise.
19515 * include/grub/boot.h: Likewise.
19516 * include/grub/cache.h: Likewise.
19517 * include/grub/device.h: Likewise.
19518 * include/grub/disk.h: Likewise.
19519 * include/grub/dl.h: Likewise.
19520 * include/grub/elfload.h: Likewise.
19521 * include/grub/env.h: Likewise.
19522 * include/grub/err.h: Likewise.
19523 * include/grub/file.h: Likewise.
19524 * include/grub/font.h: Likewise.
19525 * include/grub/fs.h: Likewise.
19526 * include/grub/fshelp.h: Likewise.
19527 * include/grub/gzio.h: Likewise.
19528 * include/grub/hfs.h: Likewise.
19529 * include/grub/kernel.h: Likewise.
19530 * include/grub/loader.h: Likewise.
19531 * include/grub/lvm.h: Likewise.
19532 * include/grub/misc.h: Likewise.
19533 * include/grub/mm.h: Likewise.
19534 * include/grub/net.h: Likewise.
19535 * include/grub/normal.h: Likewise.
19536 * include/grub/parser.h: Likewise.
19537 * include/grub/partition.h: Likewise.
19538 * include/grub/pc_partition.h: Likewise.
19539 * include/grub/raid.h: Likewise.
19540 * include/grub/rescue.h: Likewise.
19541 * include/grub/script.h: Likewise.
19542 * include/grub/setjmp.h: Likewise.
19543 * include/grub/symbol.h: Likewise.
19544 * include/grub/term.h: Likewise.
19545 * include/grub/terminfo.h: Likewise.
19546 * include/grub/tparm.h: Likewise.
19547 * include/grub/types.h: Likewise.
19548 * include/grub/video.h: Likewise.
19549 * include/grub/efi/api.h: Likewise.
19550 * include/grub/efi/chainloader.h: Likewise.
19551 * include/grub/efi/console.h: Likewise.
19552 * include/grub/efi/console_control.h: Likewise.
19553 * include/grub/efi/disk.h: Likewise.
19554 * include/grub/efi/efi.h: Likewise.
19555 * include/grub/efi/pe32.h: Likewise.
19556 * include/grub/efi/time.h: Likewise.
19557 * include/grub/i386/linux.h: Likewise.
19558 * include/grub/i386/setjmp.h: Likewise.
19559 * include/grub/i386/types.h: Likewise.
19560 * include/grub/i386/efi/kernel.h: Likewise.
19561 * include/grub/i386/efi/loader.h: Likewise.
19562 * include/grub/i386/efi/time.h: Likewise.
19563 * include/grub/i386/pc/biosdisk.h: Likewise.
19564 * include/grub/i386/pc/boot.h: Likewise.
19565 * include/grub/i386/pc/chainloader.h: Likewise.
19566 * include/grub/i386/pc/console.h: Likewise.
19567 * include/grub/i386/pc/init.h: Likewise.
19568 * include/grub/i386/pc/kernel.h: Likewise.
19569 * include/grub/i386/pc/loader.h: Likewise.
19570 * include/grub/i386/pc/memory.h: Likewise.
19571 * include/grub/i386/pc/multiboot.h: Likewise.
19572 * include/grub/i386/pc/serial.h: Likewise.
19573 * include/grub/i386/pc/time.h: Likewise.
19574 * include/grub/i386/pc/vbe.h: Likewise.
19575 * include/grub/i386/pc/vbeblit.h: Likewise.
19576 * include/grub/i386/pc/vbefill.h: Likewise.
19577 * include/grub/i386/pc/vbeutil.h: Likewise.
19578 * include/grub/i386/pc/vga.h: Likewise.
19579 * include/grub/ieee1275/ieee1275.h: Likewise.
19580 * include/grub/ieee1275/ofdisk.h: Likewise.
19581 * include/grub/powerpc/libgcc.h: Likewise.
19582 * include/grub/powerpc/setjmp.h: Likewise.
19583 * include/grub/powerpc/types.h: Likewise.
19584 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
19585 * include/grub/powerpc/ieee1275/console.h: Likewise.
19586 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
19587 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19588 * include/grub/powerpc/ieee1275/loader.h: Likewise.
19589 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
19590 * include/grub/powerpc/ieee1275/time.h: Likewise.
19591 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
19592 * include/grub/sparc64/libgcc.h: Likewise.
19593 * include/grub/sparc64/setjmp.h: Likewise.
19594 * include/grub/sparc64/types.h: Likewise.
19595 * include/grub/sparc64/ieee1275/console.h: Likewise.
19596 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
19597 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19598 * include/grub/sparc64/ieee1275/time.h: Likewise.
19599 * include/grub/util/biosdisk.h: Likewise.
19600 * include/grub/util/getroot.h: Likewise.
19601 * include/grub/util/lvm.h: Likewise.
19602 * include/grub/util/misc.h: Likewise.
19603 * include/grub/util/raid.h: Likewise.
19604 * include/grub/util/resolve.h: Likewise.
19605 * io/gzio.c: Likewise.
19606 * kern/device.c: Likewise.
19607 * kern/disk.c: Likewise.
19608 * kern/dl.c: Likewise.
19609 * kern/elf.c: Likewise.
19610 * kern/env.c: Likewise.
19611 * kern/err.c: Likewise.
19612 * kern/file.c: Likewise.
19613 * kern/fs.c: Likewise.
19614 * kern/loader.c: Likewise.
19615 * kern/main.c: Likewise.
19616 * kern/misc.c: Likewise.
19617 * kern/mm.c: Likewise.
19618 * kern/parser.c: Likewise.
19619 * kern/partition.c: Likewise.
19620 * kern/rescue.c: Likewise.
19621 * kern/term.c: Likewise.
19622 * kern/efi/efi.c: Likewise.
19623 * kern/efi/init.c: Likewise.
19624 * kern/efi/mm.c: Likewise.
19625 * kern/i386/dl.c: Likewise.
19626 * kern/i386/efi/init.c: Likewise.
19627 * kern/i386/efi/startup.S: Likewise.
19628 * kern/i386/pc/init.c: Likewise.
19629 * kern/i386/pc/lzo1x.S: Likewise.
19630 * kern/i386/pc/startup.S: Likewise.
19631 * kern/ieee1275/ieee1275.c: Likewise.
19632 * kern/powerpc/cache.S: Likewise.
19633 * kern/powerpc/dl.c: Likewise.
19634 * kern/powerpc/ieee1275/cmain.c: Likewise.
19635 * kern/powerpc/ieee1275/crt0.S: Likewise.
19636 * kern/powerpc/ieee1275/init.c: Likewise.
19637 * kern/powerpc/ieee1275/openfw.c: Likewise.
19638 * kern/sparc64/cache.S: Likewise.
19639 * kern/sparc64/dl.c: Likewise.
19640 * kern/sparc64/ieee1275/init.c: Likewise.
19641 * kern/sparc64/ieee1275/openfw.c: Likewise.
19642 * loader/efi/chainloader.c: Likewise.
19643 * loader/efi/chainloader_normal.c: Likewise.
19644 * loader/i386/efi/linux.c: Likewise.
19645 * loader/i386/efi/linux_normal.c: Likewise.
19646 * loader/i386/pc/chainloader.c: Likewise.
19647 * loader/i386/pc/chainloader_normal.c: Likewise.
19648 * loader/i386/pc/linux.c: Likewise.
19649 * loader/i386/pc/linux_normal.c: Likewise.
19650 * loader/i386/pc/multiboot.c: Likewise.
19651 * loader/i386/pc/multiboot_normal.c: Likewise.
19652 * loader/powerpc/ieee1275/linux.c: Likewise.
19653 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
19654 * normal/arg.c: Likewise.
19655 * normal/cmdline.c: Likewise.
19656 * normal/command.c: Likewise.
19657 * normal/completion.c: Likewise.
19658 * normal/execute.c: Likewise.
19659 * normal/function.c: Likewise.
19660 * normal/lexer.c: Likewise.
19661 * normal/main.c: Likewise.
19662 * normal/menu.c: Likewise.
19663 * normal/menu_entry.c: Likewise.
19664 * normal/misc.c: Likewise.
19665 * normal/parser.y: Likewise.
19666 * normal/script.c: Likewise.
19667 * normal/i386/setjmp.S: Likewise.
19668 * normal/powerpc/setjmp.S: Likewise.
19669 * normal/sparc64/setjmp.S: Likewise.
19670 * partmap/acorn.c: Likewise.
19671 * partmap/amiga.c: Likewise.
19672 * partmap/apple.c: Likewise.
19673 * partmap/gpt.c: Likewise.
19674 * partmap/pc.c: Likewise.
19675 * partmap/sun.c: Likewise.
19676 * term/gfxterm.c: Likewise.
19677 * term/terminfo.c: Likewise.
19678 * term/efi/console.c: Likewise.
19679 * term/i386/pc/console.c: Likewise.
19680 * term/i386/pc/serial.c: Likewise.
19681 * term/i386/pc/vesafb.c: Likewise.
19682 * term/i386/pc/vga.c: Likewise.
19683 * term/ieee1275/ofconsole.c: Likewise.
19684 * util/biosdisk.c: Likewise.
19685 * util/console.c: Likewise.
19686 * util/genmoddep.c: Likewise.
19687 * util/getroot.c: Likewise.
19688 * util/grub-emu.c: Likewise.
19689 * util/grub-mkdevicemap.c: Likewise.
19690 * util/grub-probe.c: Likewise.
19691 * util/lvm.c: Likewise.
19692 * util/misc.c: Likewise.
19693 * util/raid.c: Likewise.
19694 * util/resolve.c: Likewise.
19695 * util/update-grub.in: Likewise.
19696 * util/update-grub_lib.in: Likewise.
19697 * util/grub.d/00_header.in: Likewise.
19698 * util/grub.d/10_hurd.in: Likewise.
19699 * util/grub.d/10_linux.in: Likewise.
19700 * util/i386/efi/grub-install.in: Likewise.
19701 * util/i386/efi/grub-mkimage.c: Likewise.
19702 * util/i386/pc/grub-install.in: Likewise.
19703 * util/i386/pc/grub-mkimage.c: Likewise.
19704 * util/i386/pc/grub-mkrescue.in: Likewise.
19705 * util/i386/pc/grub-setup.c: Likewise.
19706 * util/i386/pc/misc.c: Likewise.
19707 * util/powerpc/ieee1275/grub-install.in: Likewise.
19708 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
19709 * util/powerpc/ieee1275/misc.c: Likewise.
19710 * video/bitmap.c: Likewise.
19711 * video/video.c: Likewise.
19712 * video/i386/pc/vbe.c: Likewise.
19713 * video/i386/pc/vbeblit.c: Likewise.
19714 * video/i386/pc/vbefill.c: Likewise.
19715 * video/i386/pc/vbeutil.c: Likewise.
19716 * video/readers/tga.c: Likewise.
19718 2007-07-02 Robert Millan <rmh@aybabtu.com>
19720 * conf/i386-efi.rmk: Replace obsolete reference to
19721 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
19722 with util/getroot.c.
19723 * conf/powerpc-ieee1275.rmk: Likewise.
19724 * conf/sparc64-ieee1275.rmk: Likewise.
19726 * util/grub-emu.c (main): Fix unchecked pointer handling.
19728 2007-07-02 Robert Millan <rmh@aybabtu.com>
19730 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
19731 invocation to fail, in order to support partition-less media.
19733 * util/i386/pc/grub-install.in: Likewise.
19735 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
19736 which fs or partmap modules are needed (akin to its sister scripts).
19738 Also use grub-probe to get rid of unportable /proc/mounts check.
19740 Print the same informational message that the other scripts do, before
19743 2007-06-23 Robert Millan <rmh@aybabtu.com>
19745 * util/update-grub_lib.in (font_path): New function. Determine whether
19746 a font file can be found and, if so, echo the GRUB path to it.
19748 * util/update-grub.in: Handle multiple terminals depending on user
19749 input, platform availability and font file presence. Propagate
19750 variables of our findings to /etc/grub.d/ children.
19752 * util/grub.d/00_header.in: Handle multiple terminals, based on
19753 environment setup by update-grub.
19755 2007-06-23 Robert Millan <rmh@aybabtu.com>
19757 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
19759 2007-06-21 Robert Millan <rmh@aybabtu.com>
19761 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
19762 indicate end of data section in kernel image.
19763 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
19764 GRUB_KERNEL_MACHINE_DATA_END.
19766 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
19768 * kern/i386/efi/startup.S: Likewise.
19770 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
19771 during image generation. Implement --prefix option to override this
19773 * util/i386/efi/grub-mkimage.c: Likewise.
19775 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
19776 code to make path relative to its root into a separate function.
19778 * util/i386/pc/grub-install.in: Use newly provided
19779 make_system_path_relative_to_its_root() to convert ${grubdir}, then
19780 pass the result to grub-install --prefix.
19782 2007-06-13 Robert Millan <rmh@aybabtu.com>
19784 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
19785 DEFAULT_DEVICE_MAP.
19786 * util/grub-emu.c: Use above definitions from misc.h instead of
19788 * util/grub-mkdevicemap.c: Likewise.
19789 * util/i386/pc/grub-setup.c: Likewise.
19790 * util/grub-probe.c: Likewise.
19791 (probe): Abort with grub_util_error() when either
19792 grub_guess_root_device or grub_util_get_grub_dev fails.
19794 2007-06-12 Robert Millan <rmh@aybabtu.com>
19796 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
19797 "pager" assignment.
19798 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
19800 * util/grub-probe.c (probe): Likewise for "drive_name".
19802 2007-06-11 Robert Millan <rmh@aybabtu.com>
19804 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
19805 not just the cdrom one.
19807 2007-06-11 Robert Millan <rmh@aybabtu.com>
19809 * util/i386/pc/grub-mkrescue.in: Add "set -e".
19810 Add --pkglibdir=DIR option to override pkglibdir.
19811 Mention --image-type=TYPE in help output.
19812 Fix --grub-mkimage (it was a no-op).
19813 Abort gracefully when no parameter is given.
19815 2007-06-11 Robert Millan <rmh@aybabtu.com>
19817 * util/i386/pc/grub-mkrescue.in: New file.
19818 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
19819 * Makefile.in: Handle bin_SCRIPTS.
19821 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
19823 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
19824 list of video modes.
19826 2007-06-06 Robert Millan <rmh@aybabtu.com>
19828 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
19829 file doesn't exist, or if it is in a filesystem grub can't read.
19831 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
19832 not abort if GRUB_DRIVE could not be defined. Rearrange generated
19833 header comment to fit in 80 columns when the variables are resolved.
19835 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
19836 could be identified by update-grub. Remove redundant check for
19837 unifont.pff existence (since convert_system_path_to_grub_path now
19840 2007-06-04 Robert Millan <rmh@aybabtu.com>
19842 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
19844 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
19846 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
19848 2007-06-04 Robert Millan <rmh@aybabtu.com>
19850 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
19852 * include/grub/partition.h: Declare grub_apple_partition_map_init and
19853 grub_apple_partition_map_fini.
19856 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
19857 to access >2 TiB disks).
19859 Print disk->total_sectors with %llu instead of %lu, since this
19860 variable is always 64-bit (prevents wrong disk size from being displayed
19861 on either >2 TiB disk or big-endian CPU).
19863 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
19864 into a generic case that supports all (sane) partition maps.
19866 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
19869 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
19870 and grub_apple_partition_map_fini() after that.
19872 2007-06-01 Robert Millan <rmh@aybabtu.com>
19874 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
19876 * util/grub.d/00_header.in: Only enable gfxterm when
19877 convert_system_path_to_grub_path() succeeds.
19879 2007-05-20 Robert Millan <rmh@aybabtu.com>
19881 * util/update-grub_lib.in: New file.
19882 * DISTLIST: Add update-grub_lib.in.
19883 * conf/common.rmk: Generate update-grub_lib and install it in
19885 * Makefile.in: Add install routine for $(lib_DATA).
19887 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
19888 function provided by update-grub_lib to support arbitrary paths of
19890 * util/update-grub.in: Use convert_system_path_to_grub_path() to
19891 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
19893 2007-05-19 Robert Millan <rmh@aybabtu.com>
19895 * commands/i386/cpuid.c: New module.
19896 * DISTLIST: Add it.
19897 * conf/i386-efi.rmk: Enable cpuid.mod.
19898 * conf/i386-pc.rmk: Likewise.
19900 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
19902 * kern/disk.c (grub_disk_read): Check return value of
19905 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
19907 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
19909 * disk/raid.c (grub_raid_open): Likewise.
19911 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
19913 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
19914 stack instead of on the heap.
19916 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
19917 before doing a read on it.
19919 * configure.ac: Only use -fno-stack-protector for the target
19922 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
19924 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
19925 __attribute_ ((unused)) to mode_type argument.
19927 * util/getroot.c (grub_guess_root_device): Fix #endif.
19929 * kern/misc.c (memcmp): Fix prototype.
19931 * include/grub/partition.h [GRUB_UTIL]
19932 (grub_gpt_partition_map_init): Add prototype.
19933 (grub_gpt_partition_map_fini): Likewise.
19935 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
19936 at the right place.
19938 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
19939 (grub_fat_read_data): Likewise.
19940 (grub_fat_find_dir): Likewise.
19942 * font/manager.c (find_glyph): Make table a const.
19943 (grub_font_get_glyph): Remove bitmap from if statement.
19945 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
19947 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
19948 code, first search for device in /dev/mapper, then in /dev.
19949 (grub_util_get_grub_dev): New function.
19950 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
19952 * util/grub-probe.c (probe): Remove check for RAID, call
19953 grub_util_get_grub_dev() instead of
19954 grub_util_biosdisk_get_grub_dev().
19955 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
19956 grub_util_biosdisk_get_grub_dev().
19957 * util/i386/pc/grub-setup.c (main): Likewise.
19959 2007-05-16 Robert Millan <rmh@aybabtu.com>
19961 * DISTLIST: Update for the latest changes.
19962 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
19963 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
19964 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
19965 grub/util/biosdisk.h.
19966 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
19967 grub/util/biosdisk.h.
19969 2007-05-16 Robert Millan <rmh@aybabtu.com>
19971 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
19973 2007-05-16 Robert Millan <rmh@aybabtu.com>
19975 * util/i386/efi/grub-install.in: New.
19976 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
19977 newly added grub-install.
19978 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
19980 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
19981 grub/util/biosdisk.h.
19982 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
19983 grub/util/biosdisk.h.
19985 2007-05-16 Robert Millan <rmh@aybabtu.com>
19987 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
19988 * include/grub/util/biosdisk.h: ... here.
19989 * util/i386/pc/biosdisk.c: Moved to ...
19990 * util/biosdisk.c: ... here.
19991 * util/i386/pc/getroot.c: Moved to ...
19992 * util/getroot.c: ... here.
19993 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
19994 * util/grub-mkdevicemap.c: ... here.
19995 * util/i386/pc/grub-probe.c: Moved to ...
19996 * util/grub-probe.c: ... here.
19998 2007-05-15 Robert Millan <rmh@aybabtu.com>
20000 * util/update-grub.in: Remove duplicated line in grub.cfg header
20003 2007-05-13 Robert Millan <rmh@aybabtu.com>
20005 * util/update-grub.in: Fix a few assumptions about the devices holding
20006 /, /boot and /boot/grub being the same.
20007 * util/grub.d/00_header.in: Likewise.
20008 * util/grub.d/10_hurd.in: Likewise.
20009 * util/grub.d/10_linux.in: Likewise.
20011 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
20012 patterns. Use that to define the `.old' suffix as older than `'.
20014 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
20016 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
20017 the grub.cfg header message.
20019 2007-05-11 Robert Millan <rmh@aybabtu.com>
20021 * util/update-grub.in: Create device.map if it doesn't already exist,
20022 before attempting to run grub-probe.
20023 Check for grub-probe and grub-mkdevicemap with the same code
20024 grub-install is using.
20027 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
20029 * Makefile.in: Add the datarootdir autoconf variable.
20031 2007-05-09 Robert Millan <rmh@aybabtu.com>
20033 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
20034 fail gracefully if dev->disk->partition == NULL.
20036 2007-05-07 Robert Millan <rmh@aybabtu.com>
20038 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
20039 determine partition map module.
20040 * util/i386/pc/grub-install.in: Use this feature to decide which
20041 partition module to load, instead of hardcoding pc and gpt.
20043 2007-05-07 Robert Millan <rmh@aybabtu.com>
20045 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
20046 source directory differs from build directory.
20048 2007-05-05 Robert Millan <rmh@aybabtu.com>
20050 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
20053 2007-05-05 Robert Millan <rmh@aybabtu.com>
20055 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
20057 2007-05-05 Robert Millan <rmh@aybabtu.com>
20059 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
20060 command-line arguments via ${GRUB_CMDLINE_LINUX}.
20062 2007-05-05 Robert Millan <rmh@aybabtu.com>
20064 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
20065 (grub_probe_SOURCES): Likewise.
20066 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
20067 GPT and initialize dos_part and bsd_part accordingly.
20068 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
20070 (main): Activate gpt module for use during partition identification,
20071 and deactivate it afterwards.
20072 * util/i386/pc/grub-install.in: Add gpt module to core.img.
20073 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
20074 partition identification, and deactivate it afterwards.
20076 2007-05-05 Robert Millan <rmh@aybabtu.com>
20078 * term/i386/pc/console.c (grub_console_fini): Call
20079 grub_term_set_current() before grub_term_unregister().
20081 2007-05-04 Robert Millan <rmh@aybabtu.com>
20083 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
20084 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
20085 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
20086 and update-grub_DATA.
20087 * conf/common.rmk: Build and install update-grub components.
20088 * conf/common.mk: Regenerate.
20089 * util/update-grub.in: New. Core of update-grub.
20090 * util/grub.d/00_header.in: New. Generates grub.cfg header.
20091 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
20092 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
20093 * util/grub.d/README: New. Document grub.d directory layout.
20095 2007-05-01 Robert Millan <rmh@aybabtu.com>
20097 * util/grub-emu.c: Move initialization functions
20098 grub_util_biosdisk_init() and grub_init_all() before
20099 grub_util_biosdisk_get_grub_dev(), which relies on them.
20101 2007-04-19 Robert Millan <rmh@aybabtu.com>
20103 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
20106 2007-04-18 Jerone Young <jerone@gmail.com>
20108 * kernel/elf.c: Add missing parenthesis for conditional statement
20111 2007-04-10 Jerone Young <jerone@gmail.com>
20113 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
20114 continue on and look for device node with real device name.
20116 2007-04-10 Jerone Young <jerone@gmail.com>
20118 * configure.ac: Add argument for autoconf to use transformation
20120 * Makefile.in: Add autoconf package transformation code.
20121 * util/i386/pc/grub-install.in: Likewise.
20122 * util/powerpc/ieee1275/grub-install.in: Likewise.
20124 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
20126 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
20127 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
20128 (EXT2_REVISION): Likewise.
20129 (EXT2_INODE_SIZE): Likewise.
20130 (struct grub_ext2_block_group): Added a missing member
20132 (grub_ext2_read_inode): Divide by the inode size in a superblock
20133 instead of 128 to obtain INODES_PER_BLOCK.
20134 Use the macro EXT2_INODE_SIZE instead of directly using
20135 SBLOCK->INODE_SIZE.
20137 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
20139 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
20140 superblock instead of the structure size to compute an
20141 offset. This fixes the problem that GRUB could not read a
20142 filesystem when inode size is different from 128-byte.
20144 2007-03-05 Marco Gerards <marco@gnu.org>
20146 * normal/main.c (read_config_file): When "menu" is not set, create
20147 an initial context.
20149 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
20151 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
20152 (HEAP_LIMIT): New macro.
20153 (grub_claim_heap): Claim memory up to `heaplimit'.
20155 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
20157 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
20158 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
20159 (_start): Likewise.
20160 (grub_arch_modules_addr): Return address after `_end'.
20161 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
20162 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
20163 (add_segments): Calculate `_end' from phdr size and location.
20164 (ALIGN_UP): Moved to ...
20165 * include/grub/misc.h: here.
20166 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
20168 (GRUB_IEEE1275_MODULE_BASE): Removed.
20170 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
20172 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
20175 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
20177 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
20179 (grub_elf64_load_hook_t): Likewise.
20180 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
20183 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
20185 * kern/mm.c: Update copyright.
20186 (grub_mm_debug): Correct syntax error.
20187 (grub_mm_dump_free): New function.
20188 (grub_debug_free): Call `grub_free'.
20189 * include/grub/mm.h: Update copyright.
20190 (grub_mm_dump_free): Add declaration.
20192 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
20194 * include/grub/ieee1275/ieee1275.h: Update copyright.
20195 * kern/powerpc/ieee1275/init.c: Likewise.
20196 * kern/powerpc/ieee1275/openfw.c: Likewise.
20198 * loader/powerpc/ieee1275/linux.c: Likewise.
20199 * include/grub/elfload.h: Likewise.
20200 * kern/elf.c: Likewise.
20201 (grub_elf32_load): Pass `base' and `size' parameters. Update all
20203 (grub_elf64_load): Likewise.
20204 (grub_elf32_load_segment): Move to a nested function.
20205 (grub_elf64_load_segment): Likewise.
20207 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
20209 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
20211 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
20212 (grub_heap_len): Likewise.
20213 (HEAP_SIZE): New macro.
20214 (grub_claim_heap): New function.
20215 (grub_machine_init): Don't claim heap directly. Call
20217 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
20218 (grub_available_iterate): New function.
20220 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
20222 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
20223 * configure.ac: Use it for testing the HOST and TARGET compilers.
20225 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
20227 * Makefile.in (enable_grub_emu): New variable.
20228 * configure.ac (--enable-grub-emu): New option.
20229 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
20230 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
20231 * conf/i386-pc.rmk: Likewise.
20232 * conf/powerpc-ieee1275.rmk: Likewise.
20233 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
20235 2006-12-12 Marco Gerards <marco@gnu.org>
20237 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
20239 * kern/env.c (grub_env_unset): Don't free the member `value' when
20240 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
20243 * normal/main.c (current_menu): Removed.
20244 (free_menu): Unset the `menu' environment variable.
20245 (grub_normal_menu_addentry): Make use of the environment variable
20246 `menu', instead of using the global `current_menu'. Allocate
20247 memory for the sourcecode of this entry.
20248 (read_config_file): New argument `nested', changed all callers.
20249 Only in the case of a new context, initialize a new menu. Set the
20250 `menu' environment variable.
20251 (grub_normal_execute): Don't set and unset the environment
20252 variable `menu' here anymore. Only free the menu when leaving the
20255 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
20258 2006-12-11 Marco Gerards <marco@gnu.org>
20260 * normal/menu_entry.c (run): Fix off by one bug so the last line
20261 is executed. Move the loader check to outside the loop.
20263 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
20265 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
20267 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
20269 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
20270 the number of sectors. Reported by Andrey Shuvikov
20271 <mr_hyro@yahoo.com>.
20273 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
20275 * kern/disk.c (grub_disk_read): When there is a read error, always
20276 try to read only the necessary data.
20278 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
20280 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
20282 [GRUB_UTIL] (grub_raid_fini): Likewise.
20283 [GRUB_UTIL] (grub_lvm_init): Likewise.
20284 [GRUB_UTIL] (grub_lvm_fini): Likewise.
20285 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
20286 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
20287 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
20288 and grub_raid_fini().
20290 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
20292 * include/grub/types.h (__unused): Rename to UNUSED.
20293 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
20294 (grub_elf64_size): Likewise.
20296 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
20298 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
20299 grub_error_push and grub_error_pop in the error-handling path.
20300 (grub_elf32_load_segment): Only call grub_file_read with non-zero
20303 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
20305 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
20306 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20308 (kernel_elf_SOURCES): Likewise.
20309 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
20310 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
20311 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
20312 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
20313 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
20314 (elf_mod_SOURCES): New variable.
20315 (elf_mod_CFLAGS): Likewise.
20316 (elf_mod_LDFLAGS): Likewise.
20317 * include/grub/types.h (__unused): New macro.
20318 * include/grub/elfload.h: New file.
20319 * kern/elf.c: Likewise.
20320 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
20321 (ELF32_LOADMASK): New macro.
20322 (ELF64_LOADMASK): Likewise.
20323 (vmlinux): Removed.
20324 (grub_linux_load32): New function.
20325 (grub_linux_load64): Likewise.
20326 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
20327 Use grub_elf_t instead of grub_file_t.
20329 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
20331 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
20332 `catch_result' to struct set_color_args.
20334 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
20336 * normal/menu.c: Include grub/script.h.
20337 * normal/menu_entry.c: Likewise.
20338 * include/grub/normal.h: Do not include grub/script.h.
20340 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
20342 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
20344 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
20346 * kern/disk.c (grub_disk_open): Print debug messages when opening a
20348 (grub_disk_close): Print debug messages when closing a disk.
20349 (grub_disk_read): Print debug messages when disk read fails.
20350 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
20352 * kern/partition.c: Include misc.h.
20353 (grub_partition_iterate): Print debug messages when detecting
20356 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
20358 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
20360 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
20362 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
20364 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
20365 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
20367 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
20369 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
20370 instead of sizeof(lv). Patch by Michael Guntsche.
20372 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
20374 * disk/lvm.c: Rename VGS to VG_LIST.
20375 (grub_lvm_iterate): Change VGS->LV to VG-LV.
20376 (grub_lvm_open): Likewise.
20377 Thanks to Michael Guntsche for finding this bug.
20379 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20381 * configure.ac (AC_INIT): Bumped to 1.95.
20383 2006-10-14 Robert Millan <rmh@aybabtu.com>
20385 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
20386 with "/dev/.static/dev/md".
20388 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
20390 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
20391 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
20392 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
20393 DRIVE_NAME are always freed.
20395 * util/i386/pc/biosdisk.c (make_device_name): Add one into
20396 DOS_PART, as a DOS partition is counted from one instead of zero
20397 now. Reported by Robert Millan.
20399 2006-10-14 Robert Millan <rmh@aybabtu.com>
20401 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
20402 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
20403 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
20404 string returned by grub_guess_root_device.
20405 * util/i386/pc/grub-setup.c: Likewise.
20406 * util/i386/pc/grub-probefs.c: Likewise.
20408 * util/i386/pc/grub-probefs.c: Rename to ...
20409 * util/i386/pc/grub-probe.c: ... this.
20410 * DISTLIST: Remove grub-probefs, add grub-probe.
20411 * conf/i386-efi.rmk: Likewise.
20412 * conf/i386-pc.rmk: Likewise.
20413 * util/i386/pc/grub-install.in: Likewise.
20415 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
20416 choose which information we want to print.
20418 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
20420 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
20421 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
20422 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
20423 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
20424 video/readers/tga.c and video/i386/pc/vbeutil.c.
20426 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
20428 Added support for RAID and LVM.
20430 * disk/lvm.c: New file.
20431 * disk/raid.c: Likewise.
20432 * include/grub/lvm.h: Likewise.
20433 * include/grub/raid.h: Likewise.
20434 * include/grub/util/lvm.h: Likewise.
20435 * include/grub/util/raid.h: Likewise.
20436 * util/lvm.c: Likewise.
20437 * util/raid.c: Likewise.
20439 * include/grub/disk.h (grub_disk_dev_id): Add
20440 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
20441 (grub_disk_get_size): New prototype.
20442 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
20443 returns a partition.
20444 (grub_disk_get_size): New function.
20446 * kern/i386/pc/init.c (make_install_device): Copy the prefix
20447 verbatim if grub_install_dos_part is -2.
20449 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
20452 * util/i386/pc/grub-setup.c (setup): New argument
20453 MUST_EMBED. Force embedding of GRUB when the argument is
20454 true. Close FILE before returning.
20455 (main): Add support for RAID and LVM.
20457 * conf/common.rmk: Add RAID and LVM modules.
20458 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
20460 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
20462 * kern/misc.c (grub_strstr): New function.
20463 * include/grub/misc.h (grub_strstr): New prototype.
20465 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
20467 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
20469 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
20471 * kern/misc.c (grub_strtoull): Guess the base only if not
20474 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
20476 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
20479 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
20481 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
20483 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
20484 Remove `flags' argument. All callers changed.
20485 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
20486 (IEEE1275_IHANDLE_INVALID): New variable.
20487 (IEEE1275_CELL_INVALID): New variable.
20488 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
20489 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
20490 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
20491 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
20492 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
20493 codes from Open Firmware. All callers updated.
20494 (grub_ieee1275_next_property): Directly return Open Firmware return
20496 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
20497 Standardize error checking from `grub_ieee1275_get_property'.
20498 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
20499 `devalias' to `aliases'. Correct comments. Consolidate error paths.
20501 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
20503 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
20504 `instance_to_package_args' to `instance_to_path_args'.
20506 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
20507 `grub_ieee1275_chosen'.
20509 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
20510 `grub_ieee1275_interpret'.
20512 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
20514 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
20516 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
20518 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
20519 (__cmpdi): Likewise.
20521 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
20522 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
20525 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
20527 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
20528 to type `grub_ssize_t'.
20529 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
20531 2006-09-22 Marco Gerards <marco@gnu.org>
20533 * normal/script.c (grub_script_create_cmdmenu): Skip leading
20536 2006-09-22 Marco Gerards <marco@gnu.org>
20538 * commands/echo.c: New file.
20540 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
20542 * conf/common.rmk (echo_mod_SOURCES): New variable.
20543 (echo_mod_CFLAGS): Likewise.
20544 (echo_mod_LDFLAGS): Likewise.
20546 2006-09-22 Marco Gerards <marco@gnu.org>
20548 * normal/main.c (get_line): Malloc memory instead of using
20549 preallocated memory. Removed the arguments `cmdline' and
20550 `max_len'. Updated all callers.
20552 2006-09-22 Marco Gerards <marco@gnu.org>
20554 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
20555 (normal_mod_DEPENDENCIES): Likewise.
20557 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
20558 (normal_mod_DEPENDENCIES): Likewise.
20560 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
20562 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
20564 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
20566 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
20567 (normal_mod_DEPENDENCIES): Likewise.
20568 * conf/i386-pc.mk: Regenerate.
20569 * conf/i386-efi.mk: Likewise
20570 * conf/common.mk: Likewise.
20571 * conf/powerpc-ieee1275.mk: Likewise.
20572 * conf/sparc64-ieee1275.mk: Likewise.
20574 2006-09-22 Robert Millan <rmh@aybabtu.com>
20576 Sync with i386 version.
20577 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
20578 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
20580 2006-09-21 Robert Millan <rmh@aybabtu.com>
20582 Import from GRUB Legacy (lib/device.c):
20583 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
20584 (init_device_map) [__linux__]: Add support for I2O devices.
20586 2006-09-14 Marco Gerards <marco@gnu.org>
20588 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
20591 2006-09-14 Robert Millan <rmh@aybabtu.com>
20593 * util/i386/pc/grub-install.in: Skip menu.lst when removing
20596 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
20598 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
20599 before adding it to device.map.
20601 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
20603 * genmk.rb: Let GCC generate dependencies the first time it
20604 compiles a file; using the -MD option.
20605 * conf/common.mk: Regenerate.
20606 * conf/i386-pc.mk: Likewise.
20607 * conf/i386-efi.mk: Likewise.
20608 * conf/powerpc-ieee1275.mk: Likewise.
20609 * conf/sparc64-ieee1275.mk: Likewise.
20611 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
20613 Move the prototypes of grub_setjmp and grub_longjmp to
20614 cpu/setjmp.h, so that each architecture may specify different
20617 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
20618 (grub_longjmp): Likewise.
20619 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
20620 (grub_longjmp): Likewise.
20621 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
20622 (grub_longjmp): Likewise.
20624 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
20625 [!GRUB_UTIL] (grub_longjmp): Removed.
20627 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
20629 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
20630 "color!" method does not return any value.
20632 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
20634 * include/grub/bitmap.h: New file.
20636 * include/grub/i386/pc/vbeutil.h: Likewise.
20638 * video/bitmap.c: Likewise.
20640 * video/readers/tga.c: Likewise.
20642 * video/i386/pc/vbeutil.c: Likewise.
20644 * commands/videotest.c: Code cleanup and updated to reflect to new
20647 * term/gfxterm.c: Likewise.
20649 * video/video.c: Likewise.
20651 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
20652 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
20653 (bitmap_mod_SOURCES): New entry.
20654 (bitmap_mod_CFLAGS): Likewise.
20655 (bitmap_mod_LDFLAGS): Likewise.
20656 (tga_mod_SOURCES): Likewise.
20657 (tga_mod_CFLAGS): Likewise.
20658 (tga_mod_LDFLAGS): Likewise.
20660 * include/grub/video.h (grub_video_blit_operators): New enum type.
20661 (grub_video_render_target): Changed as forward declaration and moved
20662 actual definition to be video driver specific.
20663 (grub_video_adapter.blit_bitmap): Added blitting operator.
20664 (grub_video_adapter.blit_render_target): Likewise.
20665 (grub_video_blit_bitmap): Likewise.
20666 (grub_video_blit_render_target): Likewise.
20668 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
20669 driver specific render target definition.
20670 (grub_video_vbe_map_rgba): Added driver internal helper.
20671 (grub_video_vbe_unmap_color): Updated to use
20672 grub_video_i386_vbeblit_info.
20673 (grub_video_vbe_get_video_ptr): Likewise.
20675 * include/grub/i386/pc/vbeblit.h
20676 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
20677 grub_video_i386_vbeblit_info.
20678 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
20679 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
20680 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
20681 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
20682 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
20683 (grub_video_i386_vbeblit_index_index): Likewise.
20684 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
20685 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
20686 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
20687 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
20689 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
20692 * video/i386/pc/vbeblit.c: Updated to reflect changes on
20693 include/grub/i386/pc/vbeblit.h.
20695 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
20696 Updated to use grub_video_i386_vbeblit_info.
20697 (grub_video_i386_vbefill_R8G8B8): Likewise.
20698 (grub_video_i386_vbefill_index): Likewise.
20699 (grub_video_i386_vbefill): Added generic filler.
20701 * video/i386/pc/vbefill.c: Updated to reflect changes on
20702 include/grub/i386/pc/vbefill.h.
20704 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
20705 grub_video_i386_vbeblit_info.
20706 (grub_video_vbe_unmap_color): Likewise.
20707 (grub_video_vbe_blit_glyph): Likewise.
20708 (grub_video_vbe_scroll): Likewise.
20709 (grub_video_vbe_draw_pixel): Removed function.
20710 (grub_video_vbe_get_pixel): Likewise.
20711 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
20712 updated code to use it.
20713 (common_blitter): Added common blitter for render target and bitmap.
20714 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
20715 (grub_video_vbe_blit_render_target): Likewise.
20717 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
20719 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
20720 is in text mode if there is no console control protocol instance
20723 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
20725 * include/grub/video.h: Code cleanup.
20727 * include/grub/i386/pc/vbe.h: Likewise.
20729 * video/i386/pc/vbe.c: Likewise.
20731 * video/i386/pc/vbeblit.c: Likewise.
20733 * video/i386/pc/vbefill.c: Likewise.
20735 * video/video.c: Likewise. Also added more comments.
20737 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
20739 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
20740 (struct grub_biosdisk_dap): Likewise.
20742 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
20743 linkage settings for all functions.
20745 2006-07-12 Marco Gerards <marco@gnu.org>
20747 * configure.ac (--enable-mm-debug): Fix typo.
20749 * genkernsyms.sh.in: Use proper quoting for `CC'.
20751 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
20753 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
20754 (normal_mod_ASFLAGS): Remove "-m32".
20756 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
20758 * util/misc.c: Include config.h.
20759 [!HAVE_MEMALIGN]: Do not include malloc.h.
20760 (grub_memalign): Use posix_memalign, if present. Then, use
20761 memalign, if present. Otherwise, emit an error.
20763 * util/grub-emu.c: Do not include malloc.h.
20765 * include/grub/util/misc.h: Include unistd.h. This is required for
20766 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
20767 D. Eades III <hde@foobar-qux.org>.
20769 * configure.ac (AC_GNU_SOURCE): Added.
20770 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
20773 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
20775 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
20776 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
20778 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
20780 * include/grub/types.h (grub_host_addr_t): Rename to
20781 grub_target_addr_t.
20782 (grub_host_off_t): Rename to grub_target_off_t.
20783 (grub_host_size_t): Rename to grub_target_size_t.
20784 (grub_host_ssize_t): Rename to grub_target_ssize_t.
20785 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
20787 * include/grub/kernel.h (struct grub_module_header): Change type
20788 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
20789 (grub_module_info): Likewise.
20791 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
20793 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
20794 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
20795 Velazquez <jesus.velazquez@gmail.com>.
20797 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
20799 Count partitions from 1 instead of 0 in the string representation
20800 of partitions. Still use 0-based internally.
20802 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
20803 (sun_partition_map_iterate): Use grub_partition_t instead of
20804 struct grub_partition *. Cast DESC->START_CYLINDER to
20805 grub_uint64_t after converting the endian.
20806 (sun_partition_map_probe): Subtract 1 for PARTNUM.
20807 (sun_partition_map_get_name): Add 1 to P->INDEX.
20809 * partmap/pc.c (grub_partition_parse): Subtract 1 for
20811 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
20813 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
20814 zero instead of one.
20815 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
20816 (gpt_partition_map_get_name): Add 1 into P->INDEX.
20818 * partmap/apple.c (apple_partition_map_iterate): Change the type
20819 of POS to unsigned.
20820 (apple_partition_map_probe): Subtract 1 for PARTNUM.
20821 (apple_partition_map_get_name): Add 1 into P->INDEX.
20823 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
20824 of POS to unsigned.
20825 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
20826 calculate the offset of a partition.
20827 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
20828 (amiga_partition_map_get_name): Add 1 into P->INDEX.
20830 * partmap/acorn.c (acorn_partition_map_find): Change the type of
20831 SECTOR to grub_disk_addr_t.
20832 (acorn_partition_map_iterate): Likewise.
20833 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
20834 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
20836 (acorn_partition_map_get_name): Add 1 into P->INDEX.
20838 * kern/i386/pc/init.c (make_install_device): Add 1 into
20839 GRUB_INSTALL_DOS_PART.
20841 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
20844 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
20846 Clean up the code to support 64-bit addressing in disks and
20847 files. This change is not enough for filesystems yet.
20849 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
20850 type of "start" to grub_uint64_t.
20851 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
20852 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
20853 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
20856 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
20857 to grub_disk_addr_t.
20859 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
20862 * partmap/pc.c (pc_partition_map_iterate): Likewise.
20864 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
20867 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
20869 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
20871 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
20873 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
20874 to grub_off_t, to detect an error from grub_file_seek.
20875 (grub_multiboot_load_elf32): Likewise.
20877 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
20878 maximum unsigned long value when an overflow is detected.
20879 (grub_strtoull): New function.
20880 (grub_divmod64): Likewise.
20881 (grub_lltoa): use grub_divmod64.
20883 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
20885 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
20886 the pointer to next character. Use grub_strtoull instead of
20888 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
20889 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
20892 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
20893 return value is signed.
20894 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
20895 test if OFFSET is less than zero, as OFFSET is unsigned now.
20897 * kern/disk.c (struct grub_disk_cache): Change the type of
20898 "sector" to grub_disk_addr_t.
20899 (grub_disk_cache_get_index): Change the type of SECTOR to
20900 grub_disk_addr_t. Calculate the hash with SECTOR casted to
20901 unsigned after shifting.
20902 (grub_disk_cache_invalidate): Change the type of SECTOR to
20904 (grub_disk_cache_unlock): Likewise.
20905 (grub_disk_cache_store): Likewise.
20906 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
20907 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
20908 grub_disk_addr_t and grub_uint64_t, respectively.
20909 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
20910 body, as the value of OFFSET is tweaked by
20911 grub_disk_check_range. Change the types of START_SECTOR, LEN and
20912 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
20914 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
20915 body, as the value of OFFSET is tweaked by
20916 grub_disk_check_range. Change the types of LEN and N to
20919 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
20920 and "saved_offset" to grub_off_t.
20921 (test_header): Cast BUF to char *.
20922 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
20924 (grub_gzio_read): Change the types of OFFSET and SIZE to
20925 grub_off_t and grub_size_t, respectively.
20927 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
20929 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
20930 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
20931 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
20932 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
20933 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
20935 * include/grub/types.h (grub_off_t): Unconditionally set to
20937 (grub_disk_addr_t): Changed to grub_uint64_t.
20939 * include/grub/partition.h (struct grub_partition): Change the
20940 types of "start", "len" and "offset" to grub_disk_addr_t,
20941 grub_uint64_t and grub_disk_addr_t, respectively.
20942 (grub_partition_get_start): Return grub_disk_addr_t.
20943 (grub_partition_get_len): Return grub_uint64_t.
20945 * include/grub/misc.h (grub_strtoull): New prototype.
20946 (grub_divmod64): Likewise.
20948 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
20949 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
20950 grub_off_t, respectively.
20951 All callers and references changed.
20953 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
20954 grub_size_t in "read".
20955 All callers and references changed.
20957 * include/grub/file.h (struct grub_file): Change the types of
20958 "offset" and "size" to grub_off_t and grub_off_t,
20959 respectively. Change the type of SECTOR to grub_disk_addr_t in
20961 (grub_file_read): Change the type of LEN to grub_size_t.
20962 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
20964 (grub_file_size): Return grub_off_t.
20965 (grub_file_tell): Likewise.
20966 All callers and references changed.
20968 * include/grub/disk.h (struct grub_disk_dev): Change the types of
20969 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
20971 (struct grub_disk): Change the type of "total_sectors" to
20972 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
20974 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
20975 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
20976 (grub_disk_write): Likewise.
20977 All callers and references changed.
20979 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
20980 char * for grub_strncmp to silence gcc.
20981 (grub_iso9660_mount): Likewise.
20982 (grub_iso9660_mount): Likewise.
20983 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
20985 (grub_iso9660_iterate_dir): Likewise.
20986 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
20988 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
20989 LEN to grub_disk_addr_t and grub_size_t, respectively.
20991 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
20993 * fs/jfs.c (grub_jfs_read_file): Likewise.
20995 * fs/minix.c (grub_jfs_read_file): Likewise.
20997 * fs/sfs.c (grub_jfs_read_file): Likewise.
20999 * fs/ufs.c (grub_jfs_read_file): Likewise.
21001 * fs/xfs.c (grub_jfs_read_file): Likewise.
21003 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
21004 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
21007 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
21008 BLKNR to -1 instead of returning GRUB_ERRNO.
21009 (grub_ext2_read_file): Change the types of SECTOR and
21010 LEN to grub_disk_addr_t and grub_size_t, respectively.
21012 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
21013 LEN to grub_disk_addr_t and grub_size_t, respectively.
21015 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
21018 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
21019 string. Do not cast SECTOR explicitly.
21021 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
21022 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
21023 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
21024 grub_disk_addr_t and grub_size_t, respectively. If the sector is
21025 over 2TB and LBA mode is not supported, raise an error.
21026 (get_safe_sectors): New function.
21027 (grub_biosdisk_read): Use get_safe_sectors.
21028 (grub_biosdisk_write): Likewise.
21030 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
21031 (grub_efidisk_write): Likewise.
21033 * disk/loopback.c (delete_loopback): Cosmetic changes.
21034 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
21036 (grub_loopback_open): Likewise.
21037 (grub_loopback_read): Likewise. Also, change the type of POS to
21038 grub_off_t, and fix the usage of grub_memset.
21040 * commands/i386/pc/play.c: Include grub/machine/time.h.
21042 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
21045 * commands/configfile.c: Include grub/env.h.
21047 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
21048 GRUB_ERRNO directly instead. Change the type of POS to
21049 grub_off_t. Follow the coding standard.
21051 * commands/blocklist.c: Include grub/partition.h.
21052 (grub_cmd_blocklist): Return an error if the underlying device is
21053 not a disk. Take the starting sector of a partition into account,
21054 if a partition is used.
21056 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
21058 (lba_mode): Support 64-bit addresses.
21059 (chs_mode): Likewise.
21060 (copy_buffer): Adapted to the new offsets of a length field and a
21062 (blocklist_default_start): Allocate 64-bit space.
21064 * boot/i386/pc/boot.S (force_lba): Removed.
21065 (boot_drive): Moved to under KERNEL_SECTOR.
21066 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
21068 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
21070 (lba_mode): Refactored to support a 64-bit address. More size
21072 (setup_sectors): Likewise.
21074 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
21076 * DISTLIST: Added include/grub/i386/linux.h. Removed
21077 include/grub/i386/pc/linux.h
21079 * configure.ac (AC_INIT): Bumped to 1.94.
21081 * config.guess: Updated from gnulib.
21082 * config.sub: Likewise.
21083 * install-sh: Likewise.
21084 * mkinstalldirs: Likewise.
21086 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
21088 * conf/common.rmk (grub_modules_init.lst): Depended on
21089 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
21092 * genmk.rb (PModule::rule): Reverted the previous change.
21094 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
21096 * conf/common.rmk (grub_modules_init.lst): Depends on
21097 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
21098 that the target does not exist before producing.
21099 (grub_modules_init.h): Remove the target before generating.
21100 (grub_emu_init.c): Likewise.
21102 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
21104 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
21106 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
21107 for the target-specific tests. Make sure that we also have the
21108 up-to-date target variables for those tests.
21110 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
21112 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
21113 (PModule::rule): Likewise.
21115 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
21117 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
21118 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
21119 target-specific flags should be prefixed.
21120 (PModule::rule): Likewise.
21122 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
21124 * configure.ac (CMP): Check if cmp is available explicitly.
21126 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
21128 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
21129 (target_cpu): New variable.
21130 (pkglibdir): Use target_cpu instead of host_cpu.
21132 * util/i386/pc/grub-install.in (host_cpu): Removed.
21133 (target_cpu): New variable.
21134 (pkglibdir): Use target_cpu instead of host_cpu.
21136 * util/genmoddep.c: Removed.
21138 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
21139 instead of GRUB_HOST_SIZEOF_VOID_P.
21140 * kern/dl.c: Likewise.
21142 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
21144 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
21145 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
21146 (GRUB_TARGET_SIZEOF_LONG): ... this.
21147 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
21148 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
21149 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
21151 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
21152 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
21153 (GRUB_TARGET_SIZEOF_LONG): ... this.
21154 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
21155 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
21156 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
21158 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
21159 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
21160 (GRUB_TARGET_SIZEOF_LONG): ... this.
21161 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
21162 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
21164 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
21165 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
21166 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
21167 instead of GRUB_HOST_SIZEOF_LONG.
21168 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
21169 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
21170 GRUB_CPU_WORDS_BIGENDIAN.
21171 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
21172 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
21175 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
21176 (genmoddep_SOURCES): Likewise.
21177 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
21178 (genmoddep_SOURCES): Likewise.
21179 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
21180 (genmoddep_SOURCES): Likewise.
21181 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
21183 (genmoddep_SOURCES): Likewise.
21185 * genmoddep.awk: New file.
21187 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
21188 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
21189 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
21190 (PModule::rule): Likewise.
21191 (Program::rule): Likewise.
21192 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
21193 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
21196 * configure.ac: Rewritten intensively to use host and target
21197 instead of build and host, respectively.
21199 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
21200 (host_cpu): Removed.
21201 (target_cpu): New variable.
21202 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
21203 (BUILD_CC): Removed.
21204 (BUILD_CFLAGS): Likewise.
21205 (BUILD_CPPFLAGS): Likewise.
21206 (TARGET_CC): New variable.
21207 (TARGET_CFLAGS): Likewise.
21208 (TARGET_CPPFLAGS): Likewise.
21209 (TARGET_LDFLAGS): Likewise.
21211 (include): Use target_cpu instead of host_cpu.
21212 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
21214 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
21216 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
21218 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
21219 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
21220 field 'false' to 'exec_on_false'.
21221 (grub_script_create_cmdif): Renamed argument names to reflect above
21224 * normal/execute.c (grub_script_execute_cmdif): Likewise.
21226 * normal/script.c (grub_script_create_cmdif): Likewise.
21228 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
21230 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
21232 (grub_hfsplus_btree_recptr): Likewise.
21233 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
21234 FILEBLOCK both to pass a block number and store next block
21236 (grub_hfsplus_read_block): Rewritten heavily to support an extent
21237 overflow file correctly. Specify errors appropriately, because
21238 fshelp expects that GRUB_ERRNO is set when fails. Reuse
21239 grub_hfsplus_btree_recptr to get the pointer to a found key.
21240 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
21243 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
21245 (_linux_mod_SOURCES): New variable.
21246 (_linux_mod_CFLAGS): Likewise.
21247 (_linux_mod_LDFLAGS): Likewise.
21248 (linux_mod_SOURCES): Likewise.
21249 (linux_mod_CFLAGS): Likewise.
21250 (linux_mod_LDFLAGS): Likewise.
21252 * DISTLIST: Added loader/i386/efi/linux.c,
21253 loader/i386/efi/linux_normal.c and
21254 include/grub/i386/efi/loader.h.
21256 * loader/i386/efi/linux.c: New file.
21257 * loader/i386/efi/linux_normal.c: Likewise.
21258 * include/grub/i386/efi/loader.h: Likewise.
21260 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
21262 * commands/blocklist.c: New file.
21264 * DISTLIST: Added commands/blocklist.c.
21266 * term/efi/console.c (grub_console_highlight_color): Use a lighter
21267 color for the background, and a darker color for the foreground.
21268 (grub_console_checkkey): Return READ_KEY.
21269 (grub_console_cls): Set the background to
21270 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
21272 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
21274 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
21275 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
21277 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
21280 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
21281 BG. The spec is wrong again.
21283 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
21285 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
21287 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
21288 commands/blocklist.c.
21289 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21291 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
21292 (blocklist_mod_SOURCES): New variable.
21293 (blocklist_mod_CFLAGS): Likewise.
21294 (blocklist_mod_LDFLAGS): Likewise.
21296 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
21298 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
21300 (lba_mode): Use %eax more intensively to reduce the code size.
21302 2006-05-20 Marco Gerards <marco@gnu.org>
21304 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
21306 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
21308 (script): Accept leading newlines.
21309 (newlines): New rule to describe 0 or more newlines.
21310 (commands): Accept `command' with trailing newline. Fixed the
21311 order in which arguments were passed to `grub_script_add_cmd'.
21312 Accept commands separated by newlines.
21313 (function): Changed to accept newlines.
21314 (menuentry) Rewritten.
21316 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
21317 front of the list, instead of to the end.
21319 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
21321 * util/i386/pc/grub-install.in (bindir): New variable.
21322 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
21323 Shaver <lbgwjl@gmail.com>.
21325 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
21327 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
21328 grub/machine/linux.h
21329 * loader/i386/pc/linux.c: Likewise.
21331 * include/grub/i386/pc/linux.h: Moved to ...
21332 * include/grub/i386/linux.h: ... here.
21334 * include/grub/i386/linux.h (struct linux_kernel_params): New
21337 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
21339 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
21341 (grub_video_vbe_blit_glyph): Likewise.
21342 (grub_video_vbe_blit_bitmap): Likewise.
21343 (grub_video_vbe_blit_render_target): Likewise.
21345 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
21347 * configure.ac (--with-platform): Properly quote the square
21350 2006-05-08 Marco Gerards <marco@gnu.org>
21352 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
21354 (kernel_elf_HEADERS): ...to this. Updated all users.
21355 (grubof_symlist.c): Renamed from this...
21356 (kernel_elf_symlist.c): ...to this. Updated all users.
21357 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
21358 (grubof_SOURCES): Renamed from this...
21359 (kernel_elf_SOURCES): ...to this.
21360 (grubof_HEADERS): Renamed from this...
21361 (kernel_elf_HEADERS): ...to this.
21362 (grubof_CFLAGS): Renamed from this...
21363 (kernel_elf_CFLAGS): ...to this.
21364 (grubof_ASFLAGS): Renamed from this...
21365 (kernel_elf_ASFLAGS): ...to this.
21366 (grubof_LDFLAGS): Renamed from this...
21367 (kernel_elf_LDFLAGS): ...to this.
21369 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
21371 (kernel_elf_HEADERS): ...to this. Updated all users.
21372 (grubof_symlist.c): Renamed from this...
21373 (kernel_elf_symlist.c): ...to this. Updated all users.
21374 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
21375 (grubof_SOURCES): Renamed from this...
21376 (kernel_elf_SOURCES): ...to this.
21377 (grubof_HEADERS): Renamed from this...
21378 (kernel_elf_HEADERS): ...to this.
21379 (grubof_CFLAGS): Renamed from this...
21380 (kernel_elf_CFLAGS): ...to this.
21381 (grubof_ASFLAGS): Renamed from this...
21382 (kernel_elf_ASFLAGS): ...to this.
21383 (grubof_LDFLAGS): Renamed from this...
21384 (kernel_elf_LDFLAGS): ...to this.
21386 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
21387 `kernel.elf' instead of `grubof'.
21389 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
21391 Add --with-platform to configure. Use pkglibdir instead of
21392 pkgdatadir. This is reported by Roger Leigh.
21394 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
21395 (host_vendor): Likewise.
21396 (host_os): Likewise.
21397 (pkgdatadir): Likewise.
21398 (platform): New variable.
21399 (pkglibdir): Likewise.
21400 Use PKGLIBDIR instead of PKGDATADIR.
21402 * util/i386/pc/grub-install.in (datadir): Removed.
21403 (host_vendor): Likewise.
21404 (host_os): Likewise.
21405 (pkgdatadir): Likewise.
21406 (platform): New variable.
21407 (pkglibdir): Likewise.
21408 Use PKGLIBDIR instead of PKGDATADIR.
21410 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
21411 instead of GRUB_DATADIR.
21413 * util/i386/pc/grub-mkimage.c (usage): Likewise.
21415 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21418 * configure.ac (--with-platform): New option.
21419 Use PLATFORM instead of HOST_VENDOR to specify a platform.
21421 * Makefile.in: Include a makefile based on PLATFORM instead of
21423 (pkgdatadir): Not appended by the machine type.
21424 (pkglibdir): Appended by the machine type.
21425 (host_vendor): Removed.
21426 (platform): New variable.
21427 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
21428 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
21429 (uninstall): Likewise.
21431 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
21433 Use the environment context in the menu. Remove the commands
21434 "default" and "timeout", and use variables instead.
21436 * normal/menu.c: Include grub/env.h.
21437 (print_entry): Cast TITLE to silence gcc.
21438 (get_timeout): New function.
21439 (set_timeout): Likewise.
21440 (get_entry_number): Likewise.
21441 (run_menu): Use a default entry, a fallback entry and a timeout
21442 in the environment variables "default", "fallback" and
21443 "timeout". Also, tweak the default entry if it is not within the
21444 current menu entries.
21445 (grub_menu_run): Use a fallback entry in the environment variable
21448 * normal/main.c (read_config_file): Do not initialize
21449 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
21451 (grub_normal_execute): Use a data slot to store the menu.
21453 * include/grub/normal.h (struct grub_menu): Removed default_entry,
21454 fallback_entry and timeout.
21455 (struct grub_menu_list): Removed.
21456 (grub_menu_list_t): Likewise.
21457 (struct grub_context): Likewise.
21458 (grub_context_t): Likewise.
21459 (grub_context_get): Likewise.
21460 (grub_context_get_current_menu): Likewise.
21461 (grub_context_push_menu): Likewise.
21462 (grub_context_pop_menu): Likewise.
21463 (grub_default_init): Likewise.
21464 (grub_default_fini): Likewise.
21465 (grub_timeout_init): Likewise.
21466 (grub_timeout_fini): Likewise.
21468 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
21470 (normal_mod_SOURCES): Removed normal/context.c.
21472 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
21473 commands/default.c, commands/timeout.c and normal/context.c.
21474 (normal_mod_SOURCES): Removed normal/context.c.
21476 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
21477 commands/timeout.c and normal/context.c.
21478 (normal_mod_SOURCES): Removed normal/context.c.
21480 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
21481 commands/default.c, commands/timeout.c and normal/context.c.
21482 (normal_mod_SOURCES): Removed normal/context.c.
21484 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
21486 (default_mod_SOURCES): Removed.
21487 (default_mod_CFLAGS): Likewise.
21488 (default_mod_LDFLAGS): Likewise.
21489 (timeout_mod_SOURCES): Removed.
21490 (timeout_mod_CFLAGS): Likewise.
21491 (timeout_mod_LDFLAGS): Likewise.
21493 * DISTLIST: Removed commands/default.c, commands/timeout.c and
21496 * commands/default.c: Removed.
21497 * commands/timeout.c: Likewise.
21498 * normal/context.c: Likewise.
21500 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
21502 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
21504 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
21506 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
21507 "next" to "prev" for readability.
21508 (struct grub_env_sorted_var): New struct.
21509 (grub_env_context): Renamed to ...
21510 (initial_context): ... this.
21511 (grub_env_var_context): Renamed to ...
21512 (current_context): ... this.
21513 (grub_env_find): Look only at CURRENT_CONTEXT.
21514 (grub_env_context_open): Rewritten to copy exported variables from
21516 (grub_env_context_close): Rewritten according to the new
21517 scheme. Also, add an assertion to prevent the initial context from
21519 (grub_env_insert): Removed the code for the sorted list.
21520 (grub_env_remove): Likewise.
21521 (grub_env_export): Simply mark the variable with
21522 GRUB_ENV_VAR_GLOBAL.
21523 (grub_env_set): A cosmetic change for naming consistency.
21524 (grub_env_get): Likewise.
21525 (grub_env_unset): Likewise.
21526 (grub_env_iterate): Rewritten to sort variables within this
21528 (grub_register_variable_hook): Fixed for naming consistency. Call
21529 grub_env_find again, only if NAME is not found at the first time.
21530 (mangle_data_slot_name): New function.
21531 (grub_env_set_data_slot): Likewise.
21532 (grub_env_get_data_slot): Likewise.
21533 (grub_env_unset_data_slot): Likewise.
21535 * include/grub/env.h (grub_env_var_type): New enum.
21536 (GRUB_ENV_VAR_LOCAL): New constant.
21537 (GRUB_ENV_VAR_GLOBAL): Likewise.
21538 (GRUB_ENV_VAR_DATA): Likewise.
21539 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
21541 (grub_env_set): Replace VAR with NAME for consistency.
21542 (grub_register_variable_hook): Likewise.
21543 (grub_env_export): Specify the name of the argument.
21544 (grub_env_set_data_slot): New prototype.
21545 (grub_env_get_data_slot): Likewise.
21546 (grub_env_unset_data_slot): Likewise.
21548 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
21550 Extend the loader so that GRUB can accept a loader which comes
21551 back to GRUB when a loaded image exits. Also, this change adds
21552 support for a chainloader on EFI.
21554 * term/efi/console.c: Include grub/misc.h.
21555 (grub_console_checkkey): Display a scan code on the top for
21556 debugging. This will be removed once the EFI port gets stable.
21557 Correct the scan code mapping.
21559 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
21560 allocate memory from larger regions, in order to reduce the number
21561 of allocated regions. Otherwise, the MacOSX loader panics.
21562 (filter_memory_map): Avoid less than 1MB for compatibility with
21564 (add_memory_regions): Allocate from the tail of a region, if
21565 possible, to avoid allocating a region near to 1MB, for the MacOSX
21568 * kern/efi/init.c (grub_efi_set_prefix): Specify
21569 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
21571 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
21572 argument IMAGE_HANDLE and specify it to get a loaded image.
21573 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
21574 grub_efi_get_loaded_image.
21575 (grub_efi_get_filename): Divide the length by the size of
21577 (grub_efi_get_device_path): New function.
21578 (grub_efi_print_device_path): Print End Device Path nodes. Divide
21579 the length by the size of grub_efi_char16_t for a file path device
21582 * kern/loader.c (grub_loader_noreturn): New variable.
21583 (grub_loader_set): Accept a new argument NORETURN. Set
21584 GRUB_LOADER_NORETURN to NORETURN.
21585 All callers changed.
21586 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
21589 * include/grub/efi/efi.h (grub_efi_get_device_path): New
21591 (grub_efi_get_loaded_image): Take an argument to specify an image
21594 * include/grub/loader.h (grub_loader_set): Added one more argument
21597 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
21598 instead of grub_efi_open_protocol.
21599 (grub_efidisk_get_device_name): Likewise.
21600 (grub_efidisk_close): Print a newline.
21601 (grub_efidisk_get_device_handle): Fixed to use
21602 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
21603 GRUB_EFI_DEVICE_PATH_TYPE.
21605 * disk/efi/efidisk.c (device_path_guid): Moved to ...
21606 * kern/efi/efi.c (device_path_guid): ... here.
21608 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
21610 (kernel_mod_HEADERS): Added efi/disk.h.
21611 (_chain_mod_SOURCES): New variable.
21612 (_chain_mod_CFLAGS): Likewise.
21613 (_chain_mod_LDFLAGS): Likewise.
21614 (chain_mod_SOURCES): Likewise.
21615 (chain_mod_CFLAGS): Likewise.
21616 (chain_mod_LDFLAGS): Likewise.
21618 * DISTLIST: Added include/grub/efi/chainloader.h,
21619 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
21621 * include/grub/efi/chainloader.h: New file.
21622 * loader/efi/chainloader.c: Likewise.
21623 * loader/efi/chainloader_normal.c: Likewise.
21625 2006-04-30 Marco Gerards <marco@gnu.org>
21627 * commands/configfile.c (grub_cmd_source): New function.
21628 (GRUB_MOD_INIT): Register the commands `source' and `.'.
21629 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
21631 2006-04-30 Marco Gerards <marco@gnu.org>
21633 * normal/execute.c (grub_script_execute_cmd): Change the return
21634 type to `grub_err_t'. Correctly return the error.
21635 (grub_script_execute_cmdline): In case a command line is not a
21636 command or a function, try to interpret it as an assignment.
21638 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
21640 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
21641 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
21642 skip a node whose name is obviously invalid as UTF-16,
21643 i.e. contains a NUL character. Stop the iteration when the last
21644 directory entry is found. Instead of using the return value of
21645 grub_hfsplus_btree_iterate_node, store the value in RET and use
21646 it, because the iterator can be stopped by the last directory
21649 2006-04-30 Marco Gerards <marco@gnu.org>
21651 * include/grub/env.h (grub_env_export): New prototype. Reported
21652 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
21654 2006-04-30 Marco Gerards <marco@gnu.org>
21656 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
21657 size of the extents in a catalog file record.
21659 2006-04-29 Marco Gerards <marco@gnu.org>
21661 * commands/configfile.c (grub_cmd_configfile): Execute the
21662 configfile within its own context.
21664 * include/grub/env.h (grub_env_context_open): New prototype.
21665 (grub_env_context_close): Likewise.
21667 * kern/env.c (grub_env): Removed.
21668 (grub_env_sorted): Likewise.
21669 (grub_env_context): New variable.
21670 (grub_env_var_context): Likewise.
21671 (grub_env_find): Search both the active context and the global
21673 (grub_env_context_open): New function.
21674 (grub_env_context_close): Likewise.
21675 (grub_env_insert): Likewise.
21676 (grub_env_remove): Likewise.
21677 (grub_env_export): Likewise.
21678 (grub_env_set): Changed to use helper functions to avoid code
21680 (grub_env_iterate): Rewritten so both the current context and the
21681 global context are being used.
21683 * normal/command.c (export_command): New function.
21684 (grub_command_init): Register the `export' function.
21686 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
21688 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
21689 explicitly to suppress gcc's warnings.
21690 * fs/fat.c (grub_fat_find_dir): Likewise.
21691 (grub_fat_label): Likewise.
21692 * fs/xfs.c (grub_xfs_read_inode): Likewise.
21693 (grub_xfs_mount): Likewise.
21694 (grub_xfs_label): Likewise.
21695 * fs/affs.c (grub_affs_mount): Likewise.
21696 (grub_affs_label): Likewise.
21697 (grub_affs_iterate_dir): Likewise.
21698 * fs/sfs.c (grub_sfs_mount): Likewise.
21699 (grub_sfs_iterate_dir): Likewise.
21700 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
21701 * fs/hfs.c (grub_hfs_mount): Likewise.
21702 (grub_hfs_cmp_catkeys): Likewise.
21703 (grub_hfs_find_dir): Likewise.
21704 (grub_hfs_dir): Likewise.
21705 (grub_hfs_label): Likewise.
21706 * fs/jfs.c (grub_jfs_mount): Likewise.
21707 (grub_jfs_opendir): Likewise.
21708 (grub_jfs_getent): Likewise.
21709 (grub_jfs_lookup_symlink): Likewise.
21710 (grub_jfs_label): Likewise.
21711 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
21712 (grub_hfsplus_iterate_dir): Likewise.
21713 (grub_hfsplus_btree_iterate_node): Made static.
21715 * util/grub-emu.c (prefix): New variable.
21716 (grub_machine_set_prefix): New function.
21717 (main): Do not set the environment variable "prefix" here. Only
21718 set PREFIX, which is used later by grub_machine_set_prefix.
21720 * include/grub/video.h: Do not include grub/symbol.h.
21721 (grub_video_register): Not exported. This symbol is not defined in
21723 (grub_video_unregister): Likewise.
21724 (grub_video_iterate): Likewise.
21725 (grub_video_setup): Likewise.
21726 (grub_video_restore): Likewise.
21727 (grub_video_get_info): Likewise.
21728 (grub_video_get_blit_format): Likewise.
21729 (grub_video_set_palette): Likewise.
21730 (grub_video_get_palette): Likewise.
21731 (grub_video_set_viewport): Likewise.
21732 (grub_video_get_viewport): Likewise.
21733 (grub_video_map_color): Likewise.
21734 (grub_video_map_rgb): Likewise.
21735 (grub_video_map_rgba): Likewise.
21736 (grub_video_fill_rect): Likewise.
21737 (grub_video_blit_glyph): Likewise.
21738 (grub_video_blit_bitmap): Likewise.
21739 (grub_video_blit_render_target): Likewise.
21740 (grub_video_scroll): Likewise.
21741 (grub_video_swap_buffers): Likewise.
21742 (grub_video_create_render_target): Likewise.
21743 (grub_video_delete_render_target): Likewise.
21744 (grub_video_set_active_render_target): Likewise.
21746 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
21748 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
21750 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
21751 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
21752 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
21753 instead of $(srcdir)/genkernsyms.sh.
21755 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
21756 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
21757 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
21758 instead of $(srcdir)/genkernsyms.sh.
21760 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
21761 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
21762 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
21763 instead of $(srcdir)/genkernsyms.sh.
21765 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
21766 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
21767 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
21768 instead of $(srcdir)/genkernsyms.sh.
21770 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
21773 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
21775 (gensymlist.sh): New target.
21776 (genkernsyms.sh): Likewise.
21778 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
21779 genkernsyms.sh.in and gensymlist.sh.in.
21781 * genkernsyms.sh: Removed.
21782 * gensymlist.sh: Likewise.
21784 * genkernsyms.sh.in: New file.
21785 * gensymlist.sh.in: Likewise.
21787 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
21789 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
21790 clobber "prefix", since we may have already set it manually.
21792 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
21794 * kern/misc.c (abort): New alias for grub_abort.
21796 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
21798 A new machine-specific function "grub_machine_set_prefix" is
21799 defined. This is called after loading modules, so that a prefix
21800 initialization can use modules. Also, this change adds an
21801 intensive debugging feature for the memory manager via the
21802 configure option "--enable-mm-debug".
21804 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
21807 * kern/sparc64/ieee1275/init.c (abort): Removed.
21808 (grub_stop): Likewise.
21809 (grub_exit): New function.
21810 (grub_set_prefix): Renamed to ...
21811 (grub_machine_set_prefix): ... this.
21812 (grub_machine_init): Do not call grub_set_prefix.
21814 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
21815 (grub_machine_set_prefix): ... this.
21816 (grub_machine_init): Do not call grub_set_prefix.
21818 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
21819 (grub_machine_init): Do not set the prefix here.
21821 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
21823 * kern/efi/init.c: Include grub/mm.h.
21824 (grub_efi_set_prefix): New function.
21826 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
21827 (grub_efi_get_filename): New function.
21828 (grub_print_device_path): Renamed to ...
21829 (grub_efi_print_device_path): ... this.
21831 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
21832 [MM_DEBUG] (grub_realloc): Likewise.
21833 [MM_DEBUG] (grub_free): Likewise.
21834 [MM_DEBUG] (grub_memalign): Likewise.
21835 [MM_DEBUG] (grub_mm_debug): New variable.
21836 [MM_DEBUG] (grub_debug_malloc): New function.
21837 [MM_DEBUG] (grub_debug_free): New function.
21838 [MM_DEBUG] (grub_debug_realloc): New function.
21839 [MM_DEBUG] (grub_debug_memalign): New function.
21841 * kern/misc.c (grub_abort): Print a newline to distinguish
21844 * kern/main.c (grub_main): Call grub_machine_set_prefix and
21845 grub_set_root_dev after loading modules. This is necessary when
21846 setting a prefix depends on modules.
21848 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
21849 (grub_efi_print_device_path): ... this.
21850 (grub_efi_get_filename): New prototype.
21851 (grub_efi_set_prefix): Likewise.
21853 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
21855 (grub_efidisk_get_device_handle): New prototype.
21856 (grub_efidisk_get_device_name): Likewise.
21858 * include/grub/mm.h: Include config.h.
21859 (MM_DEBUG): Removed.
21860 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
21861 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
21862 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
21863 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
21864 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
21865 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
21866 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
21867 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
21868 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
21870 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
21872 * disk/efi/efidisk.c: Include grub/partition.h.
21873 (iterate_child_devices): New function.
21874 (add_device): First, compare only last device path nodes, so that
21875 devices are sorted by the types.
21876 (grub_efidisk_get_device_handle): New function.
21877 (grub_efidisk_get_device_name): Likewise.
21879 * configure.ac (--enable-mm-debug): New option to enable the
21880 memory manager debugging feature. This makes the binary much
21881 bigger, so is disabled by default.
21883 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
21885 Use grub_abort instead of grub_stop, and grub_exit must be
21886 define in each architecture now. Also, this change adds support
21889 * util/i386/pc/grub-probefs.c: Include grub/term.h.
21890 (grub_getkey): New function.
21891 (grub_term_get_current): Likewise.
21893 * util/i386/pc/grub-setup.c: Include grub/term.h.
21894 (grub_getkey): New function.
21895 (grub_term_get_current): Likewise.
21897 * util/misc.c (grub_stop): Renamed to ...
21898 (grub_exit): ... this.
21900 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
21901 (grub_exit): ... this.
21902 (grub_machine_init): Use grub_abort instead of abort.
21903 (grub_stop): Removed.
21905 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
21908 * kern/i386/pc/startup.S (grub_exit): New function.
21909 (cold_reboot): New label.
21911 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
21912 (grub_efi_init): Call grub_efidisk_init.
21913 (grub_efi_fini): Call grub_efidisk_fini.
21915 * kern/efi/efi.c: Include grub/mm.h.
21916 (grub_efi_console_control_guid): Renamed to ...
21917 (console_control_guid): ... this.
21918 (grub_efi_loaded_image_guid): Renamed to ...
21919 (loaded_image_guid): ... this.
21920 (grub_efi_locate_handle): New function.
21921 (grub_efi_open_protocol): Likewise.
21922 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
21923 GRUB_EFI_CONSOLE_CONTROL_GUID.
21924 (grub_efi_exit): Removed.
21925 (grub_stop): Likewise.
21926 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
21927 (grub_exit): New function.
21928 (grub_print_device_path): Likewise.
21930 * kern/rescue.c (grub_rescue_cmd_exit): New function.
21931 (grub_enter_rescue_mode): Register "exit".
21933 * kern/misc.c (grub_real_dprintf): A cosmetic change.
21934 (grub_abort): New function.
21936 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
21938 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
21940 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
21942 * include/grub/efi/efi.h (grub_efi_exit): Removed.
21943 (grub_print_device_path): New prototype.
21944 (grub_efi_locate_handle): Likewise.
21945 (grub_efi_open_protocol): Likewise.
21947 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
21948 * disk/efi/efidisk.c: Likewise.
21950 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
21952 * include/grub/efi/console_control.h
21953 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
21955 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
21956 last 8 bytes as an array.
21957 (GRUB_EFI_DISK_IO_GUID): New macro.
21958 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
21959 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
21960 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
21962 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
21963 (struct grub_efi_device_path): Rename the member "sub_type" to
21965 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
21966 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
21967 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
21968 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
21969 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
21970 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
21971 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
21972 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
21973 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
21974 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
21975 (struct grub_efi_pci_device_path): New structure.
21976 (grub_efi_pci_device_path_t): New type.
21977 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
21978 (struct grub_efi_pccard_device_path): New structure.
21979 (grub_efi_pccard_device_path_t): New type.
21980 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
21981 (struct grub_efi_memory_mapped_device_path): New structure.
21982 (grub_efi_memory_mapped_device_path_t): New type.
21983 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
21984 (struct grub_efi_vendor_device_path): New structure.
21985 (grub_efi_vendor_device_path_t): New type.
21986 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
21987 (struct grub_efi_controller_device_path): New structure.
21988 (grub_efi_controller_device_path_t): New type.
21989 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
21990 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
21991 (struct grub_efi_acpi_device_path): New structure.
21992 (grub_efi_acpi_device_path_t): New type.
21993 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
21994 (struct grub_efi_expanded_acpi_device_path): New structure.
21995 (grub_efi_expanded_acpi_device_path_t): New type.
21996 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
21997 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
21998 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
21999 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
22000 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
22001 (struct grub_efi_atapi_device_path): New structure.
22002 (grub_efi_atapi_device_path_t): New type.
22003 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
22004 (struct grub_efi_fibre_channel_device_path): New structure.
22005 (grub_efi_fibre_channel_device_path_t): New type.
22006 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
22007 (struct grub_efi_1394_device_path): New structure.
22008 (grub_efi_1394_device_path_t): New type.
22009 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
22010 (struct grub_efi_usb_device_path): New structure.
22011 (grub_efi_usb_device_path_t): New type.
22012 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
22013 (struct grub_efi_usb_class_device_path): New structure.
22014 (grub_efi_usb_class_device_path_t): New type.
22015 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
22016 (struct grub_efi_i2o_device_path): New structure.
22017 (grub_efi_i2o_device_path_t): New type.
22018 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
22019 (struct grub_efi_mac_address_device_path): New structure.
22020 (grub_efi_mac_address_device_path_t): New type.
22021 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
22022 (struct grub_efi_ipv4_device_path): New structure.
22023 (grub_efi_ipv4_device_path_t): New type.
22024 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
22025 (struct grub_efi_ipv6_device_path): New structure.
22026 (grub_efi_ipv6_device_path_t): New type.
22027 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
22028 (struct grub_efi_infiniband_device_path): New structure.
22029 (grub_efi_infiniband_device_path_t): New type.
22030 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
22031 (struct grub_efi_uart_device_path): New structure.
22032 (grub_efi_uart_device_path_t): New type.
22033 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
22034 (struct grub_efi_vendor_messaging_device_path): New structure.
22035 (grub_efi_vendor_messaging_device_path_t): New type.
22036 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
22037 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
22038 (struct grub_efi_hard_drive_device_path): New structure.
22039 (grub_efi_hard_drive_device_path_t): New type.
22040 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
22041 (struct grub_efi_cdrom_device_path): New structure.
22042 (grub_efi_cdrom_device_path_t): New type.
22043 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
22044 (struct grub_efi_vendor_media_device_path): New structure.
22045 (grub_efi_vendor_media_device_path_t): New type.
22046 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
22047 (struct grub_efi_file_path_device_path): New structure.
22048 (grub_efi_file_path_device_path_t): New type.
22049 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
22050 (struct grub_efi_protocol_device_path): New structure.
22051 (grub_efi_protocol_device_path_t): New type.
22052 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
22053 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
22054 (struct grub_efi_bios_device_path): New structure.
22055 (grub_efi_bios_device_path_t): New type.
22056 (struct grub_efi_disk_io): New structure.
22057 (grub_efi_disk_io_t): New type.
22058 (struct grub_efi_block_io_media): New structure.
22059 (grub_efi_block_io_media_t): New type.
22060 (struct grub_efi_block_io): New structure.
22061 (grub_efi_block_io_t): New type.
22063 * include/grub/misc.h (grub_stop): Removed.
22064 (grub_exit): New prototype.
22065 (grub_abort): Likewise.
22067 * include/grub/disk.h (enum grub_disk_dev_id): Added
22068 GRUB_DISK_DEVICE_EFIDISK_ID.
22070 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
22071 disk/efi/efidisk.c.
22072 (kernel_syms.lst): Remove the target if an error occurs.
22074 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
22076 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
22077 as it was simply too buggy.
22079 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
22081 * kern/misc.c (grub_lltoa): New function.
22082 (grub_vsprintf): Added support for the long long suffix,
22085 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
22087 * Makefile.in (LDFLAGS): Add variable.
22088 (LD): Remove variable.
22089 * configure.ac: Add -m32 to LDFLAGS.
22090 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
22091 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
22092 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
22093 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
22094 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
22096 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
22097 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
22098 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
22100 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
22102 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
22103 length for unknown glyph.
22105 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
22107 Add support for pre-loaded modules into the EFI port.
22109 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
22110 completely. Accept one more argument DIR. The caller has changed.
22112 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
22114 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
22115 (grub_efi_loaded_image_guid): New variable.
22116 (grub_efi_get_loaded_image): New function.
22117 (grub_arch_modules_addr): Likewise.
22119 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
22122 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
22123 (struct grub_efi_loaded_image): New structure.
22124 (grub_efi_loaded_image_t): New type.
22126 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
22128 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
22129 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
22130 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
22132 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
22134 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
22136 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
22138 * DISTLIST: Added include/grub/efi/console.h,
22139 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
22140 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
22142 * include/grub/efi/console.h: New file.
22143 * include/grub/efi/time.h: Likewise.
22144 * include/grub/i386/efi/kernel.h: Likewise.
22145 * kern/efi/init.c: Likewise.
22146 * kern/efi/mm.c: Likewise.
22147 * term/efi/console.c: Likewise.
22149 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
22150 (grub_stop): Removed.
22151 (grub_get_rtc): Likewise.
22152 (grub_machine_init): Simply call grub_efi_init.
22153 (grub_machine_fini): Call grub_efi_fini.
22155 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
22156 (grub_efi_output_string): Removed.
22157 (grub_efi_stall): New function.
22158 (grub_stop): Likewise.
22159 (grub_get_rtc): Likewise.
22161 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
22162 (grub_efi_stall): New prototype.
22163 (grub_efi_allocate_pages): Likewise.
22164 (grub_efi_free_pages): Likewise.
22165 (grub_efi_get_memory_map): Likewise.
22166 (grub_efi_mm_init): Likewise.
22167 (grub_efi_mm_fini): Likewise.
22168 (grub_efi_init): Likewise.
22169 (grub_efi_fini): Likewise.
22171 * include/grub/i386/efi/time.h: Do not include
22172 grub/symbol.h. Include grub/efi/time.h.
22173 (GRUB_TICKS_PER_SECOND): Removed.
22174 (grub_get_rtc): Likewise.
22176 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
22177 Added padding. The EFI spec is buggy.
22178 (GRUB_EFI_BLACK): New macro.
22179 (GRUB_EFI_BLUE): Likewise.
22180 (GRUB_EFI_GREEN): Likewise.
22181 (GRUB_EFI_CYAN): Likewise.
22182 (GRUB_EFI_RED): Likewise.
22183 (GRUB_EFI_MAGENTA): Likewise.
22184 (GRUB_EFI_BROWN): Likewise.
22185 (GRUB_EFI_LIGHTGRAY): Likewise.
22186 (GRUB_EFI_BRIGHT): Likewise.
22187 (GRUB_EFI_DARKGRAY): Likewise.
22188 (GRUB_EFI_LIGHTBLUE): Likewise.
22189 (GRUB_EFI_LIGHTGREEN): Likewise.
22190 (GRUB_EFI_LIGHTCYAN): Likewise.
22191 (GRUB_EFI_LIGHTRED): Likewise.
22192 (GRUB_EFI_LIGHTMAGENTA): Likewise.
22193 (GRUB_EFI_YELLOW): Likewise.
22194 (GRUB_EFI_WHITE): Likewise.
22195 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
22196 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
22197 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
22198 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
22199 (GRUB_EFI_BACKGROUND_RED): Likewise.
22200 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
22201 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
22202 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
22203 (GRUB_EFI_TEXT_ATTR): Likewise.
22205 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
22206 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
22207 (kernel_mod_HEADERS): Added efi/time.h.
22209 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
22211 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
22212 include/grub/efi/api.h, include/grub/efi/console_control.h,
22213 include/grub/efi/efi.h, include/grub/efi/pe32.h,
22214 include/grub/i386/efi/time.h, kern/efi/efi.c,
22215 kern/i386/efi/init.c, kern/i386/efi/startup.S,
22216 and util/i386/efi/grub-mkimage.c.
22218 * Makefile.in (RMKFILES): Added i386-efi.rmk.
22220 * genmk.rb (PModule#rule): Do not export symbols if
22221 #{prefix}_EXPORTS is set to "no".
22223 * conf/i386-efi.mk: New file.
22224 * conf/i386-efi.rmk: Likewise.
22225 * include/grub/efi/api.h: Likewise.
22226 * include/grub/efi/console_control.h: Likewise.
22227 * include/grub/efi/efi.h: Likewise.
22228 * include/grub/efi/pe32.h: Likewise.
22229 * include/grub/i386/efi/time.h: Likewise.
22230 * kern/efi/efi.c: Likewise.
22231 * kern/i386/efi/init.c: Likewise.
22232 * kern/i386/efi/startup.S: Likewise.
22233 * util/i386/efi/grub-mkimage.c: Likewise.
22235 2006-04-17 Marco Gerards <marco@gnu.org>
22237 * include/grub/script.h: Include <grub/parser.h> and
22238 "grub_script.tab.h".
22239 (struct grub_lexer_param): New struct.
22240 (struct grub_parser_param): Likewise.
22241 (grub_script_create_arglist): Pass the state in an argument.
22242 (grub_script_add_arglist): Likewise.
22243 (grub_script_create_cmdline): Likewise.
22244 (grub_script_create_cmdblock): Likewise.
22245 (grub_script_create_cmdif): Likewise.
22246 (grub_script_create_cmdmenu): Likewise.
22247 (grub_script_add_cmd): Likewise.
22248 (grub_script_arg_add): Likewise.
22249 (grub_script_lexer_ref): Likewise.
22250 (grub_script_lexer_deref): Likewise.
22251 (grub_script_lexer_record_start): Likewise.
22252 (grub_script_lexer_record_stop): Likewise.
22253 (grub_script_mem_record): Likewise.
22254 (grub_script_mem_record_stop): Likewise.
22255 (grub_script_malloc): Likewise.
22256 (grub_script_yylex): Likewise.
22257 (grub_script_yyparse): Likewise.
22258 (grub_script_yyerror): Likewise.
22259 (grub_script_yylex): Likewise.
22260 (grub_script_lexer_init): Return the state.
22262 * normal/lexer.c (grub_script_lexer_state): Removed variable.
22263 (grub_script_lexer_done): Likewise.
22264 (grub_script_lexer_getline): Likewise.
22265 (grub_script_lexer_refs): Likewise.
22266 (script): Likewise.
22267 (newscript): Likewise.
22268 (record): Likewise.
22269 (recording): Likewise.
22270 (recordpos): Likewise.
22271 (recordlen): Likewise.
22272 (grub_script_lexer_init): Return the state instead of setting
22274 (grub_script_lexer_ref): Use the newly added argument for state
22275 instead of globals.
22276 (grub_script_lexer_deref): Likewise.
22277 (grub_script_lexer_record_start): Likewise.
22278 (grub_script_lexer_record_stop): Likewise.
22279 (recordchar): Likewise.
22280 (nextchar): Likewise.
22281 (grub_script_yylex2): Likewise.
22282 (grub_script_yylex): Likewise.
22283 (grub_script_yyerror): Likewise.
22285 * normal/parser.y (func_mem): Removed variable.
22286 (menu_entry): Likewise.
22288 (%lex-param): New parser option.
22289 (%parse-param): Likewise.
22290 (script): Always return the AST.
22291 (argument): Pass the state around.
22292 (arguments): Likewise.
22293 (grubcmd): Likewise.
22294 (commands): Likewise.
22295 (function): Likewise.
22296 (menuentry): Likewise.
22297 (if_statement): Likewise.
22300 * normal/script.c (grub_script_memused): Removed variable.
22301 (grub_script_parsed): Likewise.
22302 (grub_script_malloc): Added a state argument. Use that instead of
22304 (grub_script_mem_record): Likewise.
22305 (grub_script_mem_record_stop): Likewise.
22306 (grub_script_arg_add): Likewise.
22307 (grub_script_add_arglist): Likewise.
22308 (grub_script_create_cmdline): Likewise.
22309 (grub_script_create_cmdif): Likewise.
22310 (grub_script_create_cmdmenu): Likewise.
22311 (grub_script_add_cmd): Likewise.
22312 (grub_script_parse): Setup the state before calling the parser.
22314 2006-04-16 Marco Gerards <marco@gnu.org>
22316 * normal/command.c (grub_command_init): Remove the title command.
22318 * normal/lexer.c (grub_script_yylex): Renamed from this...
22319 (grub_script_yylex2): ... to this.
22320 (grub_script_yylex): New function. Temporary
22321 introduced to filter some tokens.
22322 (grub_script_yyerror): Print a newline.
22324 * normal/main.c (read_config_file): Output information about the
22325 lines that contain errors. Wait for a key after all lines have
22326 been processed. Don't return an empty menu.
22328 * normal/parser.y (func_mem): Don't initialize.
22329 (menu_entry): Likewise.
22330 (err): New variable.
22331 (script): Don't return anything when an error was encountered.
22332 (ws, returns): Removed rules.
22333 (argument): Disabled concatenated variable support.
22334 (arguments): Remove explicit separators.
22335 (grubcmd): Likewise.
22336 (function): Likewise.
22337 (menuentry): Likewise.
22339 (commands): Likewise. Add error handling.
22341 * normal/script.c (grub_script_create_cmdline): If
22342 `grub_script_parsed' is 0, assume the parser encountered an error.
22344 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
22346 * configure.ac: Add support for EFI. Fix the typo
22347 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
22349 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
22351 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
22352 foreign multibyte characters should be shown correctly.
22354 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
22356 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
22358 (read_config_file): Made it to close file before returning.
22360 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
22362 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
22363 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
22364 video/i386/pc/vbefill.c.
22366 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
22367 video/i386/pc/vbefill.c.
22369 * include/grub/video.h (grub_video_blit_format): New enum.
22370 (grub_video_mode_info): Added new member blit_format.
22371 (grub_video_get_blit_format): New function prototype.
22373 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
22374 function prototype.
22375 (grub_video_vbe_map_rgb): Likewise.
22376 (grub_video_vbe_unmap_color): Likewise.
22378 * include/grub/i386/pc/vbeblit.h: New file.
22380 * include/grub/i386/pc/vbefill.h: New file.
22382 * video/video.c (grub_video_get_blit_format): New function.
22383 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
22384 (grub_video_vbe_map_rgb): Likewise.
22385 (grub_video_vbe_unmap_color): Likewise.
22387 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
22389 (grub_video_vbe_blit_render_target): Changed to use more optimized
22391 (grub_video_vbe_setup): Added detection for optimized settings.
22392 (grub_video_vbe_create_render_target): Likewise.
22394 * video/i386/pc/vbeblit.c: New file.
22396 * video/i386/pc/vbefill.c: New file.
22398 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
22400 * font/manager.c (grub_font_get_glyph): Removed font fixup from
22403 * util/unifont2pff.rb: ... and moved it to here. Improved argument
22404 parsing to support both hex and dec ranges. If filename was missing
22405 show usage information.
22407 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
22409 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
22410 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
22412 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
22413 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
22414 (video_mod_SOURCES): Added.
22415 (video_mod_CFLAGS): Likewise.
22416 (video_mod_LDFLAGS): Likewise.
22417 (gfxterm_mod_SOURCES): Likewise.
22418 (gfxterm_mod_CFLAGS): Likewise.
22419 (gfxterm_mod_LDFLAGS): Likewise.
22420 (videotest_mod_SOURCES): Likewise.
22421 (videotest_mod_CFLAGS): Likewise.
22422 (videotest_mod_LDFLAGS): Likewise.
22423 (vesafb_mod_SOURCES): Removed.
22424 (vesafb_mod_CFLAGS): Likewise.
22425 (vesafb_mod_LDFLAGS): Likewise.
22426 (vga_mod_SOURCES): Likewise.
22427 (vga_mod_CFLAGS): Likewise.
22428 (vga_mod_LDFLAGS): Likewise.
22430 * commands/videotest.c: New file.
22432 * font/manager.c (fill_with_default_glyph): Modified to use
22434 (grub_font_get_glyph): Likewise.
22435 (fontmanager): Renamed from this...
22436 (font_manager): ... to this.
22438 * include/grub/font.h (grub_font_glyph): Added new structure.
22439 (grub_font_get_glyph): Modified to use grub_font_glyph.
22441 * include/grub/misc.h (grub_abs): Added as inline function.
22443 * include/grub/video.h: New file.
22445 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
22446 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
22447 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
22448 (grub_vbe_get_controller_info): Renamed from this...
22449 (grub_vbe_bios_get_controller_info): ... to this.
22450 (grub_vbe_get_mode_info): Renamed from this...
22451 (grub_vbe_bios_get_mode_info): ... to this.
22452 (grub_vbe_set_mode): Renamed from this...
22453 (grub_vbe_bios_set_mode): ... to this.
22454 (grub_vbe_get_mode): Renamed from this...
22455 (grub_vbe_bios_get_mode): ... to this.
22456 (grub_vbe_set_memory_window): Renamed from this...
22457 (grub_vbe_bios_set_memory_window): ... to this.
22458 (grub_vbe_get_memory_window): Renamed from this...
22459 (grub_vbe_bios_get_memory_window): ... to this.
22460 (grub_vbe_set_scanline_length): Renamed from this...
22461 (grub_vbe_set_scanline_length): ... to this.
22462 (grub_vbe_get_scanline_length): Renamed from this...
22463 (grub_vbe_bios_get_scanline_length): ... to this.
22464 (grub_vbe_set_display_start): Renamed from this...
22465 (grub_vbe_bios_set_display_start): ... to this.
22466 (grub_vbe_get_display_start): Renamed from this...
22467 (grub_vbe_bios_get_display_start): ... to this.
22468 (grub_vbe_set_palette_data): Renamed from this...
22469 (grub_vbe_bios_set_palette_data): ... to this.
22470 (grub_vbe_set_pixel_rgb): Removed.
22471 (grub_vbe_set_pixel_index): Likewise.
22473 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
22475 (grub_vbe_bios_get_controller_info): ... to this.
22476 (grub_vbe_get_mode_info): Renamed from this...
22477 (grub_vbe_bios_get_mode_info): ... to this.
22478 (grub_vbe_set_mode): Renamed from this...
22479 (grub_vbe_bios_set_mode): ... to this.
22480 (grub_vbe_get_mode): Renamed from this...
22481 (grub_vbe_bios_get_mode): ... to this.
22482 (grub_vbe_set_memory_window): Renamed from this...
22483 (grub_vbe_bios_set_memory_window): ... to this.
22484 (grub_vbe_get_memory_window): Renamed from this...
22485 (grub_vbe_bios_get_memory_window): ... to this.
22486 (grub_vbe_set_scanline_length): Renamed from this...
22487 (grub_vbe_set_scanline_length): ... to this.
22488 (grub_vbe_get_scanline_length): Renamed from this...
22489 (grub_vbe_bios_get_scanline_length): ... to this.
22490 (grub_vbe_set_display_start): Renamed from this...
22491 (grub_vbe_bios_set_display_start): ... to this.
22492 (grub_vbe_get_display_start): Renamed from this...
22493 (grub_vbe_bios_get_display_start): ... to this.
22494 (grub_vbe_set_palette_data): Renamed from this...
22495 (grub_vbe_bios_set_palette_data): ... to this.
22496 (grub_vbe_bios_get_controller_info): Fixed problem with registers
22497 getting corrupted after calling it. Added more pushes and pops.
22498 (grub_vbe_bios_set_mode): Likewise.
22499 (grub_vbe_bios_get_mode): Likewise.
22500 (grub_vbe_bios_get_memory_window): Likewise.
22501 (grub_vbe_bios_set_scanline_length): Likewise.
22502 (grub_vbe_bios_get_scanline_length): Likewise.
22503 (grub_vbe_bios_get_display_start): Likewise.
22504 (grub_vbe_bios_set_palette_data): Likewise.
22506 * normal/cmdline.c (cl_set_pos): Refresh the screen.
22507 (cl_insert): Likewise.
22508 (cl_delete): Likewise.
22510 * term/gfxterm.c: New file.
22512 * term/i386/pc/vesafb.c: Removed file.
22514 * video/video.c: New file.
22516 * video/i386/pc/vbe.c (real2pm): Added new function.
22517 (grub_video_vbe_draw_pixel): Likewise.
22518 (grub_video_vbe_get_video_ptr): Likewise.
22519 (grub_video_vbe_get_pixel): Likewise
22520 (grub_video_vbe_init): Likewise.
22521 (grub_video_vbe_fini): Likewise.
22522 (grub_video_vbe_setup): Likewise.
22523 (grub_video_vbe_get_info): Likewise.
22524 (grub_video_vbe_set_palette): Likewise.
22525 (grub_video_vbe_get_palette): Likewise.
22526 (grub_video_vbe_set_viewport): Likewise.
22527 (grub_video_vbe_get_viewport): Likewise.
22528 (grub_video_vbe_map_color): Likewise.
22529 (grub_video_vbe_map_rgb): Likewise.
22530 (grub_video_vbe_map_rgba): Likewise.
22531 (grub_video_vbe_unmap_color): Likewise.
22532 (grub_video_vbe_fill_rect): Likewise.
22533 (grub_video_vbe_blit_glyph): Likewise.
22534 (grub_video_vbe_blit_bitmap): Likewise.
22535 (grub_video_vbe_blit_render_target): Likewise.
22536 (grub_video_vbe_scroll): Likewise.
22537 (grub_video_vbe_swap_buffers): Likewise.
22538 (grub_video_vbe_create_render_target): Likewise.
22539 (grub_video_vbe_delete_render_target): Likewise.
22540 (grub_video_vbe_set_active_render_target): Likewise.
22541 (grub_vbe_set_pixel_rgb): Remove function.
22542 (grub_vbe_set_pixel_index): Likewise.
22543 (index_color_mode): Remove static variable.
22544 (active_mode): Likewise.
22545 (framebuffer): Likewise.
22546 (bytes_per_scan_line): Likewise.
22547 (grub_video_vbe_adapter): Added new static variable.
22548 (framebuffer): Likewise.
22549 (render_target): Likewise.
22550 (initial_mode): Likewise.
22551 (mode_in_use): Likewise.
22552 (mode_list): Likewise.
22554 2006-03-10 Marco Gerards <marco@gnu.org>
22556 * configure.ac (AC_INIT): Bumped to 1.93.
22558 * DISTLIST: Added `include/grub/hfs.h'.
22560 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
22562 * boot/i386/pc/boot.S (general_error): Before looping, try INT
22563 18H, which might help the BIOS falling back to next boot media.
22565 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
22567 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
22568 Poe Chen <poe.poechen@gmail.com>.
22570 2006-01-17 Marco Gerards <marco@gnu.org>
22572 * include/grub/normal.h: Include <grub/script.h>.
22573 (grub_command_list): Removed struct.
22574 (grub_command_list_t): Removed type.
22575 (grub_menu_entry): Remove members `num' and `command_list'. Add
22576 members `commands' and `sourcecode'.
22577 * include/grub/script.h: Add inclusion guards.
22578 (grub_script_cmd_menuentry): New struct.
22579 (grub_script_execute_menuentry): New prototype.
22580 (grub_script_lexer_record_start): Likewise.
22581 (grub_script_lexer_record_stop): Likewise.
22582 * normal/execute.c (grub_script_execute_menuentry): New function.
22583 * normal/lexer.c (record, recording, recordpos, recordlen): New
22585 (grub_script_lexer_record_start): New function.
22586 (grub_script_lexer_record_stop): Likewise.
22587 (recordchar): Likewise.
22588 (nextchar): Likewise.
22589 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
22590 2048 as the buffer size. Add the tokens `menuentry' and `@'.
22591 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
22592 (current_menu): New variable.
22593 (free_menu): Mainly rewritten.
22594 (grub_normal_menu_addentry): New function.
22595 (read_config_file): Rewritten.
22596 * normal/menu.c (run_menu_entry): Mainly rewritten.
22597 * normal/menu_entry.c (make_screen): Rewritten the code to insert
22599 (run): Mainly rewritten.
22600 * normal/parser.y (menu_entry): New variable.
22601 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
22602 (menuentry): New rule.
22603 (command): Add `menuentry'.
22604 (if_statement): Allow additional returns before `fi'.
22605 * normal/script.c (grub_script_create_cmdmenu): New function.
22607 2006-01-03 Marco Gerards <marco@gnu.org>
22609 * INSTALL: GNU Bison is required.
22610 * configure.ac: Rewritten the test to detect Bison.
22611 * Makefile.in (YACC): New variable. Reported by Xun Sun
22612 <xun.sun.cn@gmail.com>.
22614 2006-01-03 Marco Gerards <marco@gnu.org>
22616 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
22617 the HFS+ filesystem to filesystem blocks.
22618 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
22619 GCC warning is silenced.
22621 2006-01-03 Marco Gerards <marco@gnu.org>
22623 * partmap/apple.c (apple_partition_map_iterate): Convert the data
22624 read from disk from big endian to host byte order.
22626 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
22628 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
22630 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
22631 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
22632 embedded HFS+ filesystem.
22633 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
22634 (grub_hfs_sblock): Move from here...
22635 * include/grub/hfs.h: To here... New file.
22636 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
22638 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
22640 (grub_hfsplus_volheader): Change type of member `magic' to
22642 (grub_hfsplus_data): Add new member `embedded_offset'.
22643 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
22645 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
22646 Calculate the offset.
22648 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
22650 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
22652 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
22654 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
22656 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
22657 ENV->NAME is NULL after allocating ENV->VALUE.
22659 2005-12-25 Marco Gerards <marco@gnu.org>
22661 * kern/env.c (grub_env_set): Rewritten the error handling code.
22663 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
22665 * geninit.sh: Made more robust, and more portable.
22667 2005-12-25 Marco Gerards <marco@gnu.org>
22669 Add support for Apple HFS+ filesystems.
22671 * fs/hfsplus.c: New file.
22673 * DISTLIST: Added `fs/hfsplus.c'.
22675 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
22676 (hfsplus_mod_SOURCES): New variable.
22677 (hfsplus_mod_CFLAGS): Likewise.
22678 (hfsplus_mod_LDFLAGS): Likewise.
22679 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
22680 (grub_setup_SOURCES): Likewise.
22681 (grub_mkdevicemap_SOURCES): Likewise.
22682 (grub_emu_SOURCES): Likewise.
22683 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22685 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
22687 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
22689 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
22691 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
22692 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
22693 include/grub/parser.h, include/grub/script.h, kern/parser.c,
22694 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
22695 normal/lexer.c, normal/parser.y, normal/script.c, and
22697 Removed kern/sparc64/cache.c.
22699 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
22700 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
22703 * configure.ac (AC_INIT): Bumped to 1.92.
22705 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
22707 * kern/err.c (grub_error_push): Added new function to support error
22709 (grub_error_pop): Likewise.
22710 (grub_error_stack_items): New local variable to support error stacks.
22711 (grub_error_stack_pos): Likewise.
22712 (grub_error_stack_assert): Likewise.
22713 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
22715 (grub_print_error): Added support to print errors from error stack.
22717 * include/grub/err.h (grub_error_push): Added function prototype.
22718 (grub_error_pop): Likewise.
22720 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
22722 * configure.ac: Accept `powerpc64' as host_cpu.
22723 (amd64): Rename to `biarch32'.
22725 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
22726 non-cacheline-aligned addresses.
22728 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
22729 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
22730 if `size' is non-zero.
22732 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
22734 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
22735 and `cd' to make sure the filename is not prefixed with a
22737 (pkgdata_MODULES): Add `gpt.mod'.
22738 (gpt_mod_SOURCES): New variable.
22739 (gpt_mod_CFLAGS): Likewise.
22740 (gpt_mod_LDFLAGS): Likewise.
22742 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
22744 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
22747 * partmap/gpt.c: New file.
22749 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
22750 GPT partition map is detected.
22752 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
22754 * commands/i386/pc/play.c: New file.
22755 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
22756 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
22759 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
22761 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
22762 ((unused))' to silence gcc warning.
22764 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
22766 * configure.ac: Correct `AC_PROG_YACC' test.
22768 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
22770 * util/powerpc/ieee1275/grub-install.in: Run the mount point
22771 check before installing files.
22773 2005-11-22 Mike Small <smallm@panix.com>
22775 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
22776 number regex so multidigit numbers are recognized correctly.
22778 2005-11-22 Mike Small <smallm@panix.com>
22780 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
22781 debugging message before attempting to claim memory.
22782 (grub_rescue_cmd_initrd): Add a claim debugging message and try
22783 multiple addresses in case of failure.
22785 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
22787 * term/tparm.c (get_space): Remove empty `if' statement.
22789 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
22791 * kern/parser.c (check_varstate): Rename `state' to 's'.
22793 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
22795 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
22796 variable definitions to the beginning of each function. Sort stack
22798 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
22799 `buf' argument to `char *'.
22801 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
22803 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
22804 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
22805 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
22806 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
22807 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
22808 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
22809 configfile.mod, search.mod, gzio.mod and test.mod.
22810 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
22811 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
22812 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
22813 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
22814 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
22815 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
22816 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
22817 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
22818 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
22819 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
22820 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
22821 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
22822 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
22823 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
22824 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
22825 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
22826 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
22827 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
22828 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
22829 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
22830 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
22831 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
22832 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
22834 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
22836 (pkgdata_MODULES): Add test.mod.
22838 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22840 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
22841 appending to variables with "+=".
22842 (PModule): Use full pathname to generate *.lst filenames.
22844 * Makefile.in: Fixed list rules moved from genmk.rb.
22845 (.DELETE_ON_ERROR): New special target.
22846 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
22848 * conf/i386-pc.rmk: Include conf/common.mk.
22849 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
22850 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
22851 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
22852 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
22853 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
22854 configfile.mod, search.mod, gzio.mod and test.mod.
22855 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
22856 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
22857 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
22858 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
22859 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
22860 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
22861 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
22862 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
22863 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
22864 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
22865 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
22866 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
22867 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
22868 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
22869 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
22870 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
22871 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
22872 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
22873 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
22874 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
22875 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
22876 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
22877 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
22879 * conf/common.rmk: ... to here. New file.
22881 * conf/common.mk: New file.
22883 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
22885 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
22886 (grub_script.tab.c): ... here.
22888 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
22889 (grub_script.tab.c): ... here.
22891 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
22892 (grub_script.tab.c): ... here.
22894 * normal/command.c (grub_command_find): Fixed a memory leak of
22895 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
22897 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22899 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
22900 "@" which marks the start of a comment on ARM.
22901 (VARIABLE): Likewise.
22903 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22905 Add support for Linux/ADFS partition tables.
22907 * partmap/acorn.c: New file.
22909 * include/grub/acorn_filecore.h: Likewise.
22911 * DISTLIST: Added `partmap/acorn.c' and
22912 `include/grub/acorn_filecore.h'.
22914 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22916 (pkgdata_MODULES): Add `acorn.mod'.
22917 (acorn_mod_SOURCES): New variable.
22918 (acorn_mod_CFLAGS): Likewise.
22920 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
22922 (pkgdata_MODULES): Add `acorn.mod'.
22923 (acorn_mod_SOURCES): New variable.
22924 (acorn_mod_CFLAGS): Likewise.
22926 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
22927 (pkgdata_MODULES): Add `acorn.mod'.
22928 (acorn_mod_SOURCES): New variable.
22929 (acorn_mod_CFLAGS): Likewise.
22930 (acorn_mod_LDFLAGS): Likewise.
22932 * include/types.h (grub_disk_addr_t): New typedef.
22934 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
22936 * geninit.sh: New file.
22938 * geninitheader.sh: Likewise.
22940 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
22941 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
22942 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
22943 * commands/configfile.c (grub_configfile_init)
22944 (grub_configfile_fini): Likewise.
22945 * commands/default.c (grub_default_init, grub_default_fini):
22947 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
22948 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
22949 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
22950 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
22952 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
22953 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
22955 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
22956 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
22958 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
22960 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
22962 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
22963 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
22964 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
22965 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
22966 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
22967 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
22968 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
22969 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
22970 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
22971 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
22972 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
22973 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
22974 * partmap/amiga.c (grub_amiga_partition_map_init)
22975 (grub_amiga_partition_map_fini): Likewise.
22976 * partmap/apple.c (grub_apple_partition_map_init)
22977 (grub_apple_partition_map_fini): Likewise.
22978 * partmap/pc.c (grub_pc_partition_map_init)
22979 (grub_pc_partition_map_fini): Likewise.
22980 * partmap/sun.c (grub_sun_partition_map_init,
22981 grub_sun_partition_map_fini): Likewise.
22982 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
22985 * util/grub-emu.c: Include <grub_modules_init.h>.
22986 (main): Don't initialize and de-initialize any modules directly,
22987 use `grub_init_all' and `grub_fini_all' instead.
22989 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
22990 `grub_vesafb_mod_init'.
22991 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
22993 * term/i386/pc/vga.c (grub_vga_init): Renamed to
22994 `grub_vga_mod_init'. Updated all users.
22995 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
22997 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
22998 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
23001 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
23002 Generate a function to initialize the module in utilities.
23003 Updated all callers.
23004 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
23005 initialize the module in utilities. Updated all callers.
23007 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
23009 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
23010 escape sequence and a literal ^L to clear the screen.
23012 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
23013 when returning from Open Firmware.
23015 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
23017 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
23018 (grub_ofconsole_height): Likewise.
23019 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
23020 manually insert a '\n'.
23021 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
23022 `grub_ofconsole_height'. Return early if these are already set.
23024 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
23026 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
23027 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
23028 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
23029 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
23030 and `normal/script.c'.
23031 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
23032 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23033 (test_mod_SOURCES): New variable.
23034 (test_mod_CFLAGS): Likewise.
23035 (test_mod_LDFLAGS): Likewise.
23036 (pkgdata_MODULES): Add `test.mod'.
23037 (grub_script.tab.c): New rule.
23038 (grub_script.tab.h): Likewise.
23040 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
23042 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23043 `commands/test.c', `normal/execute.c', `normal/lexer.c',
23044 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23045 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
23046 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23047 (test_mod_SOURCES): New variable.
23048 (test_mod_CFLAGS): Likewise.
23049 (pkgdata_MODULES): Add `test.mod'.
23050 (grub_script.tab.c): New rule.
23051 (grub_script.tab.h): Likewise.
23053 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
23055 Add initial scripting support.
23057 * commands/test.c: New file.
23058 * include/grub/script.h: Likewise.
23059 * normal/execute.c: Likewise.
23060 * normal/function.c: Likewise.
23061 * normal/lexer.c: Likewise.
23062 * normal/parser.y: Likewise.
23063 * normal/script.c: Likewise.
23065 * configure.ac: Add `AC_PROG_YACC' test.
23067 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
23068 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
23069 `normal/function.c' and `normal/script.c'.
23070 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
23071 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23072 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
23074 (pkgdata_MODULES): Add `test.mod'.
23075 (grub_script.tab.c): New rule.
23076 (grub_script.tab.h): Likewise.
23078 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
23080 * include/grub/normal.h (grub_test_init): New prototype.
23081 (grub_test_fini): Likewise.
23083 * normal/command.c: Include <grub/script.h>.
23084 (grub_command_execute): Rewritten.
23086 * util/grub-emu.c (main): Call `grub_test_init' and
23089 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
23091 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
23093 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
23094 there are no pending characters.
23096 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
23098 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
23099 `grub_strndup' to drop device arguments. Replace unnecessary
23100 `grub_strndup' with `grub_strdup'.
23102 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
23104 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
23105 `debug' environment variable has been set.
23107 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
23109 * Makefile.in (install-local): Use $(DATA).
23110 (uninstall): Likewise.
23111 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
23112 (sbin_UTILITIES): ... to here.
23113 (sbin_SCRIPTS): New variable.
23114 (grub_install_SOURCES): New variable.
23115 * util/powerpc/ieee1275/grub-install.in: New file.
23116 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
23118 (add_segments): Call `grub_util_get_path'.
23120 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
23122 From Timothy Baldwin:
23123 * commands/ls.c (grub_ls_list_files): Close FILE with
23125 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
23127 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
23129 * include/grub/parser.h: New file.
23131 * kern/parser.c: Likewise.
23133 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
23134 (grub_setup_SOURCES): Likewise.
23135 (grub_probefs_SOURCES): Likewise.
23136 (grub_emu_SOURCES): Likewise.
23137 (kernel_img_HEADERS): Add `parser.h'.
23139 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
23140 (grub_emu_SOURCES): Add `kern/parser.c'.
23141 (grubof_SOURCES): Likewise.
23143 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
23144 (grubof_SOURCES): Add `kern/parser.c'.
23146 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
23148 * kern/misc.c (grub_split_cmdline): Removed function.
23150 * kern/rescue.c: Include <grub/parser.h>.
23151 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
23152 of `grub_split_cmdline'.
23154 * normal/command.c: Include <grub/parser.h>.
23155 (grub_command_execute): Use `grub_parser_split_cmdline' instead
23156 of `grub_split_cmdline'.
23158 * normal/completion.c: Include <grub/parser.h>.
23159 (cmdline_state): New variable.
23160 (iterate_dir): End the filename with a quote depending on the
23161 command line state.
23162 (get_state): new function.
23163 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
23164 split the arguments and determine the current argument. When the
23165 argument string is not quoted, escape all spaces.
23167 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
23169 * normal/sparc64/setjmp.S: New file.
23171 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
23173 * include/grub/sparc64/libgcc.h: New file.
23174 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
23175 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
23176 normal/sparc64/setjmp.c.
23178 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
23180 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
23181 * kern/sparc64/cache.S: New file.
23182 * kern/sparc64/cache.c: Removed.
23183 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
23184 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
23186 (COMMON_LDFLAGS): Add -melf64_sparc.
23187 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
23188 (grubof_SOURCES): Use cache.S instead of cache.c.
23189 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
23190 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
23191 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
23193 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
23194 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
23195 (linux_mod_CFLAGS): Commented out.
23196 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
23197 out because module isn't built.
23198 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
23199 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
23200 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
23201 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
23202 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
23203 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
23204 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
23205 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
23206 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
23207 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
23208 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
23209 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
23210 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
23211 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
23213 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
23215 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
23216 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
23217 longer, because HFS should not be used on PC.
23219 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23221 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
23222 consistently within the loop.
23224 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
23226 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
23227 directory can not be read.
23229 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
23231 * configure.ac (AC_INIT): Increase the version number to 1.91.
23233 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
23234 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
23235 term/i386/pc/serial.c.
23237 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
23239 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
23240 file size must be permitted.
23242 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
23243 between %ah and %al.
23245 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
23247 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
23249 Call the hook with a NUL-terminated filename.
23250 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
23253 * kern/term.c (cursor_state): New variable.
23254 (grub_term_set_current): Reset the cursor state on a new
23256 (grub_setcursor): Rewritten to use CURSOR_STATE.
23257 (grub_getcursor): New function.
23259 * include/grub/term.h (grub_getcursor): New prototype.
23261 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
23262 integers on ARM. Reported by Timothy Baldwin
23263 <T.E.Baldwin99@members.leeds.ac.uk>.
23265 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
23267 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
23269 (grub_sfs_dir): Likewise.
23271 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
23273 Add support for the SFS filesystem.
23275 * fs/sfs.c: New file.
23277 * DISTLIST: Added `fs/sfs.c'.
23279 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
23280 (grub_probefs_SOURCES): Likewise.
23281 (grub_emu_SOURCES): Likewise.
23282 (pkgdata_MODULES): Add `sfs.mod'.
23283 (sfs_mod_SOURCES): New variable.
23284 (sfs_mod_CFLAGS): Likewise.
23285 (sfs_mod_LDFLAGS): Likewise.
23287 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
23288 (pkgdata_MODULES): Add `sfs.mod'.
23289 (sfs_mod_SOURCES): New variable.
23290 (sfs_mod_CFLAGS): Likewise.
23292 * util/grub-emu.c (main): Call `grub_sfs_init' and
23295 * include/grub/fs.h (grub_sfs_init): New prototype.
23296 (grub_sfs_fini): Likewise.
23298 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
23300 Add support for the AFFS filesystem.
23302 * fs/affs.c: New file.
23304 * DISTLIST: Added `fs/affs.c'.
23306 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
23307 (grub_probefs_SOURCES): Likewise.
23308 (grub_emu_SOURCES): Likewise.
23309 (pkgdata_MODULES): Add `affs.mod'.
23310 (affs_mod_SOURCES): New variable.
23311 (affs_mod_CFLAGS): Likewise.
23312 (affs_mod_LDFLAGS): Likewise.
23314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
23315 (pkgdata_MODULES): Add `affs.mod'.
23316 (affs_mod_SOURCES): New variable.
23317 (affs_mod_CFLAGS): Likewise.
23319 * util/grub-emu.c (main): Call `grub_affs_init' and
23322 * include/grub/fs.h (grub_affs_init): New prototype.
23323 (grub_affs_fini): Likewise.
23325 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
23327 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
23329 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
23331 * configure.ac: Accept `x86_64' as host_cpu. In that case add
23334 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
23337 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
23338 (COMMON_LDFLAGS): New variable.
23339 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
23340 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
23341 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
23342 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
23343 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
23344 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
23345 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
23346 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
23347 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
23348 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
23349 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
23350 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
23351 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
23352 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
23353 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
23355 (normal_mod_ASFLAGS): Add `-m32'.
23357 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
23358 (grub_host_size_t, grub_host_ssize_t): New types.
23359 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
23360 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
23361 `GRUB_HOST_SIZEOF_VOID_P'.
23363 * include/grub/kernel.h (struct grub_module_header): Type of
23364 member offset changed to `grub_host_off_t'. Type of member size
23365 changed to `grub_host_size_t'.
23366 (struct grub_module_info): Type of member offset changed to
23367 `grub_host_off_t'. Type of member size changed to
23368 `grub_host_size_t'.
23370 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
23372 Make GRUB's kernel compliant to Multiboot Specification.
23374 * kern/i386/pc/startup.S (multiboot_header): New label.
23375 (multiboot_entry): Likewise.
23376 (multiboot_trampoline): Likewise.
23378 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23379 Increased to 0x4A0.
23381 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
23382 put parentheses after a question mark.
23383 [!GRUB_UTIL] (my_mod): New variable.
23385 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
23387 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
23389 Adds support for the XFS filesystem. Btrees are not supported
23392 * fs/xfs.c: New file.
23394 * DISTLIST: Added `fs/xfs.c'.
23396 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
23397 (grub_probefs_SOURCES): Likewise.
23398 (grub_emu_SOURCES): Likewise.
23399 (pkgdata_MODULES): Add `xfs.mod'.
23400 (xfs_mod_SOURCES): New variable.
23401 (xfs_mod_CFLAGS): Likewise.
23403 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
23404 (pkgdata_MODULES): Add `xfs.mod'.
23405 (xfs_mod_SOURCES): New variable.
23406 (xfs_mod_CFLAGS): Likewise.
23408 * util/grub-emu.c (main): Call `grub_xfs_init' and
23411 * include/grub/fs.h (grub_xfs_init): New prototype.
23412 (grub_xfs_fini): Likewise.
23415 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
23417 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
23418 color modes, allow greater than 16 colors to be configured as
23421 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
23423 * normal/completion.c (complete_arguments): Add the qualifier
23424 const into OPTIONS.
23426 From Omniflux <omniflux+lists@omniflux.com>:
23427 * include/grub/terminfo.h: New file.
23428 * include/grub/tparm.h: Likewise.
23429 * include/grub/i386/pc/serial.h: Likewise.
23430 * term/terminfo.c: Likewise.
23431 * term/tparm.c: Likewise.
23432 * term/i386/pc/serial.c: Likewise.
23433 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
23435 (terminfo_mod_SOURCES): New variable.
23436 (terminfo_mod_CFLAGS): Likewise.
23437 (serial_mod_SOURCES): Likewise.
23438 (serial_mod_CFLAGS): Likewise.
23440 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
23442 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
23443 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
23444 and kern/powerpc/ieee1275/cmain.c, respectively.
23446 * boot/powerpc/ieee1275/crt0.S: Moved to ...
23447 * kern/powerpc/ieee1275/crt0.S: ... here.
23449 * boot/powerpc/ieee1275/cmain.c: Moved to ...
23450 * kern/powerpc/ieee1275/cmain.c: ... here.
23452 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
23453 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
23454 instead of boot/powerpc/ieee1275/crt0.S and
23455 boot/powerpc/ieee1275/cmain.c, respectively.
23457 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
23458 sectors. It was not used anyway.
23460 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
23462 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
23463 `unused parameter' warning.
23465 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
23467 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
23469 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
23472 2005-08-28 Marco Gerards <metgerards@student.han.nl>
23474 * include/grub/normal.h (enum grub_completion_type): Added
23475 `GRUB_COMPLETION_TYPE_ARGUMENT'.
23477 * normal/cmdline.c (print_completion): Handle
23478 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
23479 * normal/menu_entry.c (store_completion): Likewise.
23481 * normal/completion.c (complete_arguments): New function.
23482 (grub_normal_do_completion): Call `complete_arguments' when the
23483 current words start with a dash.
23485 2005-08-27 Marco Gerards <metgerards@student.han.nl>
23487 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
23488 `gzio.mod' instead of `io.mod').
23490 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
23492 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
23493 (DISTDIRS): Added io and video.
23494 Rewrite the search routine to make an output consistently.
23496 * DISTLIST: Added conf/sparc64-ieee1275.mk,
23497 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
23498 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
23499 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
23500 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
23501 util/powerpc/ieee1275/misc.c.
23503 * include/grub/gzio.h: New file.
23504 * io/gzio.c: Likewise.
23506 * kern/file.c (grub_file_close): Call grub_device_close only if
23507 FILE->DEVICE is not NULL.
23509 * include/grub/mm.h [!NULL] (NULL): New macro.
23511 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
23513 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
23514 (pkgdata_MODULES): Added gzio.mod.
23515 (gzio_mod_SOURCES): New variable.
23516 (gzio_mod_CFLAGS): Likewise.
23518 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
23519 (pkgdata_MODULES): Added gzio.mod.
23520 (gzio_mod_SOURCES): New variable.
23521 (gzio_mod_CFLAGS): Likewise.
23523 * commands/cat.c: Include grub/gzio.h.
23524 (grub_cmd_cat): Use grub_gzfile_open instead of
23527 * commands/cmp.c: Include grub/gzio.h.
23528 (grub_cmd_cmp): Use grub_gzfile_open instead of
23531 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
23532 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
23534 (grub_rescue_cmd_module): Likewise.
23536 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
23538 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
23539 kern/sparc64/ieee1275/init.c because it contains _start.
23540 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
23542 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
23544 * configure.ac: Add support for sparc64 host with ieee1275
23546 * configure: Generated from configure.ac.
23547 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
23549 (grub_ofdisk_read): Likewise.
23550 (grub_ofdisk_open): Use %p to print pointer values, and cast the
23551 pointers as (void *) to remove a warning.
23552 (grub_ofdisk_close): Likewise.
23553 (grub_ofdisk_read): Likewise.
23554 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
23555 returns, so make it return void to remove a warning.
23556 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
23557 Corresponding prototype change.
23558 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
23559 values, and cast the pointers as (void *) to remove a warning.
23560 (grub_mm_dump): Likewise.
23561 * conf/sparc64-ieee1275.mk: New file.
23562 * conf/sparc64-ieee1275.rmk: Likewise.
23563 * include/grub/sparc64/setjmp.h: Likewise.
23564 * include/grub/sparc64/types.h: Likewise.
23565 * include/grub/sparc64/ieee1275/console.h: Likewise.
23566 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23567 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23568 * include/grub/sparc64/ieee1275/time.h: Likewise.
23569 * kern/sparc64/cache.c: Likewise.
23570 * kern/sparc64/dl.c: Likewise.
23571 * kern/sparc64/ieee1275/init.c: Likewise.
23572 * kern/sparc64/ieee1275/openfw.c: Likewise.
23574 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
23576 * util/console.c (grub_ncurses_putchar): If C is greater than
23577 0x7f, set C to a question mark.
23578 (grub_ncurses_getcharwidth): New function.
23579 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
23582 * normal/menu.c (print_entry): Made aware of Unicode. First,
23583 convert TITLE to UCS-4, and predict the cursor position by
23586 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
23588 * kern/misc.c (grub_utf16_to_utf8): Likewise.
23590 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
23592 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
23593 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
23596 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
23597 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
23598 grub_strcpy and grub_strlen. Take it into account that a space
23599 character is inserted as a delimiter.
23601 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
23603 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
23604 invalid magic in the error.
23606 * commands/search.c: New file.
23608 * util/grub-emu.c (main): Call grub_search_init and
23611 * kern/rescue.c (grub_rescue_print_disks): Removed.
23612 (grub_rescue_print_devices): New function.
23613 (grub_rescue_cmd_ls): Use grub_device_iterate with
23614 grub_rescue_print_devices instead of grub_disk_dev_iterate with
23615 grub_rescue_print_disks.
23617 * kern/partition.c (grub_partition_iterate): Return the result of
23618 PARTMAP->ITERATE instead of GRUB_ERRNO.
23620 * kern/device.c: Include grub/partition.h.
23621 (grub_device_iterate): New function.
23623 * include/grub/partition.h (grub_partition_iterate): Return int
23624 instead of grub_err_t.
23626 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
23628 [GRUB_UTIL] (grub_search_fini): Likewise.
23630 * include/grub/device.h (grub_device_iterate): New prototype.
23632 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
23634 (pkgdata_MODULES): Added search.mod.
23635 (search_mod_SOURCES): New variable.
23636 (search_mod_CFLAGS): Likewise.
23638 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
23639 (pkgdata_MODULES): Added search.mod.
23640 (search_mod_SOURCES): New variable.
23641 (search_mod_CFLAGS): Likewise.
23643 * commands/ls.c (grub_ls_list_disks): Renamed to ...
23644 (grub_ls_list_devices): ... this, and use grub_device_iterate.
23645 All callers changed.
23647 * DISTLIST: Added commands/search.c.
23649 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
23651 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
23653 (grub_getcharwidth): New function.
23655 * kern/misc.c (grub_utf8_to_ucs4): New function.
23657 * include/grub/term.h (struct grub_term): Added a new member
23659 (grub_getcharwidth): New prototype.
23661 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
23663 * term/i386/pc/console.c (map_char): New function. Segregated from
23664 grub_console_putchar.
23665 (grub_console_putchar): Use map_char.
23666 (grub_console_getcharwidth): New function.
23667 (grub_console_term): Specified grub_console_getcharwidth as
23670 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
23671 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
23673 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
23675 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
23676 on grub_strtoul completely.
23677 (write_char): Declare local variables in the beginning of the
23679 (grub_vesafb_getcharwidth): New function.
23680 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
23683 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
23685 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
23686 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
23687 commands/i386/pc/vbetest.c.
23689 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
23690 call grub_vbe_get_controller_info again, because the returned
23691 information is volatile.
23692 (grub_vbe_set_video_mode): Mostly rewritten.
23693 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
23694 grub_vbe_status_t correctly.
23695 (grub_vbe_get_video_mode_info): Likewise.
23696 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
23697 several if statements.
23699 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
23700 * commands/i386/pc/vbeinfo.c: ... this.
23702 * commands/i386/pc/vbe_test.c: Renamed to ...
23703 * commands/i386/pc/vbetest.c: ... this.
23705 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
23707 (grub_cmd_vbeinfo): ... this. Save video modes before
23708 iterating. Skip a video mode, if it is not available, not enough
23709 information is given or it is monochrome. Show the memory
23710 model. Leave the interpretation of MODEVAR to grub_strtoul
23712 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
23713 (GRUB_MOD_FINI): Likewise.
23715 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
23716 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
23717 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
23718 duplicated grub_env_get. Leave the interpretation of MODEVAR to
23719 grub_strtoul completely.
23720 (real2pm): Removed.
23721 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
23722 (GRUB_MOD_FINI): Likewise.
23724 * normal/misc.c: Include grub/mm.h.
23726 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
23727 vbe_list_modes with vbetest.mod and vbeinfo.mod.
23728 (vbe_list_modes_mod_SOURCES): Removed.
23729 (vbe_list_modes_mod_CFLAGS): Likewise.
23730 (vbe_test_mod_SOURCES): Likewise.
23731 (vbe_test_mod_CFLAGS): Likewise.
23732 (vbeinfo_mod_SOURCES): New variable.
23733 (vbeinfo_mod_CFLAGS): Likewise.
23734 (vbetest_mod_SOURCES): Likewise.
23735 (vbetest_mod_CFLAGS): Likewise.
23737 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
23739 * normal/misc.c: New file.
23741 * DISTLIST: Added normal/misc.c.
23743 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
23744 DISK to HOOK. Call HOOK with DISK.
23745 * partmap/apple.c (apple_partition_map_iterate): Likewise.
23746 * partmap/pc.c (pc_partition_map_iterate): Likewise.
23747 * partmap/sun.c (sun_partition_map_iterate): Likewise.
23749 * normal/menu_entry.c (struct screen): Added a new member
23750 "completion_shown".
23751 (completion_buffer): New global variable.
23752 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
23753 (store_completion): New function.
23754 (complete): Likewise.
23755 (clear_completions): Likewise.
23756 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
23757 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
23758 a tab, call complete.
23760 * normal/completion.c (disk_dev): Removed.
23761 (print_simple_completion): Likewise.
23762 (print_partition_completion): Likewise.
23763 (print_func): New global variable.
23764 (add_completion): Do not take the arguments WHAT or PRINT any
23765 longer. Added a new argument TYPE. Instead of printing directly,
23766 call PRINT_FUNC if not NULL.
23767 All callers changed.
23768 (complete_device): Use a local variable DEV instead of
23769 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
23770 (grub_normal_do_completion): Take a new argument HOOK. Do not
23771 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
23772 empty string, return NULL instead.
23773 All callers changed.
23775 * normal/cmdline.c (print_completion): New function.
23777 * kern/partition.c (grub_partition_iterate): Add an argument DISK
23779 All callers changed.
23781 * kern/disk.c (grub_print_partinfo): Removed.
23783 * include/grub/partition.h (struct grub_partition_map): Add a new
23784 argument DISK into HOOK of ITERATE.
23785 (grub_partition_iterate): Add a new argument DISK to HOOK.
23787 * include/grub/normal.h (enum grub_completion_type): New enum.
23788 (grub_completion_type_t): New type.
23789 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
23790 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
23791 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
23792 (GRUB_COMPLETION_TYPE_FILE): Likewise.
23793 (grub_normal_do_completion): Added a new argument HOOK.
23794 (grub_normal_print_device_info): New prototype.
23796 * include/grub/disk.h (grub_print_partinfo): Removed.
23798 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
23799 (normal_mod_SOURCES): Likewise.
23800 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23801 (normal_mod_SOURCES): Likewise.
23803 * commands/ls.c (grub_ls_list_disks): Use
23804 grub_normal_print_device_info instead of grub_print_partinfo. Free
23806 (grub_ls_list_files): Use grub_normal_print_device_info instead of
23807 duplicating the code.
23809 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
23811 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
23812 follow GCS more precisely.
23813 * commands/i386/pc/vbe_test.c: Likewise.
23814 * include/grub/i386/pc/vbe.h: Likewise.
23815 * term/i386/pc/vesafb.c: Likewise.
23816 * video/i386/pc/vbe.c: Likewise.
23818 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
23820 * DISTLIST: Added term/i386/pc/vesafb.c
23821 DISTLIST: Added video/i386/pc/vbe.c
23822 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
23823 DISTLIST: Added commands/i386/pc/vbe_test.c.
23824 * commands/i386/pc/vbe_list_modes.c: New file.
23825 * commands/i386/pc/vbe_test.c: Likewise.
23826 * term/i386/pc/vesafb.c: Likewise.
23827 * video/i386/pc/vbe.c: Likewise.
23828 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
23829 (grub_vbe_probe) Added prototype.
23830 (grub_vbe_set_video_mode) Likewise.
23831 (grub_vbe_get_video_mode) Likewise.
23832 (grub_vbe_get_video_mode_info) Likewise.
23833 (grub_vbe_set_pixel_rgb) Likewise.
23834 (grub_vbe_set_pixel_index) Likewise.
23835 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
23836 (pkgdata_MODULES): Added vesafb.mod.
23837 (pkgdata_MODULES): Added vbe_list_modes.mod.
23838 (pkgdata_MODULES): Added vbe_test.mod.
23839 (vbe_mod_SOURCES): Added.
23840 (vbe_mod_CFLAGS): Likewise.
23841 (vesafb_mod_SOURCES): Likewise.
23842 (vesafb_mod_CFLAGS): Likewise.
23843 (vbe_list_modes_mod_SOURCES): Likewise.
23844 (vbe_list_modes_mod_CFLAGS): Likewise.
23845 (vbe_test_mod_SOURCES): Likewise.
23846 (vbe_test_mod_CFLAGS): Likewise.
23848 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
23850 * normal/command.c (grub_command_execute): If INTERACTIVE is
23851 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
23852 CMDLINE. Disable the pager if INTERACTIVE is true.
23853 All callers are changed.
23855 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
23856 before reading a config file.
23857 * normal/main.c (read_config_file): Even if a command is not
23858 found, register it if it is within an entry.
23860 * util/grub-emu.c: Include sys/types.h and unistd.h.
23861 (options): Added --hold.
23862 (struct arguments): Added a new member "hold".
23863 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
23865 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
23866 cleared by a debugger, if it is not zero.
23868 * include/grub/normal.h (grub_command_execute): Add an argument
23871 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
23873 * DISTLIST: Added include/grub/i386/pc/vbe.h.
23875 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
23877 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
23878 program with another one, because the old one didn't detect a bug
23879 in gcc-3.4. Always use regparm 2, because the new test is still
23880 not enough for gcc-4.0. Someone must investigate a simple test
23881 case which detects a bug in gcc-4.0.
23883 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
23885 * DISTLIST: Added normal/completion.c.
23887 * normal/completion.c: New file.
23889 * term/i386/pc/console.c (grub_console_getwh): New function.
23890 (grub_console_term): Assign grub_console_getwh to getwh.
23892 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
23893 function is defined in normal/completion.c as
23894 grub_normal_do_completion.
23895 (grub_cmdline_get): Use grub_normal_do_completion instead of
23898 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
23899 returns non-zero, otherwise return 0.
23900 (grub_partition_iterate): First, probe the partition map. Then,
23901 call ITERATE only for this partition map.
23903 * kern/misc.c (grub_strncmp): Rewritten.
23905 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
23906 returns non-zero. Otherwise return 0.
23908 * include/grub/partition.h (grub_partition_map_iterate): Return
23909 int instead of void.
23911 * include/grub/normal.h (grub_normal_do_completion): New prototype.
23913 * include/grub/misc.h (grub_strncmp): Change the type of N to
23916 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
23919 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
23920 unsigned explicitly before comparing it with I.
23922 * kern/main.c (grub_env_write_root): Add the attribute unused into
23925 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
23926 normal/completion.c.
23927 (normal_mod_SOURCES): Likewise.
23928 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23929 (normal_mod_SOURCES): Likewise.
23931 * normal/command.c (grub_iterate_commands): If ITERATE returns
23932 non-zero, return one immediately.
23934 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
23936 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
23937 * kern/i386/pc/startup.S: Updated Global Descriptor table's
23939 (grub_vbe_get_controller_info): New function.
23940 (grub_vbe_get_mode_info): Likewise.
23941 (grub_vbe_set_mode): Likewise.
23942 (grub_vbe_get_mode): Likewise.
23943 (grub_vbe_set_memory_window): Likewise.
23944 (grub_vbe_get_memory_window): Likewise.
23945 (grub_vbe_set_scanline_length): Likewise.
23946 (grub_vbe_get_scanline_length): Likewise.
23947 (grub_vbe_set_display_start): Likewise.
23948 (grub_vbe_get_display_start): Likewise.
23949 (grub_vbe_set_palette_data): Likewise.
23950 * include/grub/i386/pc/vbe.h: New file.
23952 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
23954 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
23955 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
23956 * DISTLIST: Likewise.
23957 * kern/ieee1275/of.c: Moved to ...
23958 * kern/ieee1275/ieee1275.c: ... here.
23960 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
23962 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
23963 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
23964 Pass 0 as `end' parameter to grub_strtoul().
23966 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
23968 * include/grub/powerpc/ieee1275/console.h: Do not include
23969 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
23971 (grub_console_cur_color): Remove i386-specific prototype.
23972 (grub_console_real_putchar): Likewise.
23973 (grub_console_checkkey): Likewise.
23974 (grub_console_getkey): Likewise.
23975 (grub_console_getxy): Likewise.
23976 (grub_console_gotoxy): Likewise.
23977 (grub_console_cls): Likewise.
23978 (grub_console_setcursor): Likewise.
23979 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
23980 Include <grub/machine/console.h>.
23981 * term/ieee1275/ofconsole.c: Likewise.
23983 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
23985 * Makefile.in (LIBLZO): New variable.
23987 * configure.ac: Check for LZO version 2.
23989 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
23990 lzo/lzo1x.h instead of lzo1x.h.
23992 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
23995 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
23996 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
23998 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
23999 copying the data from PARTITION to P.
24001 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
24003 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
24004 negative, unload the module.
24006 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
24007 map is "pc_partition_map" but not "pc".
24008 (usage): Fix the description. The options are --boot-image and
24009 --core-image but not --boot-file or --core-file.
24010 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
24011 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
24014 * util/i386/pc/grub-install.in: Do not specify --boot-file or
24015 --core-file. Specify INSTALL_DEVICE as an argument.
24017 * util/console.c: Include config.h.
24018 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
24019 [HAVE_NCURSES_H]: Include ncurses.h.
24020 [HAVE_CURSES_H]: Include curses.h.
24021 [!A_NORMAL] (A_NORMAL): Defined as zero.
24022 [!A_STANDOUT] (A_STANDOUT): Likewise.
24024 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
24026 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
24028 * configure.ac: Check for curses libraries and headers.
24030 * Makefile.in (LIBCURSES): New variable.
24032 * genmk.rb (Script::rule): Set the executable bits.
24034 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
24035 name of the PC partition map is "pc_partition_map" but not "pc".
24037 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
24039 * util/i386/pc/grub-install.in (grub_probefs): New variable.
24040 (modules): Likewise.
24041 (usage): Added descriptions for --modules and --grub-probefs.
24042 Handle --modules and --grub-probefs. Save the arguments in MODULES
24043 and GRUB_PROBEFS, respectively.
24044 Auto-detect a filesystem module against GRUBDIR. If the result is
24045 empty and modules are not specified explicitly, abort the
24046 installation. Add the result to MODULES.
24048 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
24049 disk/powerpc/ieee1275/ofdisk.c,
24050 include/grub/powerpc/ieee1275/init.h and
24051 term/powerpc/ieee1275/ofconsole.c.
24052 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
24053 term/ieee1275/ofconsole.c.
24055 * include/grub/powerpc/ieee1275/console.h: Resurrected.
24057 * COPYING: Upgraded to the latest version. Only the address of the
24058 FSF office has changed.
24060 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
24062 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
24063 kern/ieee1275.c with kern/ieee1275/of.c.
24065 * kern/ieee1275.c: Moved to ...
24066 * kern/ieee1275/of.c: ... here.
24068 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
24070 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
24073 * config.guess: Updated to the latest version from gnulib.
24074 * config.sub: Likewise.
24075 * install.sh: Likewise.
24076 * mkinstalldirs: Likewise.
24078 * include/grub/console.h: Removed. This file is arch-specific. Do
24079 not put this in include/grub.
24081 * include/grub/i386/pc/console.h: Resurrected.
24083 * util/console.c: Include grub/machine/console.h instead of
24085 * util/grub-emu.c: Likewise.
24087 2005-08-04 Marco Gerards <metgerards@student.han.nl>
24089 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
24092 From Vincent Pelletier <subdino2004@yahoo.fr>
24093 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
24094 Redefined to use grub_getwh.
24095 (grub_term): New member named getwh.
24096 (grub_getwh): New prototype.
24097 * kern/term.c (grub_getwh): New function.
24098 * term/i386/pc/console.c (grub_console_getwh): New function.
24099 (grub_console_term): New member `getwh'.
24100 * term/i386/pc/vga.c (grub_vga_getwh): New function.
24101 (grub_vga_term): New member `getwh'.
24102 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
24104 (grub_ofconsole_getw): New function.
24105 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
24106 (grub_ofconsole_term): New field named getwh and new initial
24109 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
24111 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
24112 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
24113 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
24114 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
24115 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
24116 of <grub/machine/ieee1275.h>.
24117 * commands/ieee1275/reboot.c: Likewise.
24118 * boot/powerpc/ieee1275/ieee1275.c: Move ...
24119 * kern/ieee1275.c: ... to here. All users updated. Change all
24120 parameter structs to use new type `grub_ieee1275_cell_t'.
24121 * term/powerpc/ieee1275/ofconsole.c: Move ...
24122 * term/ieee1275/ofconsole.c: ... to here. All users updated.
24123 * disk/powerpc/ieee1275/ofdisk.c: Move ...
24124 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
24125 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
24127 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
24128 Remove unused prototypes. All users updated.
24129 * include/grub/powerpc/ieee1275/console.h: Removed.
24130 * include/grub/powerpc/ieee1275/ieee1275.h: Define
24131 `grub_ieee1275_cell_t'.
24132 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
24133 Cast comparisons with -1 to the correct type.
24134 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
24135 type to match `grub_ieee1275_entry_fn'.
24137 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
24139 * DISTLIST: Added util/i386/pc/grub-probefs.c.
24141 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
24142 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
24144 (grub_probefs_SOURCES): New variable.
24146 * util/i386/pc/grub-probefs.c: New file.
24148 * util/i386/pc/grub-setup.c (main): Call
24149 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
24150 grub_hfs_init and grub_jfs_init to initialize the system. Call
24151 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
24152 grub_pc_partition_map_fini to finish the system.
24154 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
24156 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
24158 (grub_multiboot_load_elf32): Likewise.
24159 (grub_multiboot_is_elf64): Likewise.
24160 (grub_multiboot_load_elf64): Likewise.
24161 (grub_multiboot_load_elf): Likewise.
24162 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
24163 an ELF32 or ELF64 file.
24164 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
24166 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
24167 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
24168 NULL before calling FS->LABEL.
24169 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
24170 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
24171 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
24172 before calling FS->LABEL.
24174 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
24176 * util/i386/pc/grub-install.in (datadir): New variable.
24178 (pkgdatadir): New variable.
24179 (pkglibdir): Removed.
24181 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
24183 * DISTLIST: Added util/i386/pc/grub-install.in.
24185 * util/i386/pc/grub-install.in: New file.
24187 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
24188 (grub_install_SOURCES): Likewise.
24190 * genmk.rb: Added support for scripts.
24191 (Script): New class.
24192 (scripts): New variable.
24194 * Makefile.in (install-local): Install sbin_SCRIPTS by
24196 (uninstall): Remove sbin_SCRIPTS.
24198 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
24199 device, try to get a GRUB device by
24200 grub_util_biosdisk_get_grub_dev.
24203 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
24204 description for --device-map.
24206 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
24208 Change the semantics of variable hooks. They now return strings
24209 instead of error values.
24211 * util/i386/pc/grub-setup.c: Include grub/env.h.
24212 (setup): Use grub_device_set_root instead of grub_env_set.
24214 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
24215 grub_env_get instead of grub_device_set_root and
24216 grub_device_get_root, respectively.
24218 * kern/main.c (grub_env_write_root): New function.
24219 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
24220 grub_env_set instead of grub_device_set_root.
24222 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
24224 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
24225 rather than calling ENV->WRITE_HOOK afterwards.
24226 (grub_env_get): Return the result of ENV->READ_HOOK rather than
24227 passing a pointer of a pointer.
24228 (grub_register_variable_hook): Change the types of "read_hook" and
24229 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
24231 Allocate the default empty string on the heap, because this string
24232 may be freed later.
24234 * kern/device.c: Include grub/env.h.
24235 (grub_device_set_root): Removed.
24236 (grub_device_get_root): Likewise.
24237 (grub_device_open): Use grub_env_get instead of
24238 grub_device_get_root.
24240 * include/grub/env.h (grub_env_read_hook_t): New type.
24241 (grub_env_write_hook_t): Likewise.
24242 (grub_env_var): Change the types of "read_hook" and "write_hook"
24243 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
24244 (grub_register_variable_hook): Likewise.
24246 * include/grub/device.h (grub_device_set_root): Removed.
24247 (grub_device_set_root): Likewise.
24249 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
24250 make sure that DIRNAME terminates with '/', so that
24251 grub_fat_find_dir will fail if PATH is not a directory.
24253 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
24255 Use the qualifier auto for print_files and print_files_long.
24256 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
24258 Put a newline only if there is no error.
24259 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
24262 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
24264 * kern/partition.c (grub_partition_probe): Initialize PART to
24265 NULL. Otherwise, when no partition map is registered, this returns
24268 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
24270 * partmap/apple.c (apple_partition_map_iterate): Check if POS
24271 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
24274 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
24276 * commands/ls.c (grub_ls_list_disks): Print the filesystem
24277 information on each device, if it does not have partitions. Print
24278 "Device" instead of "Disk", because this function is not specific
24281 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
24282 static to ensure that it is put on the memory rather than a
24285 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
24287 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
24288 (grub_cat_init): Likewise.
24289 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
24290 (options): Likewise.
24291 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24292 (grub_configfile_init): Likewise.
24293 * font/manager.c (GRUB_MOD_INIT): Likewise.
24294 * commands/help.c (GRUB_MOD_INIT): Likewise.
24295 (grub_help_init): Likewise.
24296 * normal/command.c (grub_command_init): Likewise.
24297 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
24298 * disk/loopback.c (grub_loop_init): Likewise.
24299 (GRUB_MOD_INIT): Likewise.
24300 * commands/ls.c (grub_ls_init): Likewise.
24301 (GRUB_MOD_INIT): Likewise.
24302 (options): Likewise.
24303 * commands/boot.c (grub_boot_init): Likewise.
24304 (GRUB_MOD_INIT): Likewise.
24305 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
24306 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
24307 (GRUB_MOD_INIT): Likewise.
24308 * commands/cmp.c (grub_cmp_init): Likewise.
24309 (GRUB_MOD_INIT): Likewise.
24311 * normal/arg.c: Use <> instead of "" to include header files.
24312 (SHORT_ARG_HELP): New macro.
24313 (SHORT_ARG_USAGE): Likewise.
24314 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
24315 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
24317 (find_short): Check if C is 'h' or 'u' explicitly.
24318 (grub_arg_show_help): Use space characters instead of tabs. Treat
24319 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
24320 are shown with --help and --usage only if they are not used for
24321 the command itself.
24322 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
24325 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
24326 const into "longarg". Change the type of "shortarg" to int.
24328 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
24330 * boot/i386/pc/boot.S (boot_drive_check): New label.
24332 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
24335 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
24336 which do not pass a boot drive correctly. Copied from GRUB Legacy.
24338 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
24340 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
24341 When turning off Gate A20, skip the check and return immediately,
24342 because this is not fatal usually.
24344 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
24346 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
24347 be 0x7C00 instead of 0x8000.
24349 * boot/i386/pc/pxeboot.S: Rewritten.
24351 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
24353 (gate_a20_check_state): Read a byte from 0x108000. Invert the
24356 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
24358 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
24359 robustness. This routine now supports a BIOS call and System
24360 Control Port A to modify the gate A20.
24362 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24363 Increased to 0x440.
24365 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
24367 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
24368 device path and resulting ihandle.
24369 (grub_ofdisk_close): dprintf the ihandle being closed.
24370 (grub_ofdisk_read): dprintf function parameters.
24371 * kern/mm.c (grub_mm_init_region): Likewise.
24372 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
24373 (grub_linux_boot): dprintf the Linux entry point, initrd address and
24374 size, and boot arguments.
24375 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
24376 before loading into memory.
24377 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
24378 before loading into memory.
24380 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
24382 * kern/mm.c: Added much documentation.
24383 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
24384 8, set to 5 instead of 8.
24386 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
24388 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
24390 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
24391 (grub_mkdevicemap_SOURCES): New variable.
24393 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
24394 lib/device.c of GRUB Legacy.
24396 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
24398 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
24399 instead of PATH is NULL.
24401 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
24403 * commands/cmp.c (BUFFER_SIZE): New macro.
24404 (grub_cmd_cmp): Close the right file at the right time. Compare
24405 only data just read. Don't report files of different size as
24406 identical. Dynamically allocate buffers. Move variable
24407 declarations at the beginning of function.
24409 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
24411 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
24414 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
24416 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
24417 when backspace is pressed at beginning of line.
24419 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
24421 * DISTLIST: Added genfslist.sh.
24423 * normal/main.c (fs_module_list): New variable.
24424 (autoload_fs_module): New function.
24425 (read_fs_list): Likewise.
24426 (grub_normal_execute): Call read_fs_list.
24428 * kern/fs.c (grub_fs_autoload_hook): New variable.
24429 (grub_fs_probe): Added support for auto-loading.
24431 * include/grub/normal.h (struct grub_fs_module_list): New struct.
24432 (grub_fs_module_list_t): New type.
24434 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
24435 (grub_fs_autoload_hook): New prototype.
24437 * genfslist.sh: New file.
24439 * genmk.rb: Added a rule to generate a filesystem list.
24441 2005-06-30 Marco Gerards <metgerards@student.han.nl>
24443 * configure.ac: Fix the test for cross-compiling.
24445 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
24446 define GRUB_UTIL anymore.
24448 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
24449 so this function works on other systems than just big endian.
24450 (load_modules): Likewise.
24451 (add_segments): Likewise.
24453 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
24455 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
24456 contains `l' modifier, get a long from va_arg().
24458 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
24460 * kern/mm.c (grub_free): If the next free block which is being
24461 merged is the first free block, set the first block to the block
24463 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
24465 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
24467 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
24468 `grub_ieee1275_chosen'.
24470 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
24472 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
24473 (grub_ieee1275_chosen): New variable.
24474 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
24476 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
24477 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
24478 Rename first argument to `phandle' for consistency.
24479 (grub_ieee1275_get_property_length): Likewise.
24480 (grub_ieee1275_next_property): Likewise. Change type of first argument
24481 to grub_ieee1275_phandle_t.
24482 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
24483 Move export next to declaration.
24484 (grub_ieee1275_chosen): New variable.
24485 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
24486 Correct cosmetic typo.
24487 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
24488 `grub_ieee1275_chosen'.
24489 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
24490 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
24491 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
24492 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
24493 `grub_ieee1275_chosen'.
24495 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
24497 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
24499 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
24500 /chosen/bootargs as "variable=value" pairs.
24502 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
24504 * include/grub/misc.h (grub_dprintf): New macro.
24505 (grub_real_dprintf): New prototype.
24506 (grub_strword): Likewise.
24507 (grub_iswordseparator): Likewise.
24508 * kern/misc.c (grub_real_dprintf): New function.
24509 (grub_strword): Likewise.
24510 (grub_iswordseparator): Likewise.
24512 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
24514 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
24515 (roundup): Remove macro.
24516 (grub_ieee1275_flags): Make static.
24517 (grub_ieee1275_realmode): Remove.
24518 (grub_ieee1275_test_flag): New function.
24519 (grub_ieee1275_set_flag): Likewise.
24520 (find_options): Rename to `grub_ieee1275_find_options'; update
24521 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
24522 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
24523 (cmain): New prototype.
24524 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
24525 `grub_ieee1275_flags' directly.
24526 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
24527 machine/biosdisk.h.
24528 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
24529 Don't include grub/machine/init.h.
24530 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
24531 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
24533 (grub_ieee1275_realmode): Likewise.
24534 (grub_ieee1275_flag): New enum.
24535 (grub_ieee1275_test_flag): New prototype.
24536 (grub_ieee1275_set_flag): New prototype.
24537 * include/grub/powerpc/ieee1275/init.h: Remove file.
24538 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
24539 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
24540 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
24541 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
24543 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
24544 `grub_ieee1275_test_flag'.
24545 (grub_ieee1275_encode_devname): Likewise.
24547 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
24549 * include/grub/powerpc/ieee1275/ieee1275.h
24550 (grub_ieee1275_encode_devname): New prototype.
24551 (grub_ieee1275_get_filename): Likewise.
24552 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
24554 (grub_set_prefix): Likewise.
24555 (grub_machine_init): Call grub_set_prefix.
24556 * kern/powerpc/ieee1275/openfw.c: Fix typos.
24557 (grub_parse_type): New enum.
24558 (grub_ieee1275_get_devargs): New function.
24559 (grub_ieee1275_get_devname): Likewise.
24560 (grub_ieee1275_parse_args): Likewise.
24561 (grub_ieee1275_get_filename): Likewise.
24562 (grub_ieee1275_encode_devname): Likewise.
24564 2005-03-30 Marco Gerards <metgerards@student.han.nl>
24566 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
24567 `grub_loader_unset'.
24569 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
24571 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
24572 instead of grub_ieee1275_interpret.
24573 (grub_halt_init): New function.
24574 (grub_halt_fini): Likewise.
24575 (GRUB_MOD_INIT): Correct message grammar.
24576 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
24577 instead of grub_ieee1275_interpret.
24578 (grub_reboot_init): New function.
24579 (grub_reboot_fini): Likewise.
24580 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
24581 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
24582 util/i386/pc/misc.c with commands/ieee1275/halt.c,
24583 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
24584 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
24586 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
24588 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
24590 (grub_halt): Likewise.
24591 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
24592 (cmain): Remove __attribute__((unused)).
24593 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
24594 (grub_heap_len): Likewise.
24595 (grub_machine_fini): New function.
24596 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
24597 (grub_halt): Likewise.
24598 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
24600 * util/powerpc/ieee1275/misc.c: New file.
24602 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
24604 * DISTLIST: New file.
24605 * gendistlist.sh: Likewise.
24607 * Makefile.in (COMMON_DISTFILES): Removed.
24608 (BOOT_DISTFILES): Likewise.
24609 (CONF_DISTFILES): Likewise.
24610 (DISK_DISTFILES): Likewise.
24611 (FS_DISTFILES): Likewise.
24612 (INCLUDE_DISTFILES): Likewise.
24613 (KERN_DISTFILES): Likewise.
24614 (LOADER_DISTFILES): Likewise.
24615 (TERM_DISTFILES): Likewise.
24616 (UTIL_DISTFILES): Likewise.
24617 (DISTFILES): Likewise.
24618 (uninstall): Uninstall files in $(pkgdata_DATA).
24619 (DISTLIST): New target.
24620 (distdir): Use the contents of the file DISTLIST to get a list of
24623 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
24625 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
24626 descriptor. This is ported from GRUB Legacy.
24628 * gencmdlist.sh: Added an extra semicolon to make it work with
24629 old sed versions. Reported by Robert Bihlmeyer
24630 <robbe@orcus.priv.at>.
24632 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
24634 Automatic loading of commands is supported.
24636 * normal/main.c (read_command_list): New function.
24637 (grub_normal_execute): Call read_command_list.
24639 * normal/command.c (grub_register_command): Return zero or CMD.
24640 Allocate CMD->NAME from the heap.
24641 Initialize CMD->MODULE_NAME to zero.
24642 Find the same name as well. If the same command is found and it is
24643 a dummy command, overwrite members. If it is not a dummy command,
24645 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
24646 (grub_command_find): If a dummy command is found, load a module
24647 and retry to find a command only once.
24649 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
24650 make sure that each command is loaded.
24652 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
24654 (struct grub_command): Remove const from the member `name'.
24655 Add a new member `module_name'.
24656 (grub_register_command): Return grub_command_t.
24658 * commands/help.c (grub_cmd_help): Call grub_command_find to make
24659 sure that each command is loaded.
24661 * genmk.rb (PModule::rule): Specify a module name without the
24662 suffix ".mod" to gencmdlist.sh.
24664 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
24666 * gencmdlist.sh: New file.
24668 * genmk.rb (PModule::rule): Generate a rule for a command list.
24670 Generate command.lst from $(COMMANDFILES).
24672 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
24673 (DATA): Added $(pkgdata_DATA).
24674 (install-local): Install files in $(pkgdata_DATA).
24676 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
24678 * term/i386/pc/vga.c (debug_command): Removed.
24679 (GRUB_MOD_INIT): Do not register the command "debug".
24681 From Hollis Blanchard:
24682 * commands/configfile.c: New file.
24683 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
24684 commands/configfile.c.
24685 (pkgdata_MODULES): Added configfile.mod.
24686 (configfile_mod_SOURCES): New variable.
24687 (configfile_mod_CFLAGS): Likewise.
24688 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24689 commands/configfile.c.
24690 (pkgdata_MODULES): Added configfile.mod.
24691 (configfile_mod_SOURCES): New variable.
24692 (configfile_mod_CFLAGS): Likewise.
24693 * util/grub-emu.c (main): Call grub_configfile_init and
24694 grub_configfile_fini.
24695 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
24697 [GRUB_UTIL] (grub_configfile_fini): Likewise.
24699 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
24701 * normal/arg.c (grub_arg_show_help): Do not show the bug report
24704 * commands/help.c (grub_cmd_help): Do not print newlines after
24705 the last command in print_command_help.
24707 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
24709 * commands/default.h: New file.
24710 * commands/timeout.h: Likewise.
24711 * normal/context.c: Likewise.
24713 * util/misc.c: Do not include sys/times.h.
24714 Include sys/time.h and grub/machine/time.h.
24715 (grub_get_rtc): Rewritten with gettimeofday.
24717 * util/grub-emu.c (main): Call grub_default_init and
24718 grub_timeout_init before grub_normal_init, and call
24719 grub_timeout_fini and grub_default_fini after grub_main.
24721 * util/console.c (grub_ncurses_checkkey): Return the read
24724 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
24727 * normal/main.c (read_config_file): Push MENU. If this fails,
24728 print an error and wait for a user input.
24729 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
24730 If a menu is empty or an error occurs, pop MENU.
24731 (grub_normal_execute): Pop and free MENU after grub_menu_run
24734 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
24736 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
24738 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
24740 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
24742 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
24745 * include/grub/normal.h (struct grub_menu_list): New struct.
24746 (grub_menu_list_t): New type.
24747 (struct grub_context): New struct.
24748 (grub_context_t): New type.
24749 (grub_register_command): Got rid of EXPORT_FUNC.
24750 (grub_unregister_command): Likewise.
24751 (grub_context_get): New prototype.
24752 (grub_context_get_current_menu): Likewise.
24753 (grub_context_push_menu): Likewise.
24754 (grub_context_pop_menu): Likewise.
24755 [GRUB_UTIL] (grub_default_init): Likewise.
24756 [GRUB_UTIL] (grub_default_fini): Likewise.
24757 [GRUB_UTIL] (grub_timeout_init): Likewise.
24758 [GRUB_UTIL] (grub_timeout_fini): Likewise.
24760 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
24761 commands/timeout.c and normal/context.c.
24762 (pkgdata_MODULES): Added default.mod and timeout.mod.
24763 (normal_mod_SOURCES): Added normal/context.c.
24764 (default_mod_SOURCES): New variable.
24765 (default_mod_CFLAGS): Likewise.
24766 (timeout_mod_SOURCES): Likewise.
24767 (timeout_mod_CFLAGS): Likewise.
24768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
24770 (pkgdata_MODULES): Added default.mod and timeout.mod.
24771 (normal_mod_SOURCES): Added normal/context.c.
24772 (default_mod_SOURCES): New variable.
24773 (default_mod_CFLAGS): Likewise.
24774 (timeout_mod_SOURCES): Likewise.
24775 (timeout_mod_CFLAGS): Likewise.
24777 * Makefile.in (all-local): Added $(MKFILES).
24779 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
24781 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
24782 (grub_emu_SOURCES): Likewise.
24783 (pkgdata_MODULES): Add `sun.mod'.
24784 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
24785 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24787 (pkgdata_MODULES): Add `sun.mod'.
24788 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
24789 * include/grub/partition.h (grub_sun_partition_map_init): New
24791 (grub_sun_partition_map_fini): Likewise.
24792 * partmap/sun.c: New file.
24793 * util/grub-emu.c (main): Initialize and de-initialize the sun
24794 partitionmap support.
24796 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
24798 This implements an Emacs-like menu entry editor.
24800 * normal/menu_entry.c: New file.
24802 * util/console.c (grub_ncurses_putchar): Translate some Unicode
24803 characters to ASCII.
24804 (saved_char): New variable.
24805 (grub_ncurses_checkkey): Rewritten completely.
24806 (grub_ncurses_getkey): Likewise.
24807 (grub_ncurses_init): Call raw instead of cbreak.
24809 * normal/menu.c (print_entry): Do not put a space.
24810 (init_page): Renamed to ...
24811 (grub_menu_init_page): ... this. All callers changed.
24812 (edit_menu_entry): Removed.
24813 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
24815 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
24817 * kern/misc.c (grub_vprintf): Call grub_refresh.
24819 * normal/menu.c (DISP_LEFT): Renamed to ...
24820 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
24821 * normal/menu.c (DISP_UP): Renamed to ...
24822 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
24823 * normal/menu.c (DISP_RIGHT): Renamed to ...
24824 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
24825 * normal/menu.c (DISP_DOWN): Renamed to ...
24826 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
24827 * normal/menu.c (DISP_HLINE): Renamed to ...
24828 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
24829 * normal/menu.c (DISP_VLINE): Renamed to ...
24830 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
24831 * normal/menu.c (DISP_UL): Renamed to ...
24832 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
24833 * normal/menu.c (DISP_UR): Renamed to ...
24834 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
24835 * normal/menu.c (DISP_LL): Renamed to ...
24836 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
24837 * normal/menu.c (DISP_LR): Renamed to ...
24838 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
24839 * normal/menu.c (TERM_WIDTH): Renamed to ...
24840 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
24841 * normal/menu.c (TERM_HEIGHT): Renamed to ...
24842 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
24843 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
24844 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
24845 * normal/menu.c (TERM_MARGIN): Renamed to ...
24846 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
24847 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
24848 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
24849 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
24850 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
24851 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
24852 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
24853 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
24854 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
24855 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
24856 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
24857 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
24858 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
24859 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
24860 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
24861 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
24862 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
24863 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
24864 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
24865 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
24866 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
24867 All callers changed.
24869 * include/grub/normal.h: New prototype.
24871 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
24872 normal/menu_entry.c.
24873 (normal_mod_SOURCES): Likewise.
24874 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24875 (normal_mod_SOURCES): Likewise.
24877 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
24879 * include/grub/normal.h (grub_halt_init): New prototype.
24880 (grub_halt_fini): Likewise.
24881 (grub_reboot_init): Likewise.
24882 (grub_reboot_fini): Likewise.
24884 * util/grub-emu.c: Include signal.h.
24885 (main_env): New global variable.
24886 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
24888 (grub_machine_fini): New function.
24889 (main): Call grub_halt_init and grub_reboot_init before
24890 grub_main, and grub_reboot_fini and grub_halt_fini after it.
24891 Call setjmp with MAIN_ENV to go back afterwards.
24892 Call grub_machine_fini right before return.
24894 * include/grub/util/misc.h: Include setjmp.h.
24895 (main_env): New prototype.
24897 * include/grub/kernel.h (grub_machine_fini): New prototype.
24898 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
24899 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
24901 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
24902 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
24903 * term/i386/pc/console.c (grub_console_fini): Likewise.
24905 * util/i386/pc/misc.c: New file.
24907 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
24908 util/i386/pc/misc.c, commands/i386/pc/halt.c and
24909 commands/i386/pc/reboot.c.
24911 2005-02-14 Guillem Jover <guillem@hadrons.org>
24913 * include/grub/dl.h (grub_dl_check_header): New prototype.
24914 (grub_arch_dl_check_header): Change return type to grub_err_t,
24915 remove size parameter and export function. Update all callers.
24916 * kern/dl.c (grub_dl_check_header): New function.
24917 (grub_dl_load_core): Use `grub_dl_check_header' instead of
24918 `grub_arch_dl_check_header'. Check ELF type. Check if sections
24919 are inside the core.
24920 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
24921 independent ELF header checks.
24922 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
24923 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
24924 `grub_dl_check_header' instead of explicit checks. Check for the
24926 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
24927 `grub_dl_check_header' instead of explicit checks. Remove arch
24928 specific ELF header checks.
24930 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
24933 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
24935 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
24936 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
24938 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
24940 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
24941 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
24942 (part_map_iterate): Clear `grub_errno' and return 0 if
24943 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
24944 * partmap/amiga.c (amiga_partition_map_iterate): Return
24945 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
24946 * partmap/apple.c (apple_partition_map_iterate): Likewise.
24948 2005-02-01 Guillem Jover <guillem@hadrons.org>
24950 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
24953 2005-01-31 Marco Gerards <metgerards@student.han.nl>
24955 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
24957 (grub_rescue_cmd_linux): New prototype.
24958 (grub_rescue_cmd_initrd): Likewise.
24959 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
24961 (grub_linux_release_mem): Release the memory for the initrd.
24962 (grub_load_linux): Renamed from this...
24963 (grub_rescue_cmd_linux): ...To this. Changed all callers.
24964 Changed `entry' not to be static. Loop over memory regions to
24965 find another one when the default fails.
24966 (grub_rescue_cmd_initrd): New function.
24967 (grub_linux_init): Remove function.
24968 (grub_linux_fini): Likewise.
24969 (GRUB_MOD_INIT): Register `initrd'.
24970 (GRUB_MOD_FINI): Unregister `initrd'.
24971 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
24973 (grub_linux_normal_fini): Likewise.
24974 (GRUB_MOD_INIT): Register `initrd'.
24975 (GRUB_MOD_FINI): Unregister `initrd'.
24977 2005-01-31 Marco Gerards <metgerards@student.han.nl>
24979 * commands/help.c: New file.
24980 * normal/arg.c (show_help): Renamed to...
24981 (grub_arg_show_help): ... this.
24982 * commands/i386/pc/halt.c: New file.
24983 * commands/i386/pc/reboot.c: Likewise.
24984 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
24985 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
24986 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
24987 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
24989 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24991 (pkgdata_MODULES): Add `help.mod'.
24992 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
24993 * grub/i386/pc/init.h (grub_reboot): New prototype.
24994 (grub_halt): Likewise.
24995 * include/grub/normal.h (grub_arg_show_help): New prototype.
24996 (grub_help_init): Likewise.
24997 (grub_help_fini): Likewise.
24998 * util/grub-emu.c (main): Initialize and deinitialize the help
25001 * normal/cmdline.c (grub_cmdline_get): Doc fix.
25003 * normal/command.c (grub_command_init): Fixed the description of
25004 the `set' and `unset' commands.
25006 2005-01-31 Marco Gerards <metgerards@student.han.nl>
25008 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
25010 * commands/ieee1275/halt.c: New file.
25011 * commands/ieee1275/reboot.c: Likewise.
25012 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
25013 `__attribute__ ((unused))'. Some GCS related fixed.
25014 (grub_suspend_init) [GRUB_UTIL]: Function removed.
25015 (grub_suspend_fini): Likewise.
25016 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
25018 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
25019 (halt_mod_CFLAGS): New variables.
25020 * include/grub/powerpc/ieee1275/ieee1275.h
25021 (grub_ieee1275_interpret): New prototype.
25023 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
25025 * include/grub/misc.h (memmove): New prototype.
25026 (memcpy): Likewise.
25028 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
25030 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
25031 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
25033 2005-01-22 Marco Gerards <metgerards@student.han.nl>
25035 * kern/misc.c (grub_strndup): Function rewritten.
25037 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
25039 * normal/menu.c (TERM_WIDTH): Macro redefined.
25040 (TERM_TOP_BORDER_Y): Likewise.
25041 (draw_border): Replaced while-loop by a for-loop. Make the number
25042 of lines consistent with the number of lines displayed in
25043 print_entries. Added a margin below the rectangle.
25044 (print_entry): Make the entry fit in the rectangle.
25045 (print_entries): Display the scroll arrows next to the right
25048 2005-01-21 Marco Gerards <metgerards@student.han.nl>
25050 * fs/minix.c (grub_minix_find_file): Reserve more space for
25051 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
25052 `grub_strncpy' to copy `path' into it.
25054 2005-01-21 Marco Gerards <metgerards@student.han.nl>
25056 Add the loopback device, a device via which files can be accessed
25059 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
25060 (pkgdata_MODULES): Add loopback.mod.
25061 (loopback_mod_SOURCES): New variable.
25062 (loopback_mod_CFLAGS): Likewise.
25063 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25065 (pkgdata_MODULES): Add loopback.mod.
25066 (loopback_mod_SOURCES): New variable.
25067 (loopback_mod_CFLAGS): Likewise.
25068 * disk/loopback.c: new file.
25069 * include/grub/normal.h (grub_loop_init): New prototype.
25070 (grub_loop_fini): New prototype.
25071 * util/grub-emu.c (main): Initialize and de-initialize loopback
25073 * include/grub/disk.h (grub_disk_dev_id): Add
25074 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
25076 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
25078 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
25080 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
25081 (suspend_mod_SOURCES): New variable.
25082 (suspend_mod_CFLAGS): Likewise.
25083 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
25085 * commands/ieee1275/suspend.c: New file.
25087 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25089 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
25090 ((unused))' to `__attribute__ ((used))'.
25091 (GRUB_MOD_FINI): Likewise.
25092 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
25093 * genmk.rb (PModule): Assign space to common symbols when linking
25096 2005-01-20 Marco Gerards <metgerards@student.han.nl>
25098 * include/grub/mm.h (grub_mm_init_region): Change the type of the
25099 `unsigned' arguments to `grub_size_t'.
25100 (grub_malloc): Likewise.
25101 (grub_realloc): Likewise.
25102 (grub_memalign): Likewise.
25103 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
25104 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
25105 * util/misc.c (grub_malloc): Likewise.
25106 (grub_realloc): Likewise.
25107 * kern/mm.c (get_header_from_pointer): Change the casts to
25108 `unsigned' into a cast to `grub_size_t'.
25110 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
25111 point to `currnode' when `currnode' is changed.
25113 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
25114 Schottelius <nico-linux@schottelius.org>.
25116 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
25118 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
25119 (note_path): Remove variable.
25120 (GRUB_IEEE1275_NOTE_NAME): New macro.
25121 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
25122 (grub_ieee1275_note_hdr): New structure.
25123 (grub_ieee1275_note_desc): Likewise.
25124 (grub_ieee1275_note): Likewise.
25125 (load_note): Remove `dir' argument. All callers updated. Remove
25126 `note_img' and `path'. Do not load a file from `note_path'.
25127 Initialize a struct grub_ieee1275_note and write that to `out'.
25128 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
25130 2005-01-05 Marco Gerards <metgerards@student.han.nl>
25132 * util/misc.c (grub_util_read_image): Revert last change. It
25133 called `grub_util_read_at', which seeks from the beginning of the
25136 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
25138 * TODO: Add note about endianness in grub-mkimage.
25139 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
25141 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
25142 (grub_mkimage_SOURCES): New target.
25143 * include/grub/kernel.h (grub_start_addr): Remove variable.
25144 (grub_end_addr): Likewise.
25145 (grub_total_module_size): Likewise.
25146 (grub_kernel_image_size): Likewise.
25147 (GRUB_MODULE_MAGIC): New constant.
25148 (grub_module_info): New structure.
25149 (grub_arch_modules_addr): New prototype.
25150 (grub_get_end_addr): Remove prototype.
25151 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
25152 * include/grub/powerpc/ieee1275/kernel.h: New file.
25153 * include/grub/util/misc.h (grub_util_get_fp_size): New
25155 (grub_util_read_at): Likewise.
25156 (grub_util_write_image_at): Likewise.
25157 * kern/main.c (grub_get_end_addr): Remove function.
25158 (grub_load_modules): Call grub_arch_modules_addr instead of using
25159 grub_end_addr. Look for a grub_module_info struct in memory. Use
25160 the grub_module_info fields instead of calling grub_get_end_addr
25161 as loop conditions. Move grub_add_unused_region code here.
25162 (grub_add_unused_region): Remove function.
25163 * kern/i386/pc/init.c: Include grub/cache.h.
25164 (grub_machine_init): Remove call to grub_get_end_addr. Remove
25165 one call to add_mem_region.
25166 (grub_arch_modules_addr): New function.
25167 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
25168 (grub_total_module_size): Likewise.
25169 Include grub/machine/kernel.h.
25170 (grub_arch_modules_addr): New function.
25171 * util/grub-emu.c (grub_end_addr): Remove variable.
25172 (grub_total_module_size): Likewise.
25173 (grub_arch_modules_addr): New function.
25174 * util/misc.c: Include unistd.h.
25175 (grub_util_get_fp_size): New function.
25176 (grub_util_read_at): Likewise.
25177 (grub_util_write_image_at): Likewise.
25178 (grub_util_read_image): Call grub_util_read_at.
25179 (grub_util_write_image): Call grub_util_write_image_at.
25180 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
25181 additional memory in kernel_img for a struct grub_module_info.
25182 Fill in that grub_module_info.
25183 * util/powerpc/ieee1275/grub-mkimage.c: New file.
25185 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
25187 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
25189 * include/grub/powerpc/ieee1275/ieee1275.h
25190 (grub_ieee1275_milliseconds): New prototype.
25191 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
25193 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
25194 grub_ieee1275_milliseconds.
25196 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
25198 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
25200 (find_options): New function.
25201 (cmain): Call find_options.
25202 * include/grub/powerpc/ieee1275/ieee1275.h
25203 (grub_ieee1275_realmode): New extern variable.
25204 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
25205 grub_map if grub_ieee1275_realmode is false.
25207 2004-12-29 Marco Gerards <metgerards@student.han.nl>
25209 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
25210 lines are inserted and make it work like readline. Reported by
25211 Vincent Pelletier <subdino2004@yahoo.fr>.
25213 2004-12-28 Marco Gerards <metgerards@student.han.nl>
25215 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
25217 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
25218 `kern/powerpc/cache.S'.
25220 2004-12-27 Marco Gerards <metgerards@student.han.nl>
25222 * genmk.rb: Handle the `Program' class in the main loop. Written
25223 by Johan Rydberg <jrydberg@gnu.org>.
25224 (Program): New class.
25225 (programs): New variable.
25226 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
25227 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
25228 instead of "grub/kernel.h". Include <grub/machine/init.h>.
25229 (help_arch): Function removed.
25230 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
25231 `powerpc/libgcc.h' and `loader.h'.
25232 (pkgdata_PROGRAMS): New variable.
25233 (sbin_UTILITIES): Variable removed.
25234 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
25235 (grubof_SOURCES): Variable re-defined so it only includes the
25236 core functionality.
25237 (grubof_CFLAGS): Remove `-DGRUBOF'.
25238 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
25239 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
25240 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
25241 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
25242 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
25243 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
25244 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
25245 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
25246 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
25247 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
25248 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25249 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
25250 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
25251 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
25252 (pc_mod_CFLAGS): New variables.
25253 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
25254 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
25255 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
25256 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
25258 * include/grub/i386/pc/init.h (grub_os_area_addr)
25259 (rub_os_area_size): ... to here.
25260 * include/grub/powerpc/ieee1275/ieee1275.h
25261 (grub_ieee1275_entry_fn): Export symbol.
25262 * include/grub/powerpc/ieee1275/init.h: New file.
25263 * include/grub/powerpc/libgcc.h: Likewise.
25264 * include/grub/cache.h: Likewise.
25265 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
25266 <hollis@penguinppc.org>.
25267 * kern/dl.c: Include <grub/cache.h>.
25268 (grub_dl_flush_cache): New function.
25269 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
25271 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
25272 (grub_console_init): Removed prototypes.
25273 (grub_machine_init): Don't initialize the modules anymore.
25274 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
25276 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
25277 Macro undef removed.
25278 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
25279 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
25280 relocation `R_PPC_REL32'. Return an error when the relocation is
25282 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
25283 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
25284 * util/misc.c (grub_arch_sync_caches): Likewise.
25286 2004-12-19 Marco Gerards <metgerards@student.han.nl>
25288 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
25289 `symlist.c', add `grubof_symlist.c'.
25290 (symlist.c): Variable removed.
25291 (grubof_HEADERS): Variable added.
25292 (grubof_symlist.c): New target.
25293 (kernel_syms.lst): Use `grubof_HEADERS' instead of
25294 `kernel_img_HEADERS'.
25295 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
25296 * kern/powerpc/dl.c: New file.
25297 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
25299 (grub_arch_dl_relocate_symbols): Likewise.
25300 (grub_register_exported_symbols): Likewise.
25302 2004-12-13 Marco Gerards <metgerards@student.han.nl>
25304 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
25305 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
25306 to fail instead. Reported by Vincent Pelletier
25307 <subdino2004@yahoo.fr>.
25309 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
25310 it is not allocated. Reported by Vincent Pelletier
25311 <subdino2004@yahoo.fr>.
25313 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
25314 output so the output looks better.
25316 2004-12-04 Marco Gerards <metgerards@student.han.nl>
25318 Modulize the partition map support and add support for the amiga
25321 * commands/ls.c: Include <grub/partition.h> instead of
25322 <grub/machine/partition.h>.
25323 * kern/disk.c: Likewise.
25324 * kern/rescue.c: Likewise.
25325 * loader/i386/pc/chainloader.c: Likewise.
25326 * normal/cmdline.c: Likewise.
25327 * kern/powerpc/ieee1275/init.c: Likewise.
25328 (grub_machine_init): Call `grub_pc_partition_map_init',
25329 `grub_amiga_partition_map_init' and
25330 `grub_apple_partition_map_init'.
25331 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
25332 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
25333 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
25334 `partition.h' and `pc_partition.h'.
25335 (grub_setup_SOURCES): Remove
25336 `disk/i386/pc/partition.c'. Add `kern/partition.c',
25337 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
25338 (grub_emu_SOURCES): Likewise.
25339 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
25340 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
25341 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
25342 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
25343 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
25344 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
25345 (grubof_SOURCES): Likewise.
25346 * disk/i386/pc/partition.c: File removed.
25347 * disk/powerpc/ieee1275/partition.c: Likewise.
25348 * include/grub/powerpc/ieee1275/partition.h: Likewise.
25349 * include/grub/i386/pc/partition.h: Likewise.
25350 * kern/partition.c: New file.
25351 * partmap/amiga.c: Likewise.
25352 * partmap/apple.c: Likewise.
25353 * partmap/pc.c: Likewise.
25354 * include/grub/partition.h: Likewise..
25355 * include/grub/pc_partition.h: Likewise.
25356 * util/grub-emu.c: Include <grub/partition.h> instead of
25357 <grub/machine/partition.h>.
25358 (main): Call `grub_pc_partition_map_init',
25359 `grub_amiga_partition_map_init' and
25360 `grub_apple_partition_map_init' and deinitialize afterwards.
25361 * util/i386/pc/biosdisk.c: Include `#include
25362 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
25363 `<grub/machine/partition.h>'.
25364 * util/i386/pc/grub-setup.c: Likewise.
25365 * util/i386/pc/biosdisk.c: Likewise.
25366 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
25367 partition information in case of a PC partition.
25368 * util/i386/pc/grub-setup.c: Include `#include
25369 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
25370 `<grub/machine/partition.h>'.
25371 (setup): Only access the PC specific partition information in case
25374 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
25376 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
25377 (grub_longjmp): Likewise.
25378 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
25380 * normal/powerpc/setjmp.S: New file.
25381 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
25382 `normal/powerpc/setjmp.S'.
25383 (grubof_CFLAGS): Add `-DGRUBOF'.
25384 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
25385 [GRUB_UTIL && !GRUBOF].
25387 2004-11-16 Marco Gerards <metgerards@student.han.nl>
25389 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
25390 property named `name'. Correctly handle the error returned by
25391 `grub_ieee1275_finddevice' if a device can not be opened.
25393 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
25395 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
25396 `actual' for negativity.
25397 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
25400 2004-11-01 Marco Gerards <metgerards@student.han.nl>
25402 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
25403 (PAGE_OFFSET): New macro.
25404 (CRTC_ADDR_PORT): Likewise.
25405 (CRTC_DATA_PORT): Likewise.
25406 (START_ADDR_HIGH_REGISTER): Likewise.
25407 (START_ADDR_LOW_REGISTER): Likewise.
25408 (GRAPHICS_ADDR_PORT): Likewise.
25409 (GRAPHICS_DATA_PORT): Likewise.
25410 (READ_MAP_REGISTER): Likewise.
25411 (INPUT_STATUS1_REGISTER): Likewise.
25412 (INPUT_STATUS1_VERTR_BIT): Likewise.
25413 (page): New variable.
25414 (wait_vretrace): New function.
25415 (set_read_map): Likewise.
25416 (set_start_address): Likewise.
25417 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
25419 (check_vga_mem): Take the page into account.
25420 (write_char): Likewise.
25421 (write_cursor): Likewise.
25422 (scroll_up): Likewise. Copy the page to the page that is not
25423 shown and switch between both pages.
25424 (grub_vga_putchar): Fix off by one error.
25425 (grub_vga_cls): Wait for the vertical retrace. Take the page into
25428 2004-11-01 Marco Gerards <metgerards@student.han.nl>
25430 Add support for iso9660 (including rockridge).
25432 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
25433 (iso9660_mod_SOURCES): New variable.
25434 (iso9660_mod_CFLAGS): Likewise.
25435 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
25436 * include/grub/fs.h (grub_iso9660_init): New prototype.
25437 * util/grub-emu.c (main): Call `grub_iso9660_init'.
25438 * fs/iso9660.c: New file.
25440 * include/grub/misc.h (grub_strncat): New prototype.
25441 * kern/misc.c (grub_strncat): New function.
25443 * fs/hfs.c (grub_hfs_mount): Translate the error
25444 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
25445 * fs/jfs.c (grub_jfs_mount): Likewise.
25446 * fs/ufs.c (grub_ufs_mount): Likewise.
25448 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
25450 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
25451 which initialized BAT registers.
25452 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
25453 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
25455 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
25456 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
25458 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
25459 (grub_mapclaim): Likewise.
25460 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
25461 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
25464 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
25466 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
25467 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
25468 -ffreestanding and -msoft-float.
25470 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
25472 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
25473 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
25474 set in grub_ieee1275_flags.
25476 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
25478 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
25480 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
25481 grub_console_init first.
25482 Change the memory range used for grub_ieee1275_claim and
25483 grub_mm_init_region.
25484 Print an error message if the claim fails.
25485 Include <grub/misc.h>.
25487 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
25489 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
25490 Call grub_children_iterate for device nodes of type `scsi',
25492 (grub_ofdisk_open): Remove manual device alias resolution.
25493 Fix memory leak when device cannot be opened.
25494 * include/grub/powerpc/ieee1275/ieee1275.h
25495 (grub_children_iterate): New prototype.
25496 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
25498 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
25499 Return -1 if args.size was -1.
25501 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
25503 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
25504 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
25505 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
25506 Open Firmware's memory for it; claim memory from _start to _end.
25507 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
25508 (_end): New extern.
25509 (_start): Zero BSS from __bss_start to _end.
25510 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
25512 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
25514 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
25516 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
25517 -1 if args.base was -1.
25519 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
25521 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
25522 escape sequence instead of a literal ^L. Also call
25523 grub_ofconsole_gotoxy.
25525 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
25527 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
25528 void * arguments to grub_addr_t. All callers updated. Also make
25529 the `result' argument optional.
25530 (grub_ieee1275_release): change void * arguments to grub_addr_t.
25531 All callers updated.
25533 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
25535 * commands/ls.c (grub_ls_list_files): Use the string following the
25536 initial ')', if present, as the filesystem path.
25537 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
25539 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
25541 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
25543 Make the source code of the menu interface more readable.
25545 * normal/menu.c: Include grub/mm.h.
25546 (TERM_WIDTH): New macro.
25547 (TERM_HEIGHT): Likewise.
25548 (TERM_INFO_HEIGHT): Likewise.
25549 (TERM_MARGIN): Likewise.
25550 (TERM_SCROLL_WIDTH): Likewise.
25551 (TERM_TOP_BORDER_Y): Likewise.
25552 (TERM_LEFT_BORDER_X): Likewise.
25553 (TERM_BORDER_WIDTH): Likewise.
25554 (TERM_MESSAGE_HEIGHT): Likewise.
25555 (TERM_BORDER_HEIGHT): Likewise.
25556 (TERM_NUM_ENTRIES): Likewise.
25557 (TERM_FIRST_ENTRY_Y): Likewise.
25558 (TERM_ENTRY_WIDTH): Likewise.
25559 (TERM_CURSOR_X): Likewise.
25560 (draw_border): Use macros instead of magic numbers.
25561 (print_entry): Likewise.
25562 (print_entries): Likewise.
25563 (run_menu): Likewise. Also, handle the key 'e'.
25564 (run_menu_entry): Ignore empty command lines.
25565 (print_message): Added a new argument EDIT. If EDIT is true,
25566 print a different message.
25567 (init_page): Likewise.
25568 (edit_menu_entry): New function. Not implemented yet.
25570 2004-09-17 Marco Gerards <metgerards@student.han.nl>
25572 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
25573 can be loaded from normal mode.
25575 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
25577 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
25578 (multiboot_mod_CFLAGS): New variables.
25579 * loader/i386/pc/linux_normal.c: New file.
25580 * loader/i386/pc/multiboot_normal.c: Likewise.
25582 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
25583 attribute `unused'.
25585 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
25586 `fdiro' to read the mode information from instead of `diro'.
25588 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
25589 looking up a symlink.
25591 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
25593 * normal/command.c (grub_command_execute): Don't parse the
25594 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
25595 flags of the command.
25597 * normal/menu.c (grub_menu_run): Fix typo.
25599 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
25601 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
25603 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
25604 `y + 1' instead of `y - 1'.
25606 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
25608 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
25610 From Hollis Blanchard <hollis@penguinppc.org>:
25611 * kern/misc.c (memmove): New alias for grub_memmove.
25612 (memcmp): New alias for grub_memcmp.
25613 (memset): New alias for grub_memset.
25614 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
25615 Change "int handle" to "grub_ieee1275_phandle_t handle".
25616 * include/grub/powerpc/ieee1275/ieee1275.h
25617 (grub_ieee1275_get_property): Likewise.
25619 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
25621 Added normal mode command `chainloader' as module chain.mod, which
25622 depends on normal.mod and _chain.mod.
25624 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
25625 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
25626 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
25628 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
25629 but arguments parsing moved to ...
25630 (grub_chainloader_cmd): ... here. New function.
25631 * include/grub/i386/pc/chainloader.h: New file.
25632 * loader/i386/pc/chainloader_normal.c: Likewise.
25634 2004-09-11 Marco Gerards <metgerards@student.han.nl>
25636 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
25637 (grub_mkimage_LDFLAGS): Likewise.
25638 (grub_emu_SOURCES): Likewise.
25639 (kernel_img_HEADERS): Added fshelp.h.
25640 * fs/ext2.c: Include <grub/fshelp.h>.
25641 (FILETYPE_REG): New macro.
25642 (FILETYPE_INO_REG): Likewise.
25643 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
25645 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
25647 (grub_fshelp_node): New struct.
25648 (grub_ext2_data): Added member `diropen'. Changed member `inode'
25650 (grub_ext2_get_file_block): Removed function.
25651 (grub_ext2_read_block): New function.
25652 (grub_ext2_read_file): Replaced parameter `data' by `node'.
25653 This function was written.
25654 (grub_ext2_mount): Read the root inode. Create a diropen struct.
25655 (grub_ext2_find_file): Removed function.
25656 (grub_ext2_read_symlink): New function.
25657 (grub_ext2_iterate_dir): Likewise.
25658 (grub_ext2_open): Rewritten.
25659 (grub_ext2_dir): Rewritten.
25660 * include/grub/fshelp.h: New file.
25661 * fs/fshelp.c: Likewise.
25663 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
25665 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
25666 (print_message): Add a missing newline.
25667 (run_menu): Added timeout support.
25668 (run_menu_entry): New local function.
25669 (grub_menu_run): Added support for booting.
25671 * kern/loader.c (grub_loader_is_loaded): New function.
25673 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
25674 (grub_get_rtc): Exported.
25676 * include/grub/i386/pc/time.h: Include grub/symbol.h.
25677 (grub_get_rtc): Exported.
25679 * include/grub/normal.h (struct grub_command_list): Remove
25680 constant from the member `command'.
25682 * include/grub/loader.h (grub_loader_is_loaded): Declared.
25684 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
25686 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
25688 2004-08-28 Marco Gerards <metgerards@student.han.nl>
25690 Add support for the JFS filesystem.
25692 * fs/jfs.c: New file.
25693 * include/grub/fs.h (grub_jfs_init): New prototype.
25694 (grub_jfs_fini): New prototype.
25695 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
25696 (grub_emu_SOURCES): Likewise.
25697 (pkgdata_MODULES): Add jfs.mod.
25698 (jfs_mod_SOURCES): New variable.
25699 (jfs_mod_CFLAGS): Likewise.
25700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
25701 (grubof_SOURCES): Likewise.
25702 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
25704 * fs/fat.c (grub_fat_find_dir): Convert the filename little
25705 endian to the host endian.
25706 (grub_fat_utf16_to_utf8): Move function from there...
25707 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
25708 the endianness of the source string anymore.
25709 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
25711 2004-08-24 Marco Gerards <metgerards@student.han.nl>
25713 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
25714 (grub_boot_fini) [GRUB_UTIL]: Likewise.
25715 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
25716 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
25718 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
25719 (grub_hfs_iterate_dir): Make the function static. Add prototypes
25720 for `node_found' and `it_dir'.
25721 (grub_hfs_dir): Add prototype for `dir_hook'.
25723 * fs/minix.c (grub_minix_get_file_block): Add prototype for
25724 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
25725 and `indir32' to silence a gcc warning.
25727 * include/grub/fs.h (grub_hfs_init): New prototype.
25728 (grub_hfs_fini): Likewise.
25731 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
25733 Each disk device has its own id now. This is useful to make use
25734 of multiple disk devices.
25736 * include/grub/disk.h (grub_disk_dev_id): New enum.
25737 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
25738 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
25740 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
25741 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
25743 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
25744 GRUB_DISK_DEVICE_OFDISK_ID as an id.
25746 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
25747 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
25749 * include/grub/disk.h (struct grub_disk_dev): Added a new member
25750 "id" which is used by the cache manager.
25752 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
25755 2004-08-18 Marco Gerards <metgerards@student.han.nl>
25757 * fs/hfs.c: New file.
25758 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
25759 (grub_emu_SOURCES): Likewise.
25760 (pkgdata_MODULES): Add hfs.mod.
25761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
25762 (grubof_SOURCES): Likewise.
25763 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
25765 * include/grub/misc.h (grub_strncasecmp): Add prototype.
25766 * kern/misc.c (grub_strncasecmp): Add function.
25768 2004-08-14 Marco Gerards <metgerards@student.han.nl>
25770 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
25773 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
25774 (grub_ext2_dir): In case the directory entry type is unknown, read
25777 2004-08-02 Peter Bruin <pjbruin@dds.nl>
25779 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
25780 grub_load_linux instead of grub_rescue_cmd_linux as second
25781 argument of grub_rescue_register_command.
25783 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
25785 2004-07-27 Marco Gerards <metgerards@student.han.nl>
25787 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
25789 * commands/boot.c: Remove the check for `GRUB_UTIL'.
25790 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
25791 `loader/powerpc/ieee1275/linux.c',
25792 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
25793 * include/grub/powerpc/ieee1275/ieee1275.h
25794 (grub_ieee1275_release): New prototype.
25795 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
25796 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
25797 normal, boot, linux and linux_normal.
25798 * loader/powerpc/ieee1275/linux.c: New file.
25799 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25801 2004-07-12 Marco Gerards <metgerards@student.han.nl>
25803 * normal/arg.c (grub_arg_parse): Correct error handling after
25804 reallocating the argumentlist (check if `argl' is not null instead
25805 of checking if `args' is not null).
25806 * kern/mm.c (grub_realloc): Return the same pointer when using the
25807 same region, instead of returning the header address.
25809 2004-07-11 Marco Gerards <metgerards@student.han.nl>
25811 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
25812 one block instead of two when looking for the initial partition.
25813 (grub_partition_probe): Initialize the local variable `p' with 0.
25814 Use base 10 for the grub_strtoul call.
25815 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
25816 need for one local variable.
25817 (grub_strtoul): Don't add the new value to `num', instead of that
25820 2004-07-11 Marco Gerards <metgerards@student.han.nl>
25822 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
25823 (pxeboot_img_SOURCES): New variable.
25824 (pxeboot_img_ASFLAGS): Likewise.
25825 (pxeboot_img_LDFLAGS): Likewise.
25826 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
25827 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
25828 <lode_leroy@hotmail.com>.
25830 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
25832 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
25833 there was no input.
25835 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
25837 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
25838 the history buffer logic.
25840 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
25842 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
25843 (FILETYPE_INO_SYMLINK): New macros.
25844 (grub_ext2_find_file): Check if the node is a directory using the
25845 inode stat information instead of using the filetype in the
25846 dirent. Exclude the first character of an absolute symlink.
25847 (grub_ext2_dir): Mask out the filetype part of the mode member of
25850 2004-05-24 Marco Gerards <metgerards@student.han.nl>
25852 Add support for UFS version 1 and 2. Add support for the minix
25853 filesystem version 1 and 2, both the variants with 14 and 30 long
25856 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
25858 (grub_emu_SOURCES): Likewise.
25859 (pkgdata_MODULES): Add ufs.mod and minix.mod.
25860 (ufs_mod_SOURCES): New variable.
25861 (ufs_mod_CFLAGS): Likewise.
25862 (minix_mod_SOURCES): Likewise.
25863 (minix_mod_CFLAGS): Likewise.
25864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
25866 (grubof_SOURCES): Likewise.
25867 * fs/ufs.c: New file.
25868 * fs/minix.c: New file.
25869 * include/grub/fs.h (grub_ufs_init): New prototype.
25870 (grub_ufs_fini): Likewise.
25871 (grub_minix_init): Likewise.
25872 (grub_minix_fini): Likewise.
25873 * util/grub-emu.c (main): Initialize and deinitialize UFS and
25876 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
25878 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
25879 commands/ls.c, commands/terminal.c, commands/boot.c,
25880 commands/cmp.c and commands/cat.c.
25881 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
25883 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
25886 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25888 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
25889 and grub_, respectively. Because the conversion is trivial and
25890 mechanical, I omit the details here. Please refer to the CVS
25891 if you need more information.
25893 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25895 * include/pupa: Renamed to ...
25896 * include/grub: ... this.
25897 * util/i386/pc/pupa-mkimage.c: Renamed to ...
25898 * util/i386/pc/grub-mkimage.c: ... this.
25899 * util/i386/pc/pupa-setup.c: Renamed to ...
25900 * util/i386/pc/grub-setup.c: ... this.
25901 * util/pupa-emu.c: Renamed to ...
25902 * util/grub-emu.c: ... this.
25904 2004-03-29 Marco Gerards <metgerards@student.han.nl>
25906 Add support for the newworld apple macintosh (PPC). This has been
25907 tested on the powerbook 2000 only. It only adds support for
25908 generic ieee1275 functions, console and disk support. This should
25909 be easy to port to other architectures with support for Open
25912 * configure.ac: Accept the powerpc as host_cpu. In the case of
25913 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
25914 specific tests are only executed while building for the i386.
25915 Inverse test for crosscompile.
25916 * genmk.rb (Utility): Allow assembler files.
25917 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
25918 * conf/powerpc-ieee1275.rmk: New file.
25919 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
25920 * disk/powerpc/ieee1275/partition.c: Likewise.
25921 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
25922 * include/pupa/powerpc/ieee1275/console.h: Likewise.
25923 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
25924 * include/pupa/powerpc/ieee1275/time.h: Likewise.
25925 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
25926 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
25927 * include/pupa/powerpc/ieee1275/loader.h
25928 * include/pupa/powerpc/setjmp.h: Likewise.
25929 * include/pupa/powerpc/types.h: Likewise.
25930 * kern/powerpc/ieee1275/init.c: Likewise.
25931 * kern/powerpc/ieee1275/openfw.c: Likewise.
25932 * term/powerpc/ieee1275/ofconsole.c: Likewise.
25934 These files were written by Johan Rydberg
25935 (jrydberg@night.trouble.net) and I only modified them slightly.
25937 * boot/powerpc/ieee1275/cmain.c: New file.
25938 * boot/powerpc/ieee1275/crt0.S: Likewise.
25939 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
25940 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
25942 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
25944 * Makefile.in: Update copyright.
25945 * genmodsrc.sh: Likewise.
25946 * gensymlist.sh: Likewise.
25947 * term/i386/pc/vga.c: Indent correctly.
25949 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
25950 bugreporting address.
25951 * util/i386/pc/pupa-setup.c (usage): Likewise,
25952 (main): Call pupa_ext2_init and pupa_ext2_fini.
25954 * fs/fat.c (log2): Renamed to ...
25955 (fat_log2): ... this.
25956 All callers changed.
25957 * kern/misc.c (memcpy): Alias to pupa_memmove.
25958 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
25960 * util/console.c (pupa_ncurses_fini): Return 0.
25962 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
25963 Move fail label here.
25964 [__GNU__]: Don't warn when using stat.
25965 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
25966 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
25967 long int. Use strtol instead of strtoul.
25969 2004-03-14 Marco Gerards <metgerards@student.han.nl>
25971 * commands/boot.c: New file.
25972 * commands/cat.c: Likewise.
25973 * commands/cmp.c: Likewise.
25974 * commands/ls.c: Likewise.
25975 * commands/terminal.c: Likewise.
25976 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
25977 (pupa_register_command): Changed interface to match the new
25979 (pupa_command_execute): Changed (almost rewritten) so it uses
25980 pupa_split_command. Added support for setting variables using the
25982 (rescue_command): Changed to work with the new argument parser.
25983 (terminal_command): Moved from here to commands/terminal.c.
25984 (set_command): New function.
25985 (unset_command): New function.
25986 (insmod_command): New function.
25987 (rmmod_command): New function.
25988 (lsmod_command): New function.
25989 (pupa_command_init): Don't initialize the command terminal
25990 anymore. Initialize the commands set, unset, insmod, rmmod and
25992 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
25993 (kernel_img_HEADERS): Add arg.h and env.h.
25994 (pupa_mkimage_LDFLAGS): Add kern/env.c.
25995 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
25996 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
25998 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
26000 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
26001 (boot_mod_SOURCES): New variable.
26002 (terminal_mod_SOURCES): Likewise.
26003 (ls_mod_SOURCES): Likewise.
26004 (cmp_mod_SOURCES): Likewise.
26005 (cat_mod_SOURCES): Likewise.
26007 * normal/arg.c: New file.
26008 * kern/env.c: Likewise.
26009 * include/pupa/arg.h: Likewise.
26010 * include/pupa/env.h: Likewise.
26011 * font/manager.c (font_command): Changed to match argument parsing
26013 (PUPA_MOD_INIT): Likewise.
26014 * hello/hello.c (pupa_cmd_hello): Likewise.
26015 (PUPA_MOD_INIT): Likewise.
26016 * include/pupa/disk.h: Include <pupa/device.h>.
26017 (pupa_print_partinfo): New prototype.
26018 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
26019 (pupa_dl_get_prefix): Likewise.
26020 * include/pupa/misc.h: Include <pupa/err.h>.
26021 (pupa_isgraph): New prototype.
26022 (pupa_isdigit): Likewise.
26023 (pupa_split_cmdline): Likewise.
26024 * include/pupa/normal.h: Include <pupa/arg.h>.
26025 (pupa_command): Changed the prototype of the member `func' to
26026 match the argument parsing interface. Added member `options'.
26027 (pupa_register_command): Updated to match function.
26028 (pupa_arg_parse): New prototype.
26029 (pupa_hello_init) [PUPA_UTIL]: New prototype.
26030 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
26031 (pupa_ls_init) [PUPA_UTIL]: Likewise.
26032 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
26033 (pupa_cat_init) [PUPA_UTIL]: Likewise.
26034 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
26035 (pupa_boot_init) [PUPA_UTIL]: Likewise.
26036 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
26037 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
26038 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
26039 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
26040 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
26041 * kern/disk.c: Include <pupa/file.h>.
26042 (pupa_print_partinfo): New function.
26043 * kern/dl.c: Include <pupa/env.h>.
26044 (pupa_dl_dir): Variable removed.
26045 (pupa_dl_load): Use the environment variable `prefix' instead of
26046 the variable pupa_dl_dir.
26047 (pupa_dl_set_prefix): Function removed.
26048 (pupa_dl_get_prefix): Likewise.
26049 * kern/i386/pc/init.c: Include <pupa/env.h>.
26050 (pupa_machine_init): Use the environment variable `prefix' instead of
26051 using pupa_dl_set_prefix to set the prefix.
26052 * kern/main.c: Include <pupa/env.h>.
26053 (pupa_set_root_dev): Use the environment variable `prefix' instead of
26054 using pupa_dl_get_prefix to get the prefix.
26055 * kern/misc.c: Include <pupa/env.h>.
26056 (pupa_isdigit): New function.
26057 (pupa_isgraph): Likewise.
26058 (pupa_ftoa): Likewise.
26059 (pupa_vsprintf): Added support for printing values of the type
26060 `double'. Make it possible to format variable output when using
26061 formatting like `%1.2%f'.
26062 (pupa_split_cmdline): New function.
26063 * kern/rescue.c: Include <pupa/env.h>.
26064 (next_word): Removed function.
26065 (pupa_rescue_cmd_prefix): Likewise.
26066 (pupa_rescue_cmd_set): New function.
26067 (pupa_rescue_cmd_unset): New function.
26068 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
26069 split the command line instead of splitting it here. Added
26070 support for setting variables using the syntax `foo=bar'. Don't
26071 initialize the prefix command anymore. Initialized the set and
26073 * normal/cmdline.c: Include <pupa/env.h>.
26074 (pupa_tab_complete): Added prototypes for print_simple_completion,
26075 print_partition_completion, add_completion, iterate_commands,
26076 iterate_dev, iterate_part and iterate_dir. Moved code to print
26077 partition information from here to kern/disk.c.
26078 (pupa_cmdline_run): Don't check if the function exists anymore.
26079 * normal/main.c: Include <pupa/env.h>.
26080 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
26081 instead of using pupa_dl_get_prefix to get the prefix.
26082 * term/i386/pc/vga.c: Include <pupa/arg.h>.
26083 (check_vga_mem): Cast pointers to `void *' to silence a gcc
26085 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
26086 (pupa_vga_setcolor): Declare unused variables with `__attribute__
26087 ((unused))' to silence a gcc warning.
26088 (pupa_vga_setcolor): Likewise.
26089 (debug_command): Changed to match argument parsing
26091 * util/pupa-emu.c: Include <pupa/env.h>.
26092 (options): Added 0's for unused fields to silence a gcc warning.
26094 (main): Use the environment variable `prefix' instead of using
26095 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
26096 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
26099 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
26100 * util/misc.c: Include <malloc.h>.
26101 (pupa_malloc): Rewritten so errors are correctly reported.
26102 (pupa_realloc): Likewise.
26103 (pupa_memalign): Likewise.
26104 (pupa_mm_init_region): Declare unused variables with
26105 `__attribute__ ((unused))' to silence a gcc warning.
26106 * normal/i386/setjmp.S: Remove tab at the end of the file to
26107 silence a gcc warning.
26108 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
26109 variables with `__attribute__ ((unused))' to silence a gcc
26111 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
26112 local variable i unsigned to silence a gcc warning.
26114 * kern/term.c: Include <pupa/misc.h>.
26115 (pupa_more_lines): New variable.
26116 (pupa_more): Likewise.
26117 (pupa_putcode): When the pager is active pause at the end of every
26119 (pupa_set_more): New function.
26120 * include/pupa/term.h (pupa_set_more): New prototype.
26123 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
26125 Now this project is GRUB 2 rather than PUPA. The location of
26126 the CVS repository was moved to GRUB's.
26128 * configure.ac: Use bug-grub as the reporting address.
26129 Use GRUB instead of PUPA.
26130 Change the version number to 1.90.
26132 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
26134 * genkernsyms.sh: Updated copyright information.
26135 * genmk.rb: Likewise.
26136 * genmodsrc.sh: Likewise.
26137 * gensymlist.sh: Likewise.
26138 * boot/i386/pc/boot.S: Likewise.
26139 * boot/i386/pc/diskboot.S: Likewise.
26140 * disk/i386/pc/biosdisk.c: Likewise.
26141 * disk/i386/pc/partition.c: Likewise.
26142 * font/manager.c: Likewise.
26143 * fs/ext2.c: Likewise.
26144 * fs/fat.c: Likewise.
26145 * include/pupa/boot.h: Likewise.
26146 * include/pupa/device.h: Likewise.
26147 * include/pupa/disk.h: Likewise.
26148 * include/pupa/dl.h: Likewise.
26149 * include/pupa/elf.h: Likewise.
26150 * include/pupa/err.h: Likewise.
26151 * include/pupa/file.h: Likewise.
26152 * include/pupa/font.h: Likewise.
26153 * include/pupa/fs.h: Likewise.
26154 * include/pupa/kernel.h: Likewise.
26155 * include/pupa/loader.h: Likewise.
26156 * include/pupa/misc.h: Likewise.
26157 * include/pupa/mm.h: Likewise.
26158 * include/pupa/net.h: Likewise.
26159 * include/pupa/normal.h: Likewise.
26160 * include/pupa/rescue.h: Likewise.
26161 * include/pupa/setjmp.h: Likewise.
26162 * include/pupa/symbol.h: Likewise.
26163 * include/pupa/term.h: Likewise.
26164 * include/pupa/types.h: Likewise.
26165 * include/pupa/i386/setjmp.h: Likewise.
26166 * include/pupa/i386/types.h: Likewise.
26167 * include/pupa/i386/pc/biosdisk.h: Likewise.
26168 * include/pupa/i386/pc/boot.h: Likewise.
26169 * include/pupa/i386/pc/console.h: Likewise.
26170 * include/pupa/i386/pc/init.h: Likewise.
26171 * include/pupa/i386/pc/kernel.h: Likewise.
26172 * include/pupa/i386/pc/linux.h: Likewise.
26173 * include/pupa/i386/pc/loader.h: Likewise.
26174 * include/pupa/i386/pc/memory.h: Likewise.
26175 * include/pupa/i386/pc/multiboot.h: Likewise.
26176 * include/pupa/i386/pc/partition.h: Likewise.
26177 * include/pupa/i386/pc/time.h: Likewise.
26178 * include/pupa/i386/pc/vga.h: Likewise.
26179 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
26180 * include/pupa/util/getroot.h: Likewise.
26181 * include/pupa/util/misc.h: Likewise.
26182 * include/pupa/util/resolve.h: Likewise.
26183 * kern/device.c: Likewise.
26184 * kern/disk.c: Likewise.
26185 * kern/dl.c: Likewise.
26186 * kern/err.c: Likewise.
26187 * kern/file.c: Likewise.
26188 * kern/fs.c: Likewise.
26189 * kern/loader.c: Likewise.
26190 * kern/main.c: Likewise.
26191 * kern/misc.c: Likewise.
26192 * kern/mm.c: Likewise.
26193 * kern/rescue.c: Likewise.
26194 * kern/term.c: Likewise.
26195 * kern/i386/dl.c: Likewise.
26196 * kern/i386/pc/init.c: Likewise.
26197 * kern/i386/pc/lzo1x.S: Likewise.
26198 * kern/i386/pc/startup.S: Likewise.
26199 * loader/i386/pc/chainloader.c: Likewise.
26200 * loader/i386/pc/linux.c: Likewise.
26201 * loader/i386/pc/multiboot.c: Likewise.
26202 * normal/cmdline.c: Likewise.
26203 * normal/command.c: Likewise.
26204 * normal/main.c: Likewise.
26205 * normal/menu.c: Likewise.
26206 * normal/i386/setjmp.S: Likewise.
26207 * term/i386/pc/console.c: Likewise.
26208 * term/i386/pc/vga.c: Likewise.
26209 * util/console.c: Likewise.
26210 * util/genmoddep.c: Likewise.
26211 * util/misc.c: Likewise.
26212 * util/pupa-emu.c: Likewise.
26213 * util/resolve.c: Likewise.
26214 * util/unifont2pff.rb: Likewise.
26215 * util/i386/pc/biosdisk.c: Likewise.
26216 * util/i386/pc/getroot.c: Likewise.
26217 * util/i386/pc/pupa-mkimage.c: Likewise.
26218 * util/i386/pc/pupa-setup.c: Likewise.
26220 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
26222 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
26223 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
26224 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
26225 reading and reset it after reading.
26226 (pupa_ext2_close): Return PUPA_ERR_NONE.
26228 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
26230 (struct linux_kernel_header): Add kernel_version and
26232 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
26233 pupa_file_read succeeds.
26234 (pupa_rescue_cmd_initrd): Implement.
26236 2003-12-03 Marco Gerards <metgerards@student.han.nl>
26238 * fs/ext2.c (pupa_ext2_label): New function.
26239 (pupa_ext2_fs): Added label.
26240 * fs/fat.c (pupa_fat_label): New function.
26241 (pupa_fat_fs): Added label.
26242 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
26244 * kern/misc.c (pupa_strndup): New function.
26245 * include/pupa/misc.h (pupa_strndup): New prototype.
26247 * include/pupa/normal.h: Include <pupa/err.h>.
26248 (pupa_set_history): New prototype.
26249 (pupa_iterate_commands): New prototype.
26250 * normal/cmdline.c: Include <pupa/machine/partition.h>,
26251 <pupa/disk.h>, <pupa/file.h>.
26252 (hist_size): New variable.
26253 (hist_lines): Likewise.
26254 (hist_end): Likewise.
26255 (hist_used): Likewise.
26256 (pupa_set_history): New function.
26257 (pupa_history_get): Likewise.
26258 (pupa_history_add): Likewise.
26259 (pupa_history_replace): Likewise.
26260 (pupa_tab_complete): Likewise.
26261 (pupa_cmdline_run): Added tab completion and history buffer. Tab
26262 completion shows partitionnames while completing partitions, this
26263 feature was suggested by Jeff Bailey.
26264 * normal/command.c (pupa_iterate_commands): New function.
26265 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
26266 (pupa_normal_init): Initialize history buffer.
26267 (PUPA_MOD_INIT): Likewise.
26268 (pupa_normal_fini): Free the history buffer.
26269 (PUPA_MOD_FINI): Likewise.
26271 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
26274 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
26275 * configure.ac [i386]: Check for regparam bug.
26276 (NESTED_FUNC_ATTR) [! i386]: Defined.
26278 2003-11-17 Marco Gerards <metgerards@student.han.nl>
26280 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
26281 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
26282 (pupa_emu_SOURCES): New variable.
26283 (pupa_emu_LDFLAGS): Likewise.
26284 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
26285 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
26286 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
26287 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
26288 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
26289 (pupa_jmp_buf): New typedef.
26290 (pupa_setjmp) [PUPA_UTIL]: New macro.
26291 (pupa_longjmp) [PUPA_UTIL]: Likewise.
26292 * include/pupa/term.h (struct pupa_term): New member `refresh'.
26293 (pupa_refresh): New prototype.
26294 * include/pupa/util/getroot.h: New file.
26295 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
26297 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
26298 (pupa_rescue_cmd_cat): Likewise.
26299 (pupa_rescue_cmd_ls): Likewise.
26300 (pupa_rescue_cmd_testload): Likewise.
26301 (pupa_rescue_cmd_lsmod): Likewise.
26302 * normal/cmdline.c (pupa_cmdline_get): Likewise.
26303 * normal/menu.c (run_menu): Likewise.
26304 * kern/term.c (pupa_cls): Likewise.
26305 (pupa_refresh): New function.
26306 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
26307 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
26308 * util/console.c: New file.
26310 * util/i386/pc/getroot.c: New file.
26311 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
26312 (pupa_putchar): New function.
26313 (pupa_refresh): Likewise.
26314 (xgetcwd): Function moved to ...
26315 (strip_extra_slashes): Likewise.
26316 (get_prefix): Likewise.
26317 * util/i386/pc/getroot.c: ... here.
26318 (find_root_device): Function moved and renamed to...
26319 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
26320 Changed all callers.
26321 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
26323 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
26324 Changed all callers.
26325 * util/misc.c (pupa_memalign): New function.
26326 (pupa_mm_init_region): Likewise.
26327 (pupa_register_exported_symbols): Likewise.
26328 (pupa_putchar): Function removed.
26329 * util/pupa-emu.c: New file.
26331 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
26333 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
26334 (_multiboot_mod_SOURCES): New variable.
26335 (_multiboot_mod_CFLAGS): Likewise.
26336 * loader/i386/pc/multiboot.c: New file.
26337 * include/pupa/i386/pc/multiboot.h: Likewise.
26338 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
26339 (pupa_multiboot_real_boot): New function.
26340 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
26341 (pupa_multiboot_real_boot): New prototype.
26342 (pupa_rescue_cmd_multiboot): Likewise
26343 (pupa_rescue_cmd_module): Likewise.
26345 * kern/loader.c (pupa_loader_set): Continue when
26346 pupa_loader_unload_func() fails.
26347 (pupa_loader_unset): New function.
26348 * include/pupa/loader.h (pupa_loader_unset): New prototype.
26350 * kern/misc.c (pupa_stpcpy): New function.
26351 * include/pupa/misc.h (pupa_stpcpy): New prototype.
26353 2003-11-12 Marco Gerards <metgerards@student.han.nl>
26355 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
26356 for available extensions.
26358 * include/pupa/i386/pc/time.h: New file.
26359 * kern/disk.c: Include <pupa/machine/time.h>.
26360 (PUPA_CACHE_TIMEOUT): New macro.
26361 (pupa_last_time): New variable.
26362 (pupa_disk_open): Flush the cache when there was a timeout.
26363 (pupa_disk_close): Reset the timer.
26364 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
26366 * util/misc.c: Include <sys/times.h>
26367 (pupa_get_rtc): New function.
26369 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
26371 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
26373 (pupa_ext2_get_file_block): Use blocks member.
26375 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
26376 first block. Return -1 instead of pupa_errno on error.
26378 2003-10-27 Marco Gerards <metgerards@student.han.nl>
26380 * README: In the pupa-mkimage example use _chain instead of chain
26381 and ext2 instead of fat.
26382 * TODO: Replace ext2fs with jfs as an example. Add an item for
26383 adding journal playback for ext2fs.
26384 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
26385 (pkgdata_MODULES): Added ext2.mod.
26386 (ext2_mod_SOURCES): New variable.
26387 (ext2_mod_CFLAGS): Likewise.
26388 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
26389 * include/pupa/misc.h (pupa_strncpy): New prototype.
26390 (pupa_strcat): Likewise.
26391 (pupa_strncmp): Likewise.
26392 * kern/misc.c (pupa_strcat): Enable function.
26393 (pupa_strncpy): New function.
26394 (pupa_strncmp): Likewise.
26395 * fs/ext2.c: New file.
26397 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
26398 when the read failed before retrying.
26399 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
26400 (_FILE_OFFSET_BITS): Likewise.
26401 * configure.ac: Added AC_SYS_LARGEFILE.
26403 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
26405 * genmk.rb (PModule#rule): Make sure to get only symbol names
26406 from the output of nm.
26407 Reported by Robert Millan <rmh.grub@aybabtu.com>.
26409 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
26411 I forgot to check in these changes for a long time. This adds
26412 incomplete support for VGA console, and this is still very
26413 buggy. Also, a lot of consideration is required for I18N,
26414 UNICODE, and VGA font issues. Therefore, assume that this is
26415 such that "better than nothing".
26417 * font/manager.c: New file.
26418 * include/pupa/font.h: Likewise.
26419 * include/pupa/i386/pc/vga.h: Likewise.
26420 * term/i386/pc/vga.c: Likewise.
26421 * util/unifont2pff.rb: Likewise.
26423 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
26424 (pkgdata_MODULES): Added vga.mod and font.mod.
26425 (vga_mod_SOURCES): New variables.
26426 (vga_mod_CFLAGS): Likewise.
26427 (font_mod_SOURCES): Likewise.
26428 (font_mod_CFLAGS): Likewise.
26430 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
26432 * include/pupa/term.h: Include pupa/err.h.
26433 (struct pupa_term): Added init and fini.
26434 Changed the argument of putchar to pupa_uint32_t.
26436 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
26437 (pupa_console_real_putchar): New prototype.
26438 (pupa_console_putchar): Removed.
26439 (pupa_console_checkkey): Exported.
26440 (pupa_console_getkey): Likewise.
26442 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
26445 * kern/term.c (pupa_term_set_current): Rewritten.
26446 (pupa_putchar): Likewise.
26447 (pupa_putcode): New function.
26449 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
26450 (pupa_console_real_putchar): ... this.
26451 (pupa_vga_set_mode): New function.
26452 (pupa_vga_get_font): Likewise.
26454 * normal/command.c: Include pupa/term.h.
26455 (terminal_command): New function.
26456 (pupa_command_init): Register the command "terminal".
26458 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
26459 (DISP_UP): Likewise.
26460 (DISP_RIGHT): Likewise.
26461 (DISP_DOWN): Likewise.
26462 (DISP_HLINE): Likewise.
26463 (DISP_VLINE): Likewise.
26464 (DISP_UL): Likewise.
26465 (DISP_UR): Likewise.
26466 (DISP_LL): Likewise.
26467 (DISP_LR): Likewise.
26469 * term/i386/pc/console.c (pupa_console_putchar): New function.
26471 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
26473 * util/resolve.c (pupa_util_resolve_dependencies): BUG
26474 FIX. Reverse the path_list.
26476 * include/pupa/normal.h: Export pupa_register_command and
26477 pupa_unregister_command.
26479 * hello/hello.c (pupa_cmd_hello): New module.
26480 * conf/i386-pc.rmk: Added hello.mod.
26482 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
26484 * kern/i386/pc/lzo1x.S: New file.
26486 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
26487 (compress_kernel): New variable.
26488 (generate_image): Heavily modified to support compressing a
26489 large part of the core image.
26491 * util/misc.c (pupa_util_read_image): Fix a file descriptor
26493 (pupa_util_load_image): New function.
26495 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
26496 (pupa_compressed_size): New variable.
26497 (codestart): Enable Gate A20 here.
26498 Decompress the compressed part of the core image.
26499 Rearrange the code to put functions and variables which are
26500 required for initialization in the non-compressed part.
26503 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
26506 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
26508 * include/pupa/i386/pc/kernel.h
26509 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
26510 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
26511 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
26512 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
26513 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
26515 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
26517 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
26518 (Utility#rule): Likewise.
26520 * configure.ac: Check if LZO is available.
26522 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
26524 * include/pupa/normal.h: New file.
26525 * include/pupa/setjmp.h: Likewise.
26526 * include/pupa/i386/setjmp.h: Likewise.
26527 * normal/cmdline.c: Likewise.
26528 * normal/command.c: Likewise.
26529 * normal/main.c: Likewise.
26530 * normal/menu.c: Likewise.
26531 * normal/i386/setjmp.S: Likewise.
26533 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
26534 (pupa_rescue_cmd_initrd): Likewise.
26536 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
26539 * kern/i386/pc/startup.S (translation_table): New variable.
26540 (translate_keycode): New function.
26541 (pupa_console_getkey): Call translate_keycode.
26543 * kern/rescue.c (attempt_normal_mode): New function.
26544 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
26545 it failed, print a message.
26547 * kern/mm.c (pupa_real_malloc): Print more information when a
26548 free magic is broken.
26549 (pupa_free): If the first free header is not free actually, set
26552 * kern/main.c (pupa_load_normal_mode): Just load the module
26554 (pupa_main): Don't print the message
26555 "Entering into rescue mode..." here.
26557 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
26559 (pupa_rescue_cmd_initrd): Likewise.
26560 (pupa_rescue_cmd_initrd): Likewise.
26562 * include/pupa/symbol.h (FUNCTION): Specify the type.
26563 (VARIABLE): Likewise.
26565 * include/pupa/err.h (pupa_err_t): Added
26566 PUPA_ERR_UNKNOWN_COMMAND.
26568 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
26569 (pupa_dl_get_prefix): Likewise.
26571 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
26572 Added _chain.mod and _linux.mod instead of chain.mod and
26574 (chain_mod_SOURCES): Renamed to ...
26575 (_chain_mod_SOURCES): ... this.
26576 (chain_mod_CFLAGS): Renamed to ...
26577 (_chain_mod_CFLAGS): ... this.
26578 (linux_mod_SOURCES): Renamed to ...
26579 (_linux_mod_SOURCES): ... this.
26580 (linux_mod_CFLAGS): Renamed to ...
26581 (_linux_mod_CFLAGS): ... this.
26582 (normal_mod_SOURCES): New variable.
26583 (normal_mod_CFLAGS): Likewise.
26584 (normal_mod_ASFLAGS): Likewise.
26586 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
26588 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
26591 * kern/dl.c (pupa_dl_ref): Refer depending modules
26593 (pupa_dl_unref): Unrefer depending modules recursively.
26594 Don't call pupa_dl_unload implicitly, because PUPA can crash if
26595 a module is unloaded before one depending on that module is
26597 (pupa_dl_unload): Unload depending modules explicitly,
26600 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
26602 * include/pupa/i386/pc/linux.h: New file.
26603 * loader/i386/pc/linux.c: Likewise.
26605 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
26607 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
26608 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
26609 of PUPA_CHAINLOADER_BOOT_SECTOR.
26611 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
26612 (pupa_linux_prot_size): New variable.
26613 (pupa_linux_tmp_addr): Likewise.
26614 (pupa_linux_real_addr): Likewise.
26615 (pupa_linux_boot_zimage): New function.
26616 (pupa_linux_boot_bzimage): Likewise.
26618 * kern/i386/pc/init.c (struct mem_region): New structure.
26619 (MAX_REGIONS): New macro.
26620 (mem_regions): New variable.
26621 (num_regions): Likewise.
26622 (pupa_os_area_addr): Likewise.
26623 (pupa_os_area_size): Likewise.
26624 (pupa_lower_mem): Likewise.
26625 (pupa_upper_mem): Likewise.
26626 (add_mem_region): New function.
26627 (compact_mem_regions): Likewise.
26628 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
26629 the size of the conventional memory and that of so-called upper
26630 memory (before the first memory hole).
26631 Instead of adding each found region to free memory, use
26632 add_mem_region and add them after removing overlaps.
26633 Also, add only 1/4 of the upper memory to free memory. The rest
26634 is used for loading OS images. Maybe this is ad hoc, but this
26635 makes it much easier to relocate OS images when booting.
26637 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
26638 (pupa_enter_rescue_mode): Don't register initrd and module.
26640 * kern/mm.c: Include pupa/dl.h.
26642 * kern/main.c: Include pupa/file.h and pupa/device.h.
26644 * kern/loader.c (pupa_loader_load_module_func): Removed.
26645 (pupa_loader_load_module): Likewise.
26647 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
26650 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
26651 (pupa_linux_tmp_addr): Likewise.
26652 (pupa_linux_real_addr): Likewise.
26653 (pupa_linux_boot_zimage): Likewise.
26654 (pupa_linux_boot_bzimage): Likewise.
26656 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
26657 (pupa_upper_mem): Likewise.
26658 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
26659 module is too dangerous.
26661 * include/pupa/loader.h (pupa_os_area_addr): Declared.
26662 (pupa_os_area_size): Likewise.
26663 (pupa_loader_set): Remove the first argument. Loader doesn't
26664 manage modules or initrd any longer.
26665 (pupa_loader_load_module): Removed.
26667 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
26668 (linux_mod_SOURCES): New variable.
26669 (linux_mod_CFLAGS): Likewise.
26671 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
26673 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
26674 the length of a blocklist correctly.
26676 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
26677 Use ioctl only if the OS file is a block device.
26678 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
26679 not very useful for normal files.
26681 * kern/main.c (pupa_set_root_dev): New function.
26682 (pupa_load_normal_mode): Likewise.
26683 (pupa_main): Call those above.
26685 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
26688 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
26690 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26692 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
26693 (setup): Configure the installed partition information and the
26696 * loader/i386/pc/chainloader.c (my_mod): New variable.
26697 (pupa_chainloader_unload): New function.
26698 (pupa_rescue_cmd_chainloader): Refer itself.
26699 (PUPA_MOD_INIT): Save its own module in MY_MOD.
26701 * kern/i386/pc/startup.S (install_partition): Removed.
26702 (version_string): Likewise.
26703 (config_file): Likewise.
26704 (pupa_install_dos_part): New variable.
26705 (pupa_install_bsd_part): Likewise.
26706 (pupa_prefix): Likewise.
26707 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
26709 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
26711 (make_install_device): New function.
26712 (pupa_machine_init): Set the dl prefix.
26714 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
26715 (buf): Renamed to ...
26716 (linebuf): ... this.
26717 (pupa_rescue_cmd_prefix): New function.
26718 (pupa_rescue_cmd_insmod): Likewise.
26719 (pupa_rescue_cmd_rmmod): Likewise.
26720 (pupa_rescue_cmd_lsmod): Likewise.
26721 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
26724 * kern/mm.c (pupa_memalign): If failed even after invalidating
26725 disk caches, unload unneeded modules and retry.
26727 * kern/misc.c (pupa_memmove): New function.
26728 (pupa_memcpy): Removed.
26729 (pupa_strcpy): New function.
26730 (pupa_itoa): Made static.
26732 * kern/dl.c (pupa_dl_iterate): New function.
26733 (pupa_dl_ref): Likewise.
26734 (pupa_dl_unref): Likewise.
26735 (pupa_dl_unload): Return if succeeded or not.
26736 (pupa_dl_unload_unneeded): New function.
26737 (pupa_dl_unload_all): Likewise.
26738 (pupa_dl_init): Renamed to ...
26739 (pupa_dl_set_prefix): ... this.
26740 (pupa_dl_get_prefix): New function.
26742 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
26743 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
26744 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
26745 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
26746 (pupa_install_dos_part): Declared.
26747 (pupa_install_bsd_part): Likewise.
26748 (pupa_prefix): Likewise.
26749 (pupa_boot_drive): Likewise.
26751 * include/pupa/types.h: Fix a typo.
26753 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
26755 (pupa_memmove): Declared.
26756 (pupa_strcpy): Likewise.
26758 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
26759 pupa_mod_init takes one argument, its own module.
26760 (pupa_dl_unload_unneeded): Declared.
26761 (pupa_dl_unload_all): Likewise.
26762 (pupa_dl_ref): Likewise.
26763 (pupa_dl_unref): Likewise.
26764 (pupa_dl_iterate): Likewise.
26765 (pupa_dl_init): Renamed to ...
26766 (pupa_dl_set_prefix): ... this.
26767 (pupa_dl_get_prefix): Declared.
26769 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
26770 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
26772 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
26773 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
26775 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
26776 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
26778 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
26780 * util/i386/pc/pupa-setup.c (setup): Define the internal
26781 function find_first_partition_start at the top level, because GCC
26782 3.0.x cannot compile internal functions in deeper scopes
26784 (find_root_device): Use lstat instead of stat.
26785 Don't follow symbolic links.
26786 Fix the path-constructing code.
26788 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
26789 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
26790 by a BLKGETSIZE ioctl first, because block devices don't fill
26791 the member st_mode of the structure stat on Linux.
26792 [__linux__] (linux_find_partition): Use a temporary buffer
26793 REAL_DEV for the working space. Copy it to DEV before returning.
26794 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
26795 buffer cache consistent.
26796 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
26797 strncmp. The previous value was merely wrong.
26798 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
26800 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
26801 FAT size is 12. The previous value was merely wrong.
26803 * kern/main.c (pupa_main): Don't split the starting message from
26806 * kern/term.c (pupa_putchar): Put CR after LF instead of before
26807 LF, because BIOS goes crazy about character attributes in this
26810 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
26812 * include/i386/pc/util/biosdisk.h: New file.
26813 * util/i386/pc/biosdisk.c: Likewise.
26814 * util/i386/pc/pupa-setup.c: Likewise.
26816 * Makefile.in (INCLUDE_DISTFILES): Added
26817 include/pupa/i386/pc/util/biosdisk.h.
26818 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
26819 directory util/i386/pc.
26820 (install-local): Added a rule for sbin_UTILITIES.
26821 (uninstall): Likewise.
26823 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
26825 * util/misc.c (xrealloc): New function.
26826 (pupa_malloc): Likewise.
26827 (pupa_free): Likewise.
26828 (pupa_realloc): Likewise.
26829 (pupa_stop): Likewise.
26830 (pupa_putchar): Likewise.
26832 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
26834 * include/pupa/util/misc.h (xrealloc): Declared.
26836 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
26838 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
26839 (PUPA_BOOT_MACHINE_BPB_END): ... this.
26841 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
26842 [PUPA_UTIL] (pupa_fat_fini): Likewise.
26844 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
26845 way should be implemented.
26846 [PUPA_UTIL] (pupa_fat_fini): Likewise.
26848 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
26849 the size of NAME for safety.
26850 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
26853 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
26854 (pupa_setup_SOURCES): Likewise.
26856 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
26858 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
26860 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
26861 bunch of pushl's from pusha, because this destroys the return
26864 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
26866 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
26867 This means that any missing prototypes could be fatal. Also, you
26868 must take care when writing assembly code. See the comments at
26869 the beginning of startup.S, for more details.
26871 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
26872 compilation mechanism.
26873 (pupa_chainloader_real_boot): Likewise.
26874 (pupa_biosdisk_rw_int13_extensions): Likewise.
26875 (pupa_biosdisk_rw_standard): Likewise.
26876 (pupa_biosdisk_check_int13_extensions): Likewise.
26877 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
26878 (pupa_biosdisk_get_diskinfo_standard): Likewise.
26879 (pupa_get_memsize): Likewise.
26880 (pupa_get_mmap_entry): Likewise.
26881 (pupa_console_putchar): Likewise.
26882 (pupa_console_setcursor): Likewise.
26883 (pupa_getrtsecs): Use pushl instead of push.
26885 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
26886 memory instead of the stack for a mmap entry, because some
26887 BIOSes may ignore the maximum size and overflow.
26889 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
26891 * genmk.rb (PModule#rule): Compile automatically generated
26892 sources with module-specific CFLAGS as well as other sources.
26894 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
26896 * configure.ac: Check ld.
26897 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
26898 respectively, before checking endianness and sizes.
26900 * Makefile.in (LD): New variable.
26902 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
26904 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
26906 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
26908 * Changelog: New file.