]> git.proxmox.com Git - grub2.git/blob - ChangeLog
bump version
[grub2.git] / ChangeLog
1 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * util/grub-mkrescue.in: Avoid module duplication.
4
5 2010-07-01 Sean Finney <seanius@seanius.net>
6
7 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
8
9 2010-07-01 Sean Finney <seanius@seanius.net>
10
11 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
12
13 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * disk/lvm.c (grub_lvm_checkvalue): New function.
16 (grub_lvm_check_flag): Likewise.
17
18 2010-07-01 Robert Millan <rmh@gnu.org>
19
20 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
21 Support 'p' as partition separator on kernel of FreeBSD (used
22 with GPT labels).
23 (grub_util_biosdisk_get_grub_dev): Likewise.
24
25 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26
27 Yeeloong firmware port.
28
29 * boot/mips/yeeloong/fwstart.S: New file.
30 * bus/cs5536.c (gpiodump): New const.
31 (set_io_space): New function.
32 (set_iod): Likewise.
33 (set_p2d): Likewise.
34 (grub_cs5536_init_geode): Likewise.
35 * commands/mips/yeeloong/lsspd.c: New file.
36 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
37 (serial_mod_SOURCES): New variable.
38 (serial_mod_CFLAGS): Likewise.
39 (serial_mod_LDFLAGS): Likewise.
40 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
41 term/terminfo.c and term/tparm.c.
42 (pkglib_IMAGES): Add fwstart.img.
43 (fwstart_img_SOURCES): New variable.
44 (fwstart_img_CFLAGS): Likewise.
45 (fwstart_img_ASFLAGS): Likewise.
46 (fwstart_img_LDFLAGS): Likewise.
47 (fwstart_img_FORMAT): Likewise.
48 (pkglib_MODULES): Add lsspd.mod.
49 (lsspd_mod_SOURCES): New variable.
50 (lsspd_mod_CFLAGS): Likewise.
51 (lsspd_mod_LDFLAGS): Likewise.
52 (pkglib_MODULES): Add halt.mod.
53 (halt_mod_SOURCES): New variable.
54 (halt_mod_CFLAGS): Likewise.
55 (halt_mod_LDFLAGS): Likewise.
56 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
57 (serial_mod_SOURCES): Removed.
58 (serial_mod_CFLAGS): Likewise.
59 (serial_mod_LDFLAGS): Likewise.
60 * disk/ata.c (check_device): New function.
61 (grub_ata_device_initialize): Use check_device.
62 (grub_ata_iterate): Recheck devices.
63 (grub_ata_open): Likewise.
64 (grub_atapi_iterate): Likewise.
65 (grub_atapi_open): Likewise.
66 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
67 (GRUB_ATA_CH1_PORT1): Likewise.
68 (GRUB_ATA_CH0_PORT2): Likewise.
69 (GRUB_ATA_CH1_PORT2): Likewise.
70 * include/grub/mips/loongson.h: New file.
71 * include/grub/mips/yeeloong/ec.h: Likewise.
72 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
73 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
74 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
75 * include/grub/misc.h (grub_halt): Declare as noreturn.
76 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
77 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
78 (UART_ENABLE_FIFO_TRIGGER1): New definition.
79 (UART_ENABLE_DTRRTS): Likewise.
80 (UART_ENABLE_MODEM): Removed.
81 (UART_ENABLE_OUT2): New const.
82 * include/grub/term.h (grub_term_register_input_active): New function.
83 (grub_term_register_output_active): Likewise.
84 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
85 argument.
86 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
87 (init_pci): New function.
88 (grub_machine_init): Execute platform init when firmware. Init serial.
89 (grub_halt): Implement.
90 (grub_exit): Likewise.
91 (grub_reboot): Likewise.
92 * term/serial.c (serial_hw_init): Update macros.
93 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
94 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
95 (image_targets): New target mipsel-yeeloong-flash.
96 (generate_image): Support IMAGE_YEELOONG_FLASH.
97 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
98 (grub_video_sm712_setup): Init card.
99 (grub_video_sm712_set_palette): Removed.
100 * video/sm712_init.c: New file.
101
102 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
103
104 * Makefile.in (install-local): Temporarily prepend $(builddir) to
105 PATH when running help2man and then run it on the unadorned
106 executable names, rather than passing $(builddir)/* paths to
107 help2man. This avoids the build directory ending up in generated
108 manual pages.
109
110 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
111
112 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
113 to avoid accidents when debugging with 'sh -x'.
114 * util/grub-mkrescue.in: Likewise.
115 * util/grub.d/00_header.in: Likewise.
116 * util/grub.d/10_hurd.in: Likewise.
117 * util/grub.d/10_kfreebsd.in: Likewise.
118 * util/grub.d/10_linux.in: Likewise.
119 * util/grub.d/10_netbsd.in: Likewise.
120 * util/grub.d/10_windows.in: Likewise.
121 * util/grub.d/20_linux_xen.in: Likewise.
122 * util/grub.d/30_os-prober.in: Likewise.
123 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
124
125 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
126
127 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
128 last character in the buffer.
129 Reported by: Vladimir Serbinenko.
130
131 2010-06-29 Robert Millan <rmh@gnu.org>
132
133 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
134 (Command-line and menu entry commands): Document `badram' command.
135
136 2010-06-28 Robert Millan <rmh@gnu.org>
137
138 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
139 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
140 command using ${GRUB_BADRAM} as parameter.
141
142 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
143
144 * docs/grub.texi (Device map): New section.
145 (Themes): New section (stub).
146 * Makefile.in (docs/grub.info): The info documentation now builds
147 without errors. Make sure it stays that way.
148
149 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
150
151 Use normal parser for menu entries.
152 Reported by: Thomas Frauendorfer
153
154 * include/grub/parser.h (grub_parser_execute): Don't export.
155 * normal/menu.c (grub_menu_execute_entry_real): New function.
156 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
157
158 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
159
160 * docs/grub.texi (Embedded configuration): New section (replacing
161 old "Preset Menu" stub).
162 (Images): New section.
163 (configfile): Note that any menu entries defined in `file' are shown
164 immediately.
165
166 2010-06-28 Josh Triplett <josh@joshtriplett.org>
167
168 * mmap/i386/pc/mmap_helper.S: Set CF on return.
169
170 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
171
172 * util/grub-install.in: Add --debug-image= option.
173
174 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
175
176 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
177 possible on Linux.
178
179 * util/deviceiter.c (check_device): Rename to ...
180 (check_device_readable_unique): ... this. Update all callers.
181 Maintain and check a list of which devices (by canonicalized name)
182 have already been seen.
183 (clear_seen_devices): New function.
184 (compare_file_names) [__linux__]: New function.
185 (grub_util_iterate_devices): Clear the list of seen devices on exit
186 and (just in case) on entry.
187 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
188 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
189 seen-devices list, superseded by general code in check_device.
190
191 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
192
193 * commands/cat.c (options): New variable.
194 (grub_cmd_cat): Parse options. If the --dos option is given, print
195 DOS-style "\r\n" line endings as simple newlines (Debian bug
196 #586358).
197 (GRUB_MOD_INIT): Use extcmd.
198 (GRUB_MOD_FINI): Likewise.
199 * docs/grub.texi (cat): Document --dos.
200
201 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
202
203 XEN with Linux grub-mkconfig support.
204
205 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
206 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
207 GRUB_CMDLINE_XEN_DEFAULT.
208 * util/grub.d/20_linux_xen.in: New file.
209
210 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
211
212 Initialise VGA video on qemu ourselves.
213
214 * boot/i386/qemu/boot.S: Don't call 0xc000.
215 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
216 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
217 (kernel_img_HEADERS): Add pci.h.
218 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
219 * configure.ac: Force unifont on qemu and yeeloong.
220 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
221 (grub_vga_palette_write): Use correct register.
222 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
223 Call grub_qemu_init_cirrus.
224 * kern/i386/qemu/init.c: New file.
225 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
226
227 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
228
229 2010-06-26 Pavel Roskin <proski@gnu.org>
230
231 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
232 13.
233
234 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
235
236 * docs/grub.texi (Simple configuration): Explain that
237 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
238 set to `true' to disable their respective recovery entries, not
239 merely set.
240
241 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
242
243 Make the `source' command slightly faster.
244
245 * normal/main.c (grub_normal_execute): Don't re-read list files when
246 nested.
247
248 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
249
250 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
251 field position and mask size to red fields from mode_info, not
252 green.
253 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
254 Remove redundant tag->common.framebuffer_type assignment.
255 Reported by: Seth Goldberg.
256
257 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
258
259 Sync up other versions of the Linux loader with Robert Millan's
260 change of 2010-01-09, "Make loader output a bit more user-friendly".
261
262 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
263 grub_dprintf().
264 (grub_cmd_linux): Likewise.
265 (grub_cmd_initrd): Likewise.
266 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
267 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
268
269 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
270
271 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
272 larger than MEMORY_MAP_SIZE.
273
274 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
275
276 Fix parallel build.
277
278 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
279 dependency.
280 * script/parser.y: #include grub_script.tab.h header.
281
282 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
283
284 Support >3GiB and <16MiB RAM in i386-qemu.
285
286 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
287 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
288 (grub_lower_mem): Removed.
289 (grub_upper_mem): Likewise.
290 (mem_size): Made static.
291 (above_4g): New variable.
292 (grub_machine_mmap_init): Detect small mem_size and above_4g.
293 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
294 support.
295
296 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
297
298 Cirrus 5446 and Bochs video cards support.
299
300 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
301 video_bochs.mod
302 (video_cirrus_mod_SOURCES): New variable.
303 (video_cirrus_mod_CFLAGS): Likewise.
304 (video_cirrus_mod_LDFLAGS): Likewise.
305 (video_bochs_mod_SOURCES): Likewise.
306 (video_bochs_mod_CFLAGS): Likewise.
307 (video_bochs_mod_LDFLAGS): Likewise.
308 * include/grub/vga.h: New file.
309 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
310 (grub_video_fb_set_page_t): New type.
311 (grub_video_fb_setup): New prototype.
312 (grub_video_fb_swap_buffers): Likewise.
313 (grub_video_fb_get_info_and_fini): Likewise.
314 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
315 (CRTC_DATA_PORT): Likewise.
316 (CRTC_CURSOR): Likewise.
317 (CRTC_CURSOR_ADDR_HIGH): Likewise.
318 (CRTC_CURSOR_ADDR_LOW): Likewise.
319 (CRTC_CURSOR_DISABLE): Likewise.
320 (update_cursor): Use grub_vga_cr_write.
321 (grub_vga_text_setcursor): Likewise.
322 * video/bochs.c: New file.
323 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
324 (palette): Likewise.
325 (palette_size): Likewise.
326 (framebuffer): New variable.
327 (grub_video_fb_init): Use 'framebuffer'.
328 (grub_video_fb_fini): Likewise.
329 (grub_video_fb_get_info): Likewise.
330 (grub_video_fb_get_palette): Likewise.
331 (grub_video_fb_set_palette): Likewise.
332 (grub_video_fb_set_viewport): Likewise.
333 (grub_video_fb_get_viewport): Likewise.
334 (grub_video_fb_map_color): Likewise.
335 (grub_video_fb_map_rgb): Likewise.
336 (grub_video_fb_map_rgba): Likewise.
337 (grub_video_fb_unmap_color): Likewise.
338 (grub_video_fb_unmap_color_int): Likewise.
339 (grub_video_fb_fill_rect): Likewise.
340 (grub_video_fb_blit_bitmap): Likewise.
341 (grub_video_fb_blit_render_target): Likewise.
342 (grub_video_fb_scroll): Likewise.
343 (grub_video_fb_create_render_target): Likewise.
344 (grub_video_fb_doublebuf_blit_init): Likewise.
345 (grub_video_fb_set_active_render_target): Handle doublebuffering.
346 (doublebuf_pageflipping_update_screen): New function.
347 (doublebuf_pageflipping_init): Likewise.
348 (grub_video_fb_setup): Likewise.
349 (grub_video_fb_swap_buffers): Likewise.
350 (grub_video_fb_get_info_and_fini): Likewise.
351 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
352 All users updated.
353 (doublebuf_pageflipping_commit): Restructured into ...
354 (doublebuf_pageflipping_set_page): ... this.
355 (doublebuf_pageflipping_update_screen): Removed.
356 (doublebuf_pageflipping_init): Likewise.
357 (double_buffering_init): Likewise.
358 (grub_video_vbe_setup): Use grub_video_fb_setup.
359 (grub_video_vbe_swap_buffers): Removed.
360 (grub_video_vbe_set_active_render_target): Likewise.
361 (grub_video_vbe_get_active_render_target): Likewise.
362 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
363 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
364 grub_video_fb_set_active_render_target and
365 grub_video_fb_get_active_render_target.
366 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
367 (SEQUENCER_DATA_PORT): Likewise.
368 (MAP_MASK_REGISTER): Likewise.
369 (CRTC_ADDR_PORT): Likewise.
370 (CRTC_DATA_PORT): Likewise.
371 (START_ADDR_HIGH_REGISTER): Likewise.
372 (START_ADDR_LOW_REGISTER): Likewise.
373 (GRAPHICS_ADDR_PORT): Likewise.
374 (GRAPHICS_DATA_PORT): Likewise.
375 (READ_MAP_REGISTER): Likewise.
376 (INPUT_STATUS1_REGISTER): Likewise.
377 (INPUT_STATUS1_VERTR_BIT): Likewise.
378 (get_map_mask): Use grub_vga_sr_read.
379 (set_map_mask): Use grub_vga_sr_write.
380 (set_read_map): Use grub_vga_gr_write.
381 (set_start_address): Use grub_vga_cr_write.
382 * video/sm712.c (framebuffer): Remove leftover fields.
383
384 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
385
386 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
387 setting GRUB_VIDEO_BACKEND. Make it available as a user override
388 instead. Replace the gfxterm backend check with a check that
389 ${GRUB_PREFIX}/video.lst is non-empty.
390 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
391 again.
392 (load_video): New generated function. Call it before loading
393 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
394 * util/grub.d/10_linux.in (linux_entry): Call load_video.
395 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
396 * docs/grub.texi (Simple configuration): Document
397 GRUB_VIDEO_BACKEND.
398
399 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
400
401 Use video functions in linux and xnu loaders.
402
403 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
404 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
405 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
406 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
407 loader/i386/pc/linux.c.
408 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
409 (find_line_len): Removed.
410 (find_framebuf): Likewise.
411 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
412 * loader/i386/efi/xnu.c: Removed.
413 * loader/i386/pc/xnu.c: Moved from here...
414 * loader/i386/xnu.c: ...here.
415
416 Enable priorities in video drivers.
417
418 * include/grub/video.h (grub_video_adapter_prio_t): New type.
419 (grub_video_adapter): New field prio.
420 (grub_video_register): Respect prio when inserting.
421 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
422 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
423 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
424 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
425 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
426 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
427 * video/sm712.c (grub_video_sm712_adapter): Likewise.
428
429 Fix SDL driver ID.
430
431 * include/grub/video.h (grub_video_driver_id_t): New value
432 GRUB_VIDEO_DRIVER_SDL.
433 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
434
435 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
436
437 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
438 argument to printf.
439 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
440
441 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
442
443 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
444 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
445
446 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
447
448 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
449 directly, and recommend grub-install instead.
450 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
451
452 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
453
454 Fix i386-pc prefix handling with nested partitions (Debian bug
455 #585068). Note that the case where the core image is booted using
456 multiboot and relocated from its original location still requires
457 more work.
458
459 * kern/i386/pc/init.c (make_install_device): If the prefix starts
460 with "(,", fill the boot drive in between those two characters, but
461 expect that a full partition specification including partition map
462 names will follow.
463 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
464 specified, write a prefix without the drive name but including a
465 full partition specification.
466
467 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
468
469 * util/grub-mkconfig.in: Ignore non-option arguments, for
470 compatibility with older versions (before 2010-06-12) which did the
471 same. In particular, this makes it easier to ship an update-grub
472 wrapper which is compatible with that used with GRUB Legacy (Debian
473 bug #586056).
474
475 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
476
477 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
478 for manual page generation.
479
480 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
481
482 * po/POTFILES: Remove leftover commands/handler.c.
483
484 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
485
486 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
487 left this script non-functional.
488
489 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
490
491 * docs/man/grub-emu.h2m: New file.
492
493 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
494
495 * docs/grub.texi (Commands): Document reduced command set in rescue
496 mode.
497 (cpuid): New section.
498
499 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
500
501 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
502 new partition naming style.
503 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
504
505 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
506
507 Add "-o grub.iso" like cmdline options support.
508
509 * util/grub-install.in: Improve cmdline option parsing.
510 * util/grub-mkconfig.in: Likewise.
511 * util/grub-mkrescue.in: Likewise.
512 * util/grub-reboot.in: Likewise.
513 * util/grub-set-default.in: Likewise.
514 * util/i386/efi/grub-install.in: Likewise.
515 * util/ieee1275/grub-install.in: Likewise.
516 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
517
518 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
519
520 * .bzrignore: Ignore 41_custom.
521
522 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
523
524 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
525
526 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
527
528 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
529 prototype declarations.
530
531 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
532 generating fs, partmap, and video lists.
533 * include/grub/fs.h (grub_fs_register): Omit prototype if
534 GRUB_LST_GENERATOR is defined.
535 * include/grub/partition.h (grub_partition_map_register): Likewise.
536 * include/grub/video.h (grub_video_register): Likewise.
537
538 2010-06-12 Javier Martín <lordhabbit@gmail.com>
539
540 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
541
542 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
543
544 * util/grub-mkrescue.in: Support --xorriso argument.
545
546 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
549 Suggested by: Thomas Schmitt.
550
551 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
554 Suggested by: Thomas Schmitt.
555
556 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
557
558 custom.cfg support.
559
560 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
561 * util/grub.d/41_custom.in: New file.
562
563 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
564
565 * util/grub-mkrescue.in (make_image): Remove sh module, which has
566 been merged back into normal.
567
568 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
569
570 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
571 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
572
573 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
574
575 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
576 when generating manual pages.
577 * docs/man/grub-bin2h.h2m: New file.
578 * docs/man/grub-editenv.h2m: New file.
579 * docs/man/grub-fstest.h2m: New file.
580 * docs/man/grub-install.h2m: New file.
581 * docs/man/grub-macho2img.h2m: New file.
582 * docs/man/grub-mkconfig.h2m: New file.
583 * docs/man/grub-mkdevicemap.h2m: New file.
584 * docs/man/grub-mkfont.h2m: New file.
585 * docs/man/grub-mkimage.h2m: New file.
586 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
587 * docs/man/grub-mkrelpath.h2m: New file.
588 * docs/man/grub-mkrescue.h2m: New file.
589 * docs/man/grub-ofpathname.h2m: New file.
590 * docs/man/grub-pe2elf.h2m: New file.
591 * docs/man/grub-probe.h2m: New file.
592 * docs/man/grub-reboot.h2m: New file.
593 * docs/man/grub-script-check.h2m: New file.
594 * docs/man/grub-set-default.h2m: New file.
595 * docs/man/grub-setup.h2m: New file.
596
597 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
598
599 Use FOR_* macros instead of *_iterate whenever possible.
600
601 * commands/handler.c: Removed.
602 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
603 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
604 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
605 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
606 (grub_probe_SOURCES): Remove kern/parser.c.
607 (util/grub-script-check.c_DEPENDENCIES): Removed.
608 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
609 and grub_script_check_init.c.
610 (grub_script_check_init.lst): Removed.
611 (grub_script_check_init.h): Likewise.
612 (grub_script_check_init.c): Likewise.
613 (pkglib_MODULES): Remove handler.mod and sh.mod.
614 (handler_mod_SOURCES): Removed.
615 (handler_mod_CFLAGS): Likewise.
616 (handler_mod_LDFLAGS): Likewise.
617 (normal_mod_SOURCES): Remove normal/handler.c.
618 Add script/main.c, script/script.c, script/execute.c,
619 script/function.c, script/lexer.c, grub_script.tab.c
620 and grub_script.yy.c.
621 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
622 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
623 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
624 (grub_setup_SOURCES): Remove kern/parser.c.
625 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
626 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
627 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
628 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
629 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
630 (grub_setup_SOURCES): Remove kern/parser.c.
631 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
632 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
633 * include/grub/command.h (grub_command_iterate): Removed.
634 (FOR_COMMANDS): New macro.
635 * include/grub/dl.h (grub_dl): New member next.
636 (grub_dl_iterate): Removed.
637 (grub_dl_head): New variable declaration.
638 (FOR_DL_MODULES): New macro.
639 * include/grub/fs.h: Include list.h.
640 (grub_fs): Make next first element.
641 (grub_fs_list): New variable declaration.
642 (grub_fs_register): Make inline.
643 (grub_fs_unregister): Likewise.
644 (grub_fs_iterate): Removed.
645 (FOR_FILESYSTEMS): New macro.
646 * include/grub/handler.h: Removed.
647 * include/grub/list.h (grub_list_hook_t): Removed.
648 (grub_list_test_t): Likewise.
649 (grub_list_pop): Likewise.
650 (grub_list_iterate): Likewise.
651 (grub_list_insert): Likewise.
652 (FOR_LIST_ELEMENTS): New macro.
653 * include/grub/parser.h (grub_parser_class): Removed.
654 (grub_parser_register): Likewise.
655 (grub_parser_unregister): Likewise.
656 (grub_parser_get_current): Likewise.
657 (grub_parser_set_current): Likewise.
658 (grub_register_rescue_parser): Likewise.
659 (grub_rescue_parse_line): New function.
660 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
661 * include/grub/script_sh.h (grub_script_function_list): New variable
662 declaration.
663 (FOR_SCRIPT_FUNCTIONS): New macro.
664 (grub_script_function_iterate): Removed.
665 (grub_normal_parse_line): New prototype.
666 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
667 (FOR_DISABLED_TERM_INPUTS): Likewise.
668 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
669 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
670 * include/grub/video.h (grub_video_adapter): Move 'next' to first
671 element.
672 (grub_video_register): Inline.
673 (grub_video_unregister): Likewise.
674 (grub_video_adapter_list): New variable declaration.
675 (grub_video_iterate): Removed.
676 (FOR_VIDEO_ADAPTERS): New macro.
677 * kern/dl.c (grub_dl_list): Removed. All users updated.
678 (grub_dl_iterate): Removed.
679 * kern/fs.c (grub_fs_list): Make global.
680 (grub_fs_register): Removed.
681 (grub_fs_unregister): Likewise.
682 (grub_fs_iterate): Likewise.
683 * kern/handler.c: Removed.
684 * kern/list.c (grub_list_pop): Removed.
685 (grub_list_iterate): Likewise.
686 (grub_list_insert): Likewise.
687 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
688 (grub_prio_list_insert): Don't use grub_list_insert.
689 * kern/main.c (grub_register_rescue_parser): Don't call
690 grub_register_rescue_parser.
691 * kern/parser.c (grub_parser_class): Removed.
692 (grub_parser_execute): Use grub_rescue_parse_line.
693 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
694 (grub_rescue_parser): Removed.
695 (grub_register_rescue_parser): Likewise.
696 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
697 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
698 (grub_auth_check_authentication): Likewise.
699 * normal/completion.c (iterate_command): Removed.
700 (grub_normal_do_completion): Use FOR_COMMANDS.
701 * normal/handler.c: Removed.
702 * normal/main.c (read_config_file): Remove parser changing.
703 (grub_normal_execute): Don't call read_handler_list.
704 (grub_normal_read_line_real): Statically allocate prompt.
705 (grub_cmdline_run): Use grub_normal_parse_line.
706 (GRUB_MOD_FINI): Don't call free_handler_list.
707 * normal/menu_entry.c (run): Likewise.
708 * script/function.c (grub_script_function_list): Make global.
709 (grub_script_function_iterate): Removed.
710 * script/main.c (grub_normal_parse_line): Make global.
711 (grub_sh_parser): Removed.
712 (GRUB_MOD_INIT): Likewise.
713 (GRUB_MOD_FINI): Likewise.
714 * tests/lib/functional_test.c (grub_functional_test): Use
715 FOR_LIST_ELEMENTS.
716 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
717 (grub_test_run): Use FOR_LIST_ELEMENTS.
718 * tests/lib/unit_test.c (main): Likewise.
719 * util/deviceiter.c (grub_util_iterate_devices): Don't use
720 grub_list_pop.
721 * util/grub-fstest.c (grub_term_input_class): Removed.
722 (grub_term_output_class): Likewise.
723 * util/grub-probe.c: Likewise.
724 * util/i386/pc/grub-setup.c: Likewise.
725 * util/sparc64/ieee1275/grub-setup.c: Likewise.
726 * util/grub-script-check.c (main): Don't call grub_init_all and
727 grub_fini_all.
728 * video/video.c (grub_video_adapter_list): Make global.
729 (grub_video_register): Removed.
730 (grub_video_unregister): Likewise.
731 (grub_video_iterate): Likewise.
732
733 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
736 reported by Henrique Ferreiro.
737
738 2010-06-09 Robert Millan <rmh@gnu.org>
739
740 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
741 ones, when both are available.
742
743 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
744
745 Make --version uniform and avoid hard-coded program name.
746
747 * util/grub-mkimage.c (main): Use `program_name' instead of
748 hard-coded string.
749 * util/i386/pc/grub-setup.c (main): Likewise.
750 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
751 * util/grub-install.in: Save the basename of $0 in $self, and use the
752 latter in informational messages. Use the same format for --version
753 as the binary programs.
754 * util/grub-mkconfig.in: Likewise.
755 * util/grub-mkrescue.in: Likewise.
756 * util/grub-reboot.in: Likewise.
757 * util/grub-set-default.in: Likewise.
758 * util/i386/efi/grub-install.in: Likewise.
759 * util/ieee1275/grub-install.in: Likewise.
760 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
761
762 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
763
764 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
765 embedding area. Use <= instead of == when checking for non-emptiness.
766
767 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
768
769 * configure.ac: Add `.' to the directories searched for unifont.
770
771 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
772
773 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
774 grub_script.yy.h.
775
776 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
777
778 * docs/grub.texi (History): Expand to cover GRUB 2.
779 (Serial terminal): Refer to `terminal_input' and `terminal_output'
780 commands, not `terminal'.
781 (serial): Likewise.
782 (terminal_input): New section.
783 (terminal_output): New section.
784 (uppermem): New section (stub).
785 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
786
787 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
788
789 * docs/grub.texi (Security): Menu entries are unrestricted by
790 default, not restricted to superusers as I had previously thought.
791 Reword to account for this.
792
793 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
794
795 * kern/emu/misc.c (device_mapper_null_log): New function.
796 (grub_device_mapper_supported): New function.
797 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
798 prototype.
799 * kern/emu/hostdisk.c (find_partition_start): Check whether
800 device-mapper is supported before trying to use it.
801 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
802
803 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
804
805 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
806 (File name syntax): Likewise.
807 (help): --all is no longer supported in GRUB 2. Be more precise
808 about pattern matching.
809
810 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
811
812 * normal/completion.c (grub_normal_do_completion): When completing
813 arguments to "set" and the current word contains an equals sign,
814 skip to after the equals sign before starting completion.
815
816 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
817
818 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
819
820 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
821
822 * docs/grub.texi (Network): New section.
823 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
824 `(nd)' as in GRUB Legacy.
825 (pxe_unload): New section.
826
827 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
828
829 * docs/grub.texi (Troubleshooting): `echo' is not usually available
830 in the rescue shell, so recommend using `set' instead. Thanks,
831 Jordan Uggla.
832
833 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
834
835 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
836 (password): New section.
837 (password_pbkdf2): New section.
838 (search): New section.
839 (Security): New section.
840 (Troubleshooting): New section, currently very incomplete.
841 (Invoking grub-mkpasswd-pbkdf2): New section.
842 (Internals): New section, currently very incomplete.
843
844 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
845
846 * util/grub.d/00_header.in: Add some more quoting (of
847 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
848 work again.
849 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
850
851 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
852
853 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
854 to `count', fixing variable shadowing that broke the -c option.
855
856 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
857
858 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
859 in case they contain spaces.
860
861 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
862
863 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
864 "part_" to partmap module names, in line with grub-install.
865 Reported by: Jindřich Makovička (Debian bug #584426).
866
867 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
868
869 * util/grub-mkimage.c: Make target-related error messages slightly
870 more helpful; -O talks about "format". Explicitly point to the use
871 of -O if no target is specified.
872 Reported by: Didier Raboud (Debian bug #584415).
873
874 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
875
876 * INSTALL: Document several build requirements for optional features
877 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
878
879 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
880
881 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
882 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
883 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
884
885 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
886
887 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
888 Thanks to Jordan Uggla for spotting this.
889
890 2010-06-02 Aleš Nesrsta <starous@volny.cz>
891
892 Finally make USB usable.
893
894 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
895 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
896 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
897 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
898 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
899 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
900 (GRUB_OHCI_FSMPS): Likewise.
901 (GRUB_OHCI_PERIODIC_START): Likewise.
902 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
903 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
904 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
905 (GRUB_OHCI_SET_PORT_RESET): Likewise.
906 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
907 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
908 (grub_ohci_transaction): Likewise.
909 (grub_ohci_transfer): Improve condition detection algorithms.
910 Handle toggle property. Program the transactions correctly.
911 Improve error handling. Various important fixups.
912 (grub_ohci_portstatus): Put register writes in right order.
913 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
914 (grub_uhci_transfer): Don't show "failed" message on success.
915 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
916 array.
917 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
918 determine its size.
919 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
920 before initialization is completed. Use IN direction for empty
921 transfers. Use last_trans and compute toggle.
922 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
923 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
924 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
925 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
926 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
927 (grub_usb_device): Increase toggle to 256.
928 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
929 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
930 GRUB_USBMS_SUBCLASS_SFF8070.
931 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
932 (grub_scsi_inquiry): New member page and alloc_length.
933 (grub_scsi_request_sense): New structure.
934 (grub_scsi_request_sense_data): Likewise.
935 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
936 control.
937 * disk/scsi.c (grub_scsi_request_sense): New function.
938 (grub_scsi_test_unit_ready): Likewise.
939 (grub_scsi_inquiry): Fill new fields.
940 (grub_scsi_read_capacity): Likewise.
941 (grub_scsi_read10): Add request sense at the end.
942 (grub_scsi_read12): Likewise.
943 (grub_scsi_write10): Likewise.
944 (grub_scsi_write12): Likewise.
945 (grub_scsi_open): Add Test Unit Ready.
946 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
947 Support additional subclasses. Con't clear halt yet. Activate the
948 proper config. Calculate LUNs correctly.
949 (grub_usbms_transfer): Various important fixups.
950
951 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
954 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
955 (grub_ohci_fini_hw): New function.
956 (grub_ohci_restore_hw): Likewise.
957 (GRUB_MOD_INIT(ohci)): Register preboot hook.
958 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
959 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
960
961 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
962
963 Dedicated DMA allocations.
964
965 * bus/pci.c (grub_memalign_dma32): New function
966 (grub_dma_free): Likewise.
967 (grub_dma_get_virt): Likewise.
968 (grub_dma_get_phys): Likewise.
969 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
970 (grub_ohci_pci_iter): Use dma32_alloc.
971 (grub_ohci_transfer): Likewise.
972 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
973 (grub_usb_bulk_readwrite): Likewise.
974 * include/grub/pci.h: Add declarations.
975
976 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
977
978 CS5536 support.
979
980 * bus/cs5536.c: New file.
981 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
982 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
983 (cs5536_mod_SOURCES): New variable.
984 (cs5536_mod_CFLAGS): Likewise.
985 (cs5536_mod_LDFLAGS): Likewise.
986 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
987 machine/pci.h.
988 (kernel_img_SOURCES): Add bus/cs5536.c.
989 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
990 usb_keyboard.mod.
991 (usb_mod_SOURCES): New variable.
992 (usb_mod_CFLAGS): New variable.
993 (usb_mod_LDFLAGS): New variable.
994 (usbtest_mod_SOURCES): New variable.
995 (usbtest_mod_CFLAGS): New variable.
996 (usbtest_mod_LDFLAGS): New variable.
997 (ohci_mod_SOURCES): New variable.
998 (ohci_mod_CFLAGS): New variable.
999 (ohci_mod_LDFLAGS): New variable.
1000 (usbms_mod_SOURCES): New variable.
1001 (usbms_mod_CFLAGS): New variable.
1002 (usbms_mod_LDFLAGS): New variable.
1003 (usb_keyboard_mod_SOURCES): New variable.
1004 (usb_keyboard_mod_CFLAGS): New variable.
1005 (usb_keyboard_mod_LDFLAGS): New variable.
1006 * include/grub/smbus.h: New file.
1007 * include/grub/cs5536.h: New file.
1008
1009 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1010
1011 * util/grub.d/00_header.in: Add safety check to make sure that
1012 ${locale_dir} exists before trying to probe it.
1013
1014 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1015
1016 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
1017 per the GNU Coding Standards; this is now too obscure to be worth
1018 documenting.
1019 (QNX): Likewise.
1020 (chainloader): Remove cross-reference to `SCO UnixWare'.
1021
1022 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1023
1024 * docs/grub.texi (Chain-loading): New section.
1025 (DOS/Windows): New section, borrowed from GRUB Legacy with details
1026 adjusted for GRUB 2.
1027 (SCO UnixWare): Likewise.
1028 (QNX): Likewise.
1029 (chainloader): Add reference to `Block list syntax'.
1030 (drivemap): New section.
1031 (parttool): New section.
1032
1033 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1034
1035 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
1036 the grub shell'.
1037 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
1038 (Installing GRUB using grub-install): Remove reference to the grub
1039 shell; mention `grub-mkimage' and `grub-setup' instead.
1040 (Invoking grub-install): Likewise.
1041 (Interface): Add reference to `Menu entry editor'.
1042 (serial): Remove `--device' option.
1043
1044 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1045
1046 * docs/grub.texi (Configuration): New section, documenting
1047 configuration file generation using grub-mkconfig. I've left a slot
1048 for documenting the full shell scripting format but have not yet
1049 started on writing that up.
1050 (Invoking grub-mkconfig): New section.
1051
1052 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1053
1054 * docs/grub.texi (direntry): Remove grub-terminfo reference.
1055 (GNU GRUB manual): Likewise.
1056 (General commands): Update description of `terminfo' for GRUB 2.
1057
1058 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1059
1060 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
1061 (GRUB_MOD_INIT): Fix capitalisation.
1062 * docs/grub.texi (Command-line and menu entry commands): Document
1063 gettext and gptsync commands.
1064
1065 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1066
1067 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
1068 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
1069
1070 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
1071
1072 Add btrfs probing support, currently only in the single-device case.
1073
1074 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
1075 function.
1076 (grub_guess_root_device): Call find_root_device_from_mountinfo
1077 before looking in /dev.
1078
1079 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
1082 GRUB_DISK_SIZE_UNKNOWN.
1083 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
1084
1085 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
1086
1087 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
1088 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
1089 corrupted or not synced properly.
1090
1091 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
1094 Reported by: Seth Goldberg.
1095
1096 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
1099 addition of dest.
1100 Reported by: Seth Goldberg.
1101
1102 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
1105 Reported by: Seth Goldberg.
1106
1107 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
1110 64-bit address as signed on MIPS.
1111
1112 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
1113
1114 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
1115 to the empty string.
1116
1117 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
1118
1119 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
1120
1121 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
1122 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
1123 * kern/misc.c (__enable_execute_stack): Disable on
1124 GRUB_MACHINE_EMU.
1125
1126 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
1127
1128 Make grub-probe work with symbolic links under /dev/mapper as well
1129 as with real block devices. The Linux world seems to be (at best)
1130 in transition here, and GRUB shouldn't get caught in the middle.
1131
1132 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
1133 /dev/mapper.
1134
1135 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
1136
1137 * util/grub-script-check.c (main): Ensure defined behaviour on empty
1138 input files (in which case exit zero).
1139
1140 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
1141
1142 * kern/emu/misc.c (canonicalize_file_name): realpath can still
1143 return NULL for various reasons even if it has a maximum-length
1144 buffer: for example, there might be a symlink loop, or the path
1145 might exceed PATH_MAX. If this happens, return NULL.
1146
1147 2010-05-27 Robert Millan <rmh@gnu.org>
1148
1149 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
1150 partmap module to handle cross-partmap setups.
1151 Reported by Orestes Mas. Gràcies!
1152
1153 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
1154
1155 * util/grub-mkrescue.in: Initialise override_dir rather than
1156 assuming that it's unset or empty in the environment.
1157
1158 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1159
1160 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
1161 variable index into p_index to suppress a warning with -Wshadow.
1162
1163 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
1164
1165 * INSTALL: Added flex >= 2.5.35 requirement.
1166
1167 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
1170
1171 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 cmostest support.
1174
1175 * commands/i386/cmostest.c: New file.
1176 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
1177 (cmostest_mod_SOURCES): New variable.
1178 (cmostest_mod_CFLAGS): Likewise.
1179 (cmostest_mod_LDFLAGS): Likewise.
1180 * conf/i386-pc.rmk: Likewise.
1181 * docs/grub.texi (Vendor power-on keys): New section.
1182 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
1183 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
1184 and GRUB_BUTTON_CMOS_ADDRESS.
1185 * util/grub.d/00_header.in: Handle powering-on by separate button.
1186
1187 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
1190 Removed drawing_scrollbar argument. All users updated
1191 Fixes #29792.
1192 Reported by Jo Shields
1193
1194 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
1197 buffer since gfxterm handles double repaint.
1198
1199 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
1202 * term/gfxterm.c (real_scroll): Likewise.
1203
1204 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
1207 before calling BIOS.
1208
1209 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * include/grub/i18n.h: Always enable grub_gettext.
1212
1213 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
1216 partition naming style.
1217
1218 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
1219
1220 * util/grub-mkconfig.in: Fix handling of -o so that it works when
1221 not the first option.
1222
1223 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
1224
1225 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
1226
1227 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
1228
1229 * util/misc.c: Move inclusion of <limits.h> to ...
1230 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
1231
1232 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1233
1234 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
1235 Fix merge error in NetBSD code.
1236 (find_partition_start) [__NetBSD__]: Likewise.
1237
1238 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
1239
1240 Fix grub-mkrescue usage unit testing.
1241
1242 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
1243
1244 2010-05-18 Christian Franke <franke@computer.org>
1245
1246 * util/grub.d/10_windows.in: Use path names instead of
1247 drive letters to prevent warning from Cygwin 1.7.
1248 Add drivemap command to menuentry if needed.
1249
1250 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
1251
1252 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
1253 gnumach and gnumach.gz.
1254
1255 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * include/grub/i18n.h (gettext): Inline instead of using #define.
1258 (grub_gettext): Likewise.
1259 (_): Likewise.
1260
1261 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
1264 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
1265 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
1266 (main): Add a slash after pkglibdirroot.
1267
1268 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * util/grub-install.in: Add missing "in" keyword.
1271
1272 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
1275 Reported by: Seth Goldberg.
1276
1277 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
1280
1281 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
1282
1283 * configure.ac: Check for Linux device-mapper support.
1284
1285 * util/hostdisk.c (device_is_mapped): New function.
1286 (find_partition_start): New function, partly broken out from
1287 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
1288 device-mapper support added.
1289 (linux_find_partition): Use find_partition_start.
1290 (convert_system_partition_to_system_disk): Add `st' argument.
1291 Support Linux /dev/mapper/* devices if device-mapper support is
1292 available; only DM-RAID devices are understood at present.
1293 (find_system_device): Add `st' argument. Pass it to
1294 convert_system_partition_to_system_disk.
1295 (grub_util_biosdisk_get_grub_dev): Pass stat result to
1296 find_system_device and convert_system_partition_to_system_disk. Use
1297 find_partition_start.
1298
1299 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
1300 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
1301 * util/deviceiter.c [__linux__]: Define MINOR.
1302 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
1303 * util/mkdevicemap.c (grub_putchar): New function.
1304 (grub_getkey): New function.
1305 (grub_refresh): New function.
1306 (main): Set debug=all if -v -v is used.
1307
1308 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
1309
1310 Fix build with non-GNU libcs.
1311
1312 * util/misc.c (canonicalize_file_name): Move to ...
1313 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
1314 grub_make_system_path_relative_to_its_root.
1315
1316 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
1317
1318 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
1319 we handle finding grub-mkimage. Default to finding grub-mkimage in
1320 ${bindir} with program_transform_name applied, and provide a
1321 --grub-mkimage option to override this.
1322
1323 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 Remove grub-mkisofs.
1326
1327 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
1328 (grub_mkisofs_SOURCES): Removed.
1329 (grub_mkisofs_CFLAGS): Removed.
1330 * util/mkisofs/defaults.h: Removed.
1331 * util/mkisofs/eltorito.c: Likewise.
1332 * util/mkisofs/exclude.h: Likewise.
1333 * util/mkisofs/hash.c: Likewise.
1334 * util/mkisofs/include/: Likewise.
1335 * util/mkisofs/include/fctldefs.h: Likewise.
1336 * util/mkisofs/include/mconfig.h: Likewise.
1337 * util/mkisofs/include/prototyp.h: Likewise.
1338 * util/mkisofs/include/statdefs.h: Likewise.
1339 * util/mkisofs/iso9660.h: Likewise.
1340 * util/mkisofs/joliet.c: Likewise.
1341 * util/mkisofs/match.c: Likewise.
1342 * util/mkisofs/match.h: Likewise.
1343 * util/mkisofs/mkisofs.c: Likewise.
1344 * util/mkisofs/mkisofs.h: Likewise.
1345 * util/mkisofs/msdos_partition.h: Likewise.
1346 * util/mkisofs/multi.c: Likewise.
1347 * util/mkisofs/name.c: Likewise.
1348 * util/mkisofs/rock.c: Likewise.
1349 * util/mkisofs/tree.c: Likewise.
1350 * util/mkisofs/write.c: Likewise.
1351
1352 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 Unify grub-mkimage accross platforms.
1355
1356 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
1357 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
1358 (grub_mkelfimage_SOURCES): Removed.
1359 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
1360 (util/grub-mkimage.c_DEPENDENCIES): .. this.
1361 (bin_UTILITIES): Add grub-mkimage.
1362 (grub_mkimage_SOURCES): New variable.
1363 (kernel_img_HEADERS): Remove machine/kernel.h.
1364 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
1365 (pkglib_PROGRAMS): Add kernel.img.
1366 (kernel_img_HEADERS): Add machine/kernel.h.
1367 (kernel_img_FORMAT): Removed.
1368 (bin_UTILITIES): Remove grub-mkimage.
1369 (grub_mkimage_SOURCES): Removed.
1370 (grub_mkimage_CFLAGS): Likewise.
1371 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1372 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
1373 (pkglib_PROGRAMS): Add kernel.img.
1374 (bin_UTILITIES): Remove grub-mkimage.
1375 (grub_mkimage_SOURCES): Removed.
1376 (grub_mkimage_CFLAGS): Likewise.
1377 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1378 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
1379 (pkglib_PROGRAMS): Add kernel.img.
1380 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
1381 (pkglib_PROGRAMS): Add kernel.img.
1382 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
1383 (grub_mkimage_SOURCES): Removed.
1384 (grub_mkimage_CFLAGS): Likewise.
1385 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1386 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
1387 (pkglib_PROGRAMS): Add kernel.img.
1388 (bin_UTILITIES): Remove grub-mkimage.
1389 (grub_mkimage_SOURCES): Removed.
1390 (grub_mkimage_CFLAGS): Likewise.
1391 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1392 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
1393 (grub_mkimage_SOURCES): Removed.
1394 (grub_mkimage_CFLAGS): Likewise.
1395 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1396 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
1397 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
1398 (grub_pe32_optional_header): ... this.
1399 (grub_pe64_optional_header): ... and this. All users updated.
1400 (GRUB_PE32_PE32_MAGIC): Split into ..
1401 (GRUB_PE32_PE32_MAGIC): .. this.
1402 (GRUB_PE32_PE64_MAGIC): .. and this.
1403 (GRUB_PE32_SIGNATURE_SIZE): New definition.
1404 * include/grub/elf.h (PT_GNU_STACK): New definition.
1405 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
1406 * include/grub/i386/efi/kernel.h: Likewise.
1407 * include/grub/i386/kernel.h: Likewise.
1408 * include/grub/i386/pc/kernel.h: Likewise.
1409 * include/grub/i386/qemu/boot.h: Likewise.
1410 * include/grub/mips/kernel.h: Likewise.
1411 * include/grub/mips/qemu-mips/kernel.h: Likewise.
1412 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
1413 * include/grub/powerpc/kernel.h: Likewise.
1414 * include/grub/sparc64/ieee1275/boot.h: Likewise.
1415 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
1416 * include/grub/sparc64/kernel.h: Likewise.
1417 * include/grub/x86_64/efi/kernel.h: Likewise.
1418 * include/grub/x86_64/kernel.h: Likewise.
1419 * include/grub/offsets.h: New file.
1420 * include/grub/kernel.h (grub_module_info): Split into ...
1421 (grub_module_info32): ... this.
1422 (grub_module_info64): ... and this.
1423 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
1424 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
1425 (grub_boot_blocklist): Moved from here ...
1426 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
1427 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
1428 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
1429 * include/grub/types.h (grub_target_to_host16): Removed.
1430 (grub_target_to_host32): Likewise.
1431 (grub_target_to_host64): Likewise.
1432 (grub_host_to_target16): Likewise.
1433 (grub_host_to_target32): Likewise.
1434 (grub_host_to_target64): Likewise.
1435 (grub_host_to_target_addr): Likewise.
1436
1437 Support grub-mkrescue for efi, coreboot and qemu.
1438
1439 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
1440 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
1441 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
1442 * util/grub-mkrawimage.c: Moved from here ...
1443 * util/grub-mkimage.c: ... here. All users updated.
1444 (ALIGN_ADDR): Use image_target.
1445 (TARGET_NO_FIELD): New const.
1446 (image_target_desc): New type.
1447 (image_targets): New array.
1448 (grub_target_to_host64): Use image_target.
1449 (grub_target_to_host32): Likewise.
1450 (grub_target_to_host16): Likewise.
1451 (grub_host_to_target64): Likewise.
1452 (grub_host_to_target32): Likewise.
1453 (grub_host_to_target16): Likewise.
1454 (grub_host_to_target_addr): Likewise.
1455 (generate_image): Handle multiimage.
1456 (main): Require -O parameter. All users updated.
1457 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
1458 util/efi/grub-mkimage.c
1459 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
1460 New option --rom-directory.
1461 Use xorriso.
1462 * util/i386/efi/grub-mkimage.c: Removed.
1463 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
1464 (grub_target_to_host32): Likewise.
1465 (grub_target_to_host64): Likewise.
1466 (grub_host_to_target16): Likewise.
1467 (grub_host_to_target32): Likewise.
1468 (grub_host_to_target64): Likewise.
1469 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
1470 (grub_target_to_host32): Likewise.
1471 (grub_target_to_host64): Likewise.
1472 (grub_host_to_target16): Likewise.
1473 (grub_host_to_target32): Likewise.
1474 (grub_host_to_target64): Likewise.
1475
1476 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
1477
1478 Source tree is reorganized for emu build.
1479
1480 * include/grub/util/console.h: Move from here...
1481 * include/grub/emu/console.h: ...to here.
1482 * include/grub/util/getroot.h: Move from here...
1483 * include/grub/emu/getroot.h: ...to here.
1484 * include/grub/util/hostdisk.h: Move from here...
1485 * include/grub/emu/hostdisk.h: ...to here.
1486 * util/console.c: Move from here...
1487 * kern/emu/console.c: ...to here.
1488 * util/getroot.c: Move from here...
1489 * kern/emu/getroot.c: ...to here.
1490 * util/grub-emu.c: Move from here...
1491 * kern/emu/main.c: ...to here.
1492 * util/hostdisk.c: Move from here...
1493 * kern/emu/hostdisk.c: ...to here.
1494 * util/hostfs.c: Move from here...
1495 * kern/emu/hostfs.c: ...to here.
1496 * util/mm.c: Move from here...
1497 * kern/emu/mm.c: ...to here.
1498 * util/pci.c: Move from here...
1499 * bus/emu/pci.c: ...to here.
1500 * util/sdl.c: Move from here...
1501 * video/emu/sdl.c: ...to here.
1502 * util/time.c: Move from here...
1503 * kern/emu/time.c: ...to here.
1504 * util/usb.c: Move from here...
1505 * bus/usb/emu/usb.c: ...to here.
1506
1507 * include/grub/emu/misc.h: New header for grub-emu functions.
1508 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
1509
1510 * conf/any-emu.rmk: Rule updates for above renames.
1511 * conf/common.rmk: Likewise.
1512 * conf/i386-pc.rmk: Likewise.
1513 * conf/i386-qemu.rmk: Likewise.
1514 * conf/mips.rmk: Likewise.
1515 * conf/sparc64-ieee1275.rmk: Likewise.
1516 * conf/x86-efi.rmk: Likewise.
1517
1518 * disk/lvm.h: #include updates for above renames.
1519 * util/grub-mkrelpath.c: Likewise.
1520 * util/grub-probe.c: Likewise.
1521 * util/i386/pc/grub-setup.c: Likewise.
1522 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1523 * kern/emu/console.c: Likewise.
1524 * kern/emu/getroot.c: Likewise.
1525 * kern/emu/hostdisk.c: Likewise.
1526 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
1527
1528 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
1529 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
1530 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
1531 * util/misc.c: Remove grub-emu functions.
1532
1533 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1534
1535 Fix gfxmenu crash.
1536 Reported by: Thorsten Grützmacher.
1537
1538 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
1539 timeout hook.
1540 (circprog_set_property): Register and unregister timeout hook.
1541 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
1542 (label_destroy): Free template. and unregister hook.
1543 (label_set_state): New function.
1544 (label_set_property): Handle templates and hooks.
1545 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
1546 timeout hook.
1547 (progress_bar_set_property): Register and unregister timeout hook.
1548 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
1549 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
1550 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
1551 (update_timeout_visit): Removed.
1552 (update_timeouts): New function.
1553 (redraw_timeouts): Likewise.
1554 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
1555 (grub_gfxmenu_clear_timeout): Likewise.
1556 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
1557 (grub_gfxmenu_timeout_notify): Likewise.
1558 (grub_gfxmenu_timeout_notifications): New external variable.
1559 (grub_gfxmenu_timeout_register): New function.
1560 (grub_gfxmenu_timeout_unregister): Likewise.
1561
1562 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 Transform (broken) vga terminal into (working) vga video driver.
1565
1566 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
1567 video/i386/pc/vga.c.
1568 * include/grub/video.h (grub_video_driver_id):
1569 Add GRUB_VIDEO_DRIVER_VGA.
1570 * term/i386/pc/vga.c: Renamed to ...
1571 * video/i386/pc/vga.c: ...this
1572 (DEBUG_VGA): Removed.
1573 (CHAR_WIDTH): Likewise.
1574 (CHAR_HEIGHT): Likewise.
1575 (TEXT_WIDTH): Likewise.
1576 (TEXT_HEIGHT): Likewise.
1577 (DEFAULT_FG_COLOR): Likewise.
1578 (DEFAULT_BG_COLOR): Likewise.
1579 (colored_char): Likewise.
1580 (xpos): Likewise.
1581 (ypos): Likewise.
1582 (cursor_state): Likewise.
1583 (fg_color): Likewise.
1584 (bg_color): Likewise.
1585 (text_buf): Likewise.
1586 (page): Likewise.
1587 (font): Likewise.
1588 (framebuffer): New variable.
1589 (set_read_map): Disabled.
1590 (setup): New variable.
1591 (is_target): Likewise.
1592 (grub_vga_mod_init): Likewise.
1593 (grub_vga_mod_fini): Likewise.
1594 (check_vga_mem): Likewise.
1595 (write_char): Likewise.
1596 (write_cursor): Likewise.
1597 (scroll_up): Likewise.
1598 (grub_vga_putchar): Likewise.
1599 (grub_vga_getcharwidth): Likewise.
1600 (grub_vga_getwh): Likewise.
1601 (grub_vga_getxy): Likewise.
1602 (grub_vga_gotoxy): Likewise.
1603 (grub_vga_cls): Likewise.
1604 (grub_vga_setcolorstate): Likewise.
1605 (grub_vga_setcursor): Likewise.
1606 (grub_video_vga_init): New function.
1607 (grub_video_vga_setup): Likewise.
1608 (grub_video_vga_fini): Likewise.
1609 (update_target): Likewise.
1610 (grub_video_vga_blit_bitmap): Likewise.
1611 (grub_video_vga_blit_render_target): Likewise.
1612 (grub_video_vga_set_active_render_target): Likewise.
1613 (grub_video_vga_get_active_render_target): Likewise.
1614 (grub_video_vga_swap_buffers): Likewise.
1615 (grub_video_vga_set_palette): Likewise.
1616 (grub_video_vga_get_info_and_fini): Likewise.
1617 (grub_vga_term): Removed.
1618 (grub_video_vga_adapter): New variable.
1619 (GRUB_MOD_INIT): Register a video driver instead of terminal.
1620 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
1621
1622 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * video/readers/jpeg.c: Indented.
1625
1626 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 Various jpeg cleanups.
1629
1630 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
1631 (grub_jpeg_decode_quan_table): Use sizeof.
1632 (grub_jpeg_decode_du): Use ARRAY_SIZE.
1633
1634 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
1635
1636 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
1637 tables. Ignore non-last ac bit.
1638 (grub_jpeg_decode_quan_table): Likewise.
1639
1640 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
1643 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
1644 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1645 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
1646 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
1647 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
1648
1649 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
1652 error.
1653
1654 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
1657
1658 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
1661 condition.
1662
1663 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
1666 part.
1667
1668 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
1671 pointers.
1672
1673 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
1676
1677 2010-05-01 Christian Franke <franke@computer.org>
1678
1679 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
1680 Remove broken Cygwin path conversion.
1681 * util/misc.c: [__CYGWIN__] Add include and define.
1682 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
1683 for Cygwin 1.7.
1684 (make_system_path_relative_to_its_root): Simplify loop, replace early
1685 return by break.
1686 [__CYGWIN__] Add conversion to win32 path.
1687 Include "/" case in trailing slash removal.
1688
1689 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * kern/main.c (grub_load_config): Fix copy-pasted comment.
1692 Reported by: Seth Goldberg
1693
1694 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * commands/help.c (grub_cmd_help): Fix a typo.
1697 Reported by: Seth Goldberg
1698
1699 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
1702 name and add N_.
1703 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
1704 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
1705 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
1706 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
1707 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
1708 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
1709 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
1710 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
1711 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
1712 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
1713 * normal/context.c (GRUB_MOD_INIT): Likewise.
1714 * normal/main.c (GRUB_MOD_INIT): Likewise.
1715 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
1716 * term/serial.c (GRUB_MOD_INIT): Likewise.
1717 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
1718
1719 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
1722 extra == 0.
1723
1724 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 * commands/iorw.c: New file.
1727 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
1728 (iorw_mod_SOURCES): New variable.
1729 (iorw_mod_CFLAGS): Likewise.
1730 (iorw_mod_LDFLAGS): Likewise.
1731
1732 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 Hotkey support
1735
1736 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
1737 * normal/main.c (hotkey_aliases): New variable.
1738 (grub_normal_add_menu_entry): Parse "--hotkey".
1739 * normal/menu_text.c (run_menu): Handle hotkeys.
1740
1741 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * kern/i386/coreboot/init.c (grub_machine_init): Call
1744 grub_machine_mmap_init on qemu.
1745
1746 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * boot/i386/qemu/boot.S: Add a missing .code16.
1749
1750 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 Use LBIO on coreboot.
1753
1754 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
1755 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
1756 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
1757 New declaration.
1758 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
1759 grub_machine_mmap_init on coreboot.
1760 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
1761 GRUB_LINUXBIOS_MEMBER_LINK.
1762 (grub_machine_mmap_iterate): Fix declaration.
1763 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
1764
1765 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 Split coreboot and multiboot ports.
1768
1769 * conf/i386-multiboot.rmk: New file.
1770 * configure.ac: Add multiboot port.
1771 * include/grub/i386/multiboot/boot.h: New file.
1772 * include/grub/i386/multiboot/console.h: Likewise.
1773 * include/grub/i386/multiboot/init.h: Likewise.
1774 * include/grub/i386/multiboot/kernel.h: Likewise.
1775 * include/grub/i386/multiboot/loader.h: Likewise.
1776 * include/grub/i386/multiboot/memory.h: Likewise.
1777 * include/grub/i386/multiboot/serial.h: Likewise.
1778 * include/grub/i386/multiboot/time.h: Likewise.
1779 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
1780 * loader/multiboot.c: Likewise.
1781 * loader/multiboot_mbi2.c: Likewise.
1782 * util/grub-mkrescue.in: Generate multiboot rescue.
1783
1784 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 * kern/parser.c (grub_parser_execute): Cope with read-only config.
1787
1788 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 Merge handling of input and output terminals. Fix a hang.
1791
1792 * commands/terminal.c (abstract_terminal): New struct.
1793 (handle_command): New function. Based on grub_cmd_terminal_input.
1794 (grub_cmd_terminal_input): Use handle_command.
1795 (grub_cmd_terminal_output): Use handle_command.
1796
1797 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
1798
1799 Fix comment handling.
1800
1801 * tests/grub_script_comments.in: New testcase.
1802 * conf/tests.rmk: Rules for new testcase.
1803 * script/yylex.l: Updated flex rules.
1804
1805 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
1806
1807 * docs/grub.texi (play): Document that zero pitches produce rests.
1808 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
1809 if argc is 1.
1810
1811 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
1814 autogen issues.
1815
1816 2010-04-26 Christian Franke <franke@computer.org>
1817
1818 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
1819 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
1820 (grub_get_prefix): Remove function.
1821 * util/grub-emu.c (main): Replace grub_get_prefix () call by
1822 make_system_path_relative_to_its_root ().
1823 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
1824
1825 2010-04-24 Christian Franke <franke@computer.org>
1826
1827 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
1828 (kernel_img_LDFLAGS): Remove -static-libgcc.
1829
1830 2010-04-24 Christian Franke <franke@computer.org>
1831
1832 * configure.ac: Do not CHECK_BSS_START_SYMBOL
1833 and CHECK_END_SYMBOL if grub-emu is built.
1834 Unset TARGET_OBJ2ELF if grub-emu is built
1835 without module support.
1836
1837 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
1838
1839 Nilfs2 support.
1840
1841 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
1842 (grub_fstest_SOURCES): Likewise.
1843 (pkglib_MODULES): Add nilfs2.mod.
1844 (nilfs2_mod_SOURCES): New variable.
1845 (nilfs2_mod_CFLAGS): Likewise.
1846 (nilfs2_mod_LDFLAGS): Likewise.
1847 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1848 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1849 * fs/nilfs2.c: New file.
1850
1851 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
1854 is not supported.
1855
1856 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
1857
1858 Add grub-mkconfig support for NetBSD.
1859
1860 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
1861 * util/grub-mkconfig.in: export new NetBSD specific variables.
1862 * po/POTFILES-shell: added 10_netbsd.in.
1863 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
1864
1865 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
1866
1867 Fix emu build with grub-emu-pci and grub-emu-modules.
1868
1869 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
1870 functions.
1871 * include/grub/libpciaccess.h: New file.
1872 * conf/any-emu.rmk: Update kernel headers for emu build.
1873
1874 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
1877
1878 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
1881
1882 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
1885 Retrieve chosen/bootpath if bootpath isn't hardcoded.
1886 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
1887 util/ieee1275/ofpath.c.
1888 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
1889 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
1890 * include/grub/sparc64/ieee1275/boot.h
1891 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
1892 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
1893 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
1894 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
1895 const char *.
1896 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
1897 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
1898 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
1899 install.
1900
1901 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
1902
1903 * util/grub-mkconfig.in: Corrected two == equality tests.
1904 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
1905 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
1906 expect a number appended to it.
1907 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
1908 expects a number appended to it.
1909
1910 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
1913
1914 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * util/hostdisk.c (make_device_name): Change to new partition naming.
1917
1918 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
1921
1922 2010-04-17 Christian Franke <franke@computer.org>
1923
1924 * Makefile.in: Add missing localedir setting.
1925
1926 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
1927
1928 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
1929 mistake in r2156. Noticed by Anthony Fok.
1930
1931 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
1932 @localedir@.
1933 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
1934
1935 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
1936
1937 Fix a spurious, uninitialized variable warning.
1938
1939 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
1940 Initialize variable, shdr.
1941 (grub_freebsd_load_elfmodule): Likewise.
1942 (grub_freebsd_load_elf_meta): Likewise.
1943
1944 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
1945
1946 Fix for escaped dollar in double quoted strings.
1947
1948 * script/yylex.l: Updated flex rules.
1949 * conf/tests.rmk: Rule for new testcase.
1950 * tests/grub_script_dollar.in: New testcase.
1951
1952 2010-04-13 Carles Pina i Estany <carles@pina.cat>
1953 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
1954
1955 Enclose all translated strings in grub.cfg in single quotes, and
1956 escape them appropriately (Ubuntu bug #552921).
1957
1958 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
1959 * util/grub.d/10_hurd.in: Use it.
1960 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
1961 * util/grub.d/10_linux.in (linux_entry): Likewise.
1962
1963 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 Fix cygwin compilation.
1966
1967 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
1968 * include/grub/misc.h (__register_frame_info)
1969 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
1970 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
1971 * kern/misc.c (__register_frame_info)
1972 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
1973 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
1974
1975 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
1978
1979 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 Unify libgcc processing.
1982
1983 * Makefile.in (kernel_img_LDFLAGS): New variable.
1984 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
1985 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
1986 overwriting.
1987 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
1988 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
1989 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
1990 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
1991 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
1992 overwriting. Remove -lgcc and -static-libgcc
1993 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
1994 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
1995 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
1996 (kernel_img_LDFLAGS): Append instead of overwriting.
1997 Remove -lgcc and -static-libgcc
1998 * conf/sparc64-ieee1275.rmk: Likewise.
1999 * include/grub/powerpc/libgcc.h: Move to ...
2000 * include/grub/libgcc.h: .. this.
2001 * include/grub/libgcc.h: Don't export most of the function on x86.
2002 (__bswapsi2): New export.
2003 (__bswapdi2): Likewise.
2004 * include/grub/mips/libgcc.h: Removed.
2005 * include/grub/sparc64/libgcc.h: Likewise.
2006
2007 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
2010 disk_info_msg (conflicts with gettexting into languages with cases).
2011
2012 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2013
2014 Add grub-probe support for NetBSD.
2015
2016 * util/getroot.c (find_root_device): Convert block device to
2017 character device on NetBSD.
2018 * util/probe.c (probe): Require character device on NetBSD.
2019 * util/hostdisk.c: NetBSD specific headers.
2020 (configure_device_driver): new function to tune device driver
2021 parameters (currently only for NetBSD floppy driver).
2022 (grub_util_biosdisk_open): NetBSD specific code (get disk size
2023 via disklabel ioctl).
2024 (open_device): call configure_device_driver on NetBSD.
2025 (convert_system_partition_to_system_disk): NetBSD specific code.
2026 (device_is_wholedisk): Likewise.
2027 (grub_util_biosdisk_get_grub_dev): Likewise.
2028 (make_device_name): Fixed a typo in bsd_part_str.
2029 * configure.ac: check for opendisk() and getrawpartition() on
2030 NetBSD and set LIBUTIL.
2031 * Makefile.in: add LIBUTIL to LIBS.
2032
2033 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
2034
2035 Documentation fix.
2036
2037 * util/grub-script-check.c: Better help message.
2038
2039 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
2040
2041 Fix FreeBSD build.
2042
2043 * configure.ac: Flex version check.
2044 * conf/common.rmk: Add -Wno-error to sh.mod.
2045 * script/yylex.l: Remove all #pragma.
2046
2047 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2048
2049 * include/grub/util/misc.h (canonicalise_file_name): Add missing
2050 prototype.
2051 Reported by: Seth Goldberg.
2052
2053 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
2056 Rename "module" to "module2".
2057 Reported by: Seth Goldberg.
2058
2059 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
2062 EXPORT_FUNC.
2063 Reported by: Seth Goldberg.
2064
2065 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * lib/posix_wrap/locale.h: Add missing file.
2068 Reported by: Seth Goldberg.
2069
2070 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 grub-emu module load support.
2073
2074 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
2075 NO_DYNAMIC_MODULES switched to this.
2076 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
2077 (CFLAGS): Likewise.
2078 * conf/any-emu.rmk: Generate symlist.
2079 (kernel_img_HEADERS): Add util/datetime.h.
2080 (kernel_img_HEADERS) [sdl]: Add sdl.h.
2081 (kernel_img_HEADERS) [libusb]: Add libusb.h.
2082 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
2083 kern/$(target_cpu)/cache.S.
2084 * configure.ac (grub-emu-modules): New option.
2085 * genmk.rb: Handle multiple source lists.
2086 * include/grub/sdl.h: New file.
2087 * include/grub/libusb.h: Likewise.
2088 * util/grub-emu.c (main): Hanle (host) root.
2089 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
2090 GRUB_ERR_UNKNOWN_DEVICE.
2091 * util/misc.c: Move mm functions to ...
2092 * util/mm.c: ... here. All users updated.
2093
2094 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
2097 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
2098 missing files.
2099 (maintainer-clean): Remove libgcrypt-grub.
2100
2101 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
2104
2105 2010-04-09 EFI Coder <eficoder@hotmail.com>
2106
2107 * normal/menu_text.c (print_message): Clean up the message and show
2108 the Fn information when on EFI
2109 * term/efi/console.c (grub_console_checkkey): Add F4 support.
2110
2111 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
2114 All users updated.
2115 * normal/crypto.c (read_crypto_list): Likewise.
2116 * normal/dyncmd.c (read_command_list): Likewise.
2117 * normal/term.c (read_terminal_list): Likewise.
2118 * normal/main.c (read_lists): Use explicit prefix.
2119 (read_lists_hook): Use read_lists.
2120 (grub_normal_execute): Likewise.
2121
2122 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
2125 Reported by: Thomas Schmitt.
2126 Add -no-emul-boot to grub-mkisofs parameters.
2127
2128 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * font/font.c: Indented.
2131
2132 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
2133
2134 Elif support to GRUB script (by Deepak Vankadaru).
2135
2136 * tests/grub_script_if.in: New testcase.
2137 * conf/tests.rmk: Rule for new testcase.
2138 * script/parser.y: Grammar rules for elif.
2139
2140 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
2141
2142 While and until loops support to GRUB script.
2143
2144 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
2145 (grub_script_create_cmdwhile): New function prototype.
2146 (grub_script_execute_cmdwhile): New function prototype.
2147 * script/execute.c (grub_script_execute_cmdwhile): New function.
2148 * script/parser.y (command): New commands.
2149 (whilecmd): New grammar rule.
2150 (untilcmd): New grammar rule.
2151 * script/script.c (grub_script_create_cmdwhile): New function.
2152 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
2153 function.
2154
2155 * tests/grub_script_while1.in: New testcase.
2156 * conf/tests.rmk: Rule for new testcase.
2157
2158 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
2161 as *.jpg.
2162
2163 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
2164
2165 GRUB_BACKGROUND support.
2166
2167 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
2168 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
2169
2170 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 Load fonts and modules for gfxmenu in grub-mkconfig.
2173 Idea by: Mario Vazquez
2174
2175 * util/grub.d/00_header.in: Load pf2 and image modules.
2176
2177 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 grub-mkconfig multiple terminal support.
2180
2181 * util/grub-mkconfig.in: Handle multiple terminals correctly.
2182 * util/grub.d/00_header.in: Likewise.
2183
2184 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 * Makefile.in: Specify files explicitly instead of using $< and $@ since
2187 we use cd $(srcdir).
2188
2189 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
2190
2191 * util/grub.d/10_linux.in: Only use the first word of
2192 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
2193 spaces in GRUB_DISTRIBUTOR.
2194 * util/grub.d/10_kfreebsd.in: Likewise.
2195 * util/grub.d/10_hurd.in: Likewise.
2196
2197 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
2198
2199 Fix unit testing framework for Qemu 0.12.
2200
2201 * tests/util/grub-shell.in: Remove -serial stdio option.
2202
2203 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 POSIX header file wrappers.
2206
2207 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
2208 equivalents.
2209 * lib/posix_wrap/ctype.h: Likewise.
2210 * lib/posix_wrap/errno.h: Likewise.
2211 * lib/posix_wrap/langinfo.h: Likewise.
2212 * lib/posix_wrap/limits.h: Likewise.
2213 * lib/posix_wrap/localcharset.h: Likewise.
2214 * lib/posix_wrap/stdint.h: Likewise.
2215 * lib/posix_wrap/stdio.h: Likewise.
2216 * lib/posix_wrap/stdlib.h: Likewise.
2217 * lib/posix_wrap/string.h: Likewise.
2218 * lib/posix_wrap/sys/types.h: Likewise.
2219 * lib/posix_wrap/unistd.h: Likewise.
2220 * lib/posix_wrap/wchar.h: Likewise.
2221 * lib/posix_wrap/wctype.h: Likewise.
2222 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
2223 (grub_script.yy.h): Likewise.
2224 * script/yylex.l: Remove POSIX emulation #defines.
2225 * Makefile.in (POSIX_CFLAGS): New variable.
2226 (GNULIB_UTIL_CFLAGS): Likewise.
2227
2228 Regexp support.
2229
2230 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
2231 (regexp_mod_SOURCES): New variable.
2232 (regexp_mod_CFLAGS): Likewise.
2233 (regexp_mod_LDFLAGS): Likewise.
2234 * commands/regexp.c: New file.
2235 * gnulib/regcomp.c: New file. Imported from gnulib.
2236 * gnulib/regex.c: Likewise.
2237 * gnulib/regex_internal.c: Likewise.
2238 * gnulib/regex_internal.h: Likewise.
2239 * gnulib/regexec.c: Likewise.
2240 * gnulib/regex.h: Likewise.
2241
2242 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
2245 unsupported video mode types.
2246
2247 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
2250
2251 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
2254 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
2255
2256 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 Remove unused grub_vga_get_font.
2259
2260 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
2261 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
2262
2263 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2264
2265 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
2266 * include/grub/misc.h: Likewise.
2267
2268 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2269
2270 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
2271 for which failure is fatal.
2272
2273 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2274
2275 * util/grub-install.in: Use mkdir -p to create grub directory.
2276 * util/i386/efi/grub-install.in: Likewise.
2277 * util/ieee1275/grub-install.in: Likewise.
2278
2279 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2280
2281 * Makefile.in (LEX): new variable.
2282
2283 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2284
2285 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
2286 `=' and added double quotes on operands of this equality test.
2287
2288 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2289
2290 * Makefile.in (uninstall): Remove a leftover debug echo.
2291 Reported by: Grégoire Sutre
2292
2293 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 MIPS multiboot2 support.
2296
2297 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
2298 (multiboot2_mod_SOURCES): New variable.
2299 (multiboot2_mod_CFLAGS): Likewise.
2300 (multiboot2_mod_LDFLAGS): Likewise.
2301 (multiboot2_mod_ASFLAGS): Likewise.
2302 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
2303 definition.
2304 (MULTIBOOT_ENTRY_REGISTER): Likewise.
2305 (MULTIBOOT_MBI_REGISTER): Likewise.
2306 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
2307 (MULTIBOOT_ELF32_MACHINE): Likewise.
2308 (MULTIBOOT_ELF64_MACHINE): Likewise.
2309 * include/grub/mips/multiboot.h: New file.
2310 * include/grub/video.h (grub_video_driver_id): New type
2311 GRUB_VIDEO_DRIVER_SM712.
2312 (grub_video_get_info_and_fini): Export.
2313 (grub_video_get_palette): Likewise.
2314 (grub_video_get_driver_id): Likewise.
2315 * include/multiboot2.h: Resynced with spec.
2316 * loader/i386/multiboot.c: Moved from here ...
2317 * loader/multiboot.c: ... here. All users updated.
2318 (grub_multiboot_boot): Use platform-specific macros.
2319 * loader/i386/multiboot_elfxx.c: Moved from here ...
2320 * loader/multiboot_elfxx.c: ... here. All users updated.
2321 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
2322 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
2323 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
2324
2325 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 Import gnulib argp module.
2328
2329 * gnulib/argp-ba.c: New file.
2330 * gnulib/argp-eexst.c: Likewise.
2331 * gnulib/argp-fmtstream.c: Likewise.
2332 * gnulib/argp-fmtstream.h: Likewise.
2333 * gnulib/argp-fs-xinl.c: Likewise.
2334 * gnulib/argp-help.c: Likewise.
2335 * gnulib/argp-namefrob.h: Likewise.
2336 * gnulib/argp-parse.c: Likewise.
2337 * gnulib/argp-pin.c: Likewise.
2338 * gnulib/argp-pv.c: Likewise.
2339 * gnulib/argp-pvh.c: Likewise.
2340 * gnulib/argp-version-etc.c: Likewise.
2341 * gnulib/argp-version-etc.h: Likewise.
2342 * gnulib/argp-xinl.c: Likewise.
2343 * gnulib/argp.h: Likewise.
2344
2345 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2346
2347 * kern/device.c (grub_device_iterate): Clear errors after failed
2348 opening device.
2349
2350 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
2353 returned by firmware.
2354
2355 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
2358 compilation on coreboot and qemu
2359
2360 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * include/multiboot2.h: Resync with spec.
2363
2364 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 Multiboot2 tag support
2367
2368 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
2369 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
2370 Remove loader/multiboot_loader.c.
2371 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
2372 (grub_multiboot2_real_boot): Likewise.
2373 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
2374 (grub_get_multiboot_mmap_count): New proto.
2375 (grub_fill_multiboot_mmap): Likewise.
2376 (grub_multiboot_set_video_mode): Likewise.
2377 (grub_multiboot_set_console): Likewise.
2378 (grub_multiboot_load): Likewise.
2379 (grub_multiboot_load_elf): Likewise.
2380 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
2381 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
2382 * include/multiboot.h: Resynced with specification.
2383 * include/multiboot2.h: Resynced with specification.
2384 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
2385 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
2386 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
2387 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
2388 users updated.
2389 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
2390 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
2391 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
2392 Removed.
2393 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
2394 Moved from here...
2395 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
2396 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2397 Moved from here...
2398 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
2399 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
2400 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
2401 All users updated.
2402 * loader/i386/multiboot_mbi2.c: New file.
2403
2404 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 Resync with gnulib.
2407
2408 * Makefile.in (GNULIB_CFLAGS): New variable.
2409 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
2410 (grub_script_check_CFLAGS): New variable.
2411 * gnulib/alloca.h: Resync with gnulib.
2412 * gnulib/error.c: Likewise.
2413 * gnulib/error.h: Likewise.
2414 * gnulib/fnmatch.c: Likewise.
2415 * gnulib/fnmatch_loop.c: Likewise.
2416 * gnulib/getdelim.c: Likewise.
2417 * gnulib/getline.c: Likewise.
2418 * gnulib/getopt.c: Likewise.
2419 * gnulib/getopt1.c: Likewise.
2420 * gnulib/getopt_int.h: Likewise.
2421 * gnulib/gettext.h: Likewise.
2422 * gnulib/progname.c: Likewise.
2423 * gnulib/progname.h: Likewise.
2424
2425 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
2426
2427 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
2428 which is the case with --disabled-nls.
2429
2430 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
2431 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
2432 * util/misc.c: Likewise.
2433 * util/mkisofs/mkisofs.c: Likewise.
2434 * util/mkisofs/mkisofs.h: Likewise.
2435
2436 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 Simplify Apple CC support.
2439
2440 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
2441 Add 0 byte at the end not to have a symbol with empty target.
2442 * mmap/i386/pc/mmap_helper.S: Likewise.
2443 * genmk.rb: Ignore errors 2030 and 2050.
2444 * kern/i386/pc/startup.S: Use LOCAL when possible.
2445
2446 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
2447
2448 Testcase and the fix for final semicolon on cmdline.
2449
2450 * tests/grub_script_final_semicolon.in: New testcase.
2451 * conf/tests.rmk: Rules for the new testcase.
2452 * script/parser.y: Grammar fix.
2453
2454 2010-03-26 BVK Chaitanya <bvk@localhost>
2455
2456 Blank lines testcase for GRUB script.
2457
2458 * tests/grub_script_blanklines.in: New testcase.
2459 * conf/tests.rmk: Rules for the new testcase.
2460
2461 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 Don't use __FILE__.
2464
2465 * genmk.rb: Add -DGRUB_FILE to all C targets.
2466 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
2467 * include/grub/list.h: Likewise.
2468 * include/grub/misc.h: Likewise.
2469 * include/grub/mm.h: Likewise.
2470 * include/grub/test.h: Likewise.
2471 * kern/mm.c: Likewise.
2472 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
2473
2474 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 Sunpc partitions support.
2477
2478 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
2479 (grub_fstest_SOURCES): Likewise.
2480 (pkglib_MODULES): Add part_sunpc.mod.
2481 (part_sunpc_mod_SOURCES): New variable.
2482 (part_sunpc_mod_CFLAGS): Likewise.
2483 (part_sunpc_mod_LDFLAGS): Likewise.
2484 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
2485 * partmap/sunpc.c: New file.
2486
2487 2010-03-26 BVK Chaitanya <bvk@localhost>
2488
2489 For loop support to GRUB script.
2490
2491 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
2492 (grub_script_create_cmdfor): New function prototype.
2493 (grub_script_execute_cmdfor): New function prototype.
2494 * script/execute.c (grub_script_execute_cmdfor): New function.
2495 * script/parser.y (command): New for command.
2496 (forcmd): New grammar rule.
2497 * script/script.c (grub_script_create_cmdfor): New function.
2498 * util/grub-script-check.c (grub_script_execute_cmdfor): New
2499 function.
2500 * tests/grub_script_for1.in: New testcase.
2501 * conf/tests.rmk: Rules for new testcase.
2502
2503 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 Nested partitions
2506
2507 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
2508 'partition' is NULL, grub_partition_get_start already does that.
2509 * commands/loadenv.c (check_blocklists): Likewise.
2510 (write_blocklists): Likewise.
2511 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
2512 (grub_fstest_SOURCES): Likewise.
2513 (pkglib_MODULES): Add part_bsd.mod.
2514 (part_bsd_mod_SOURCES): New variable.
2515 (part_bsd_mod_CFLAGS): Likewise.
2516 (part_bsd_mod_LDFLAGS): Likewise.
2517 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
2518 (grub_emu_SOURCES): Likewise.
2519 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2520 * include/grub/bsdlabel.h: New file.
2521 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
2522 'get_name'.
2523 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
2524 (grub_partition_map_list): New variable.
2525 (grub_partition_map_register): Inline.
2526 (grub_partition_map_unregister): Likewise.
2527 (FOR_PARTITION_MAPS): New macro.
2528 (grub_partition_map_iterate): Removed.
2529 (grub_partition_get_start): Handle nested partitions.
2530 * include/grub/msdos_partition.h: Remove bsd-related entries.
2531 (grub_pc_partition): Remove.
2532 * kern/disk.c (grub_disk_close): Free partition data.
2533 (grub_disk_adjust_range): Handle nested partitions.
2534 * kern/partition.c (grub_partition_map_probe): New function.
2535 (grub_partition_probe): Parse name to number, handle subpartitions.
2536 (get_partmap): New function.
2537 (grub_partition_iterate): Handle subpartitions.
2538 (grub_partition_get_name): Likewise.
2539 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
2540 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
2541 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
2542 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
2543 Set 'number'.
2544 (acorn_partition_map_probe): Remove.
2545 (acorn_partition_map_get_name): Likewise.
2546 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
2547 Set 'number'.
2548 Set 'index' to 0 since there can be only one partition entry per sector.
2549 (amiga_partition_map_probe): Remove.
2550 (amiga_partition_map_get_name): Likewise.
2551 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
2552 Set 'number'.
2553 Set 'offset' and 'index' to real positions of partitions.
2554 (apple_partition_map_probe): Remove.
2555 (apple_partition_map_get_name): Likewise.
2556 * partmap/bsdlabel.c: New file.
2557 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
2558 Set 'number'.
2559 Allocate 'data' so it can be correctly freed.
2560 Set 'index' to offset inside sector.
2561 (gpt_partition_map_probe): Remove.
2562 (gpt_partition_map_get_name): Likewise.
2563 * partmap/msdos.c (grub_partition_parse): Remove.
2564 (pc_partition_map_iterate): Don't force raw access.
2565 Set 'number'.
2566 Make 'ext_offset' a local variable.
2567 (pc_partition_map_probe): Remove.
2568 (pc_partition_map_get_name): Remove.
2569 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
2570 Set 'number'.
2571 (sun_partition_map_probe): Remove.
2572 (sun_partition_map_get_name): Likewise.
2573 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
2574 (grub_pcpart_type): Likewise.
2575 * util/hostdisk.c (open_device): Handle new numbering scheme.
2576 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
2577 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
2578 * util/grub-probe.c (probe_partmap): Handle nested paritions.
2579 * util/grub-install.in: Insert all subpartition modules.
2580 * util/ieee1275/grub-install.in: Likewise.
2581
2582 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
2583
2584 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
2585 grammar.
2586
2587 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
2588
2589 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
2590
2591 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
2592
2593 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
2594 match where 'make install' puts them.
2595 * util/i386/efi/grub-install.in: Likewise.
2596
2597 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
2598
2599 * .bzrignore: Add gentrigtables, grub-script-check,
2600 grub_script_check_init.c, grub_script_check_init.h, and
2601 trigtables.c.
2602
2603 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * kern/parser.c: Indented.
2606
2607 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
2610
2611 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
2614 alpha_mask_size == 0 case.
2615
2616 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
2617
2618 GRUB shell lexer and parser improvements.
2619
2620 * conf/any-emu.rmk: Build rule updates.
2621 * conf/common.rmk: Likewise.
2622 * conf/i386-coreboot.rmk: Likewise.
2623 * conf/i386-efi.rmk: Likewise.
2624 * conf/i386-ieee1275.rmk: Likewise.
2625 * conf/i386-pc.rmk: Likewise.
2626 * conf/powerpc-ieee1275.rmk: Likewise.
2627 * conf/x86_64-efi.rmk: Likewise.
2628
2629 * configure.ac: Configure check for flex.
2630
2631 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
2632 types.
2633 (grub_lexer_param): Struct member updates.
2634 (grub_parser_param): Likewise.
2635 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
2636 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
2637 (grub_script_lexer_init): Prototype update.
2638 (grub_script_lexer_record_start): Likewise.
2639 (grub_script_lexer_record_stop): Likewise.
2640 (grub_script_lexer_yywrap): New function prototype.
2641 (grub_script_lexer_fini): Likewise.
2642 (grub_script_execute_argument_to_string): Removed by...
2643 (grub_script_execute_argument_to_argv): ...better version.
2644
2645 * script/execute.c (ROUND_UPTO): New macro.
2646 (grub_script_execute_cmdline): Out of memory fixes.
2647 (grub_script_execute_menuentry): Likewise.
2648 (grub_script_execute_argument_to_string): Removed. Update all
2649 users by...
2650 (grub_script_execute_argument_to_argv): ...better version.
2651 * script/function.c (grub_script_function_create): Use
2652 grub_script_execute_argument_to_argv instead of
2653 grub_script_execute_argument_to_string.
2654
2655 * script/lexer.c (check_varstate): Removed.
2656 (check_textstate): Removed.
2657 (grub_script_lexer_record_start): Likewise.
2658 (grub_script_lexer_record_stop): Likewise.
2659 (recordchar): Replaced with...
2660 (grub_script_lexer_record): ...new function.
2661 (nextchar): Removed.
2662 (grub_script_lexer_init): Rewritten.
2663 (grub_script_yylex): Rewritten.
2664 (append_newline): New function.
2665 (grub_script_lexer_yywrap): New function.
2666 (grub_script_lexer_fini): New function.
2667 (grub_script_yyerror): Sets error flag.
2668
2669 * script/yylex.l: New file.
2670 (grub_lexer_yyfree): Wrapper for flex yyffre.
2671 (grub_lexer_yyalloc): Likewise.
2672 (grub_lexer_yyrealloc): Likewise.
2673 * script/parser.y: Refactored.
2674
2675 * script/script.c (grub_script_arg_add): Out of memory fixes.
2676 (grub_script_add_arglist): Likewise.
2677 (grub_script_create_cmdline): Likewise.
2678 (grub_script_create_cmdmenu): Likewise.
2679 (grub_script_add_cmd): Likewise.
2680 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
2681 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
2682 unnecessary code.
2683
2684 * tests/grub_script_echo1.in: New testcase.
2685 * tests/grub_script_vars1.in: New testcase.
2686 * tests/grub_script_echo_keywords.in: New testcase.
2687
2688 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 Remove some redundancy in build system.
2691
2692 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
2693 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
2694 (TARGET_LDFLAGS): Add -nostdlib.
2695 (TARGET_IMG_LDFLAGS): Likewise.
2696 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
2697 anything since mmap isn't available.
2698 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
2699 Add util/time.c.
2700 (pkglib_MODULES): Remove reboot.mod.
2701 (reboot_mod_SOURCES): Removed.
2702 (reboot_mod_CFLAGS): Likewise.
2703 (reboot_mod_LDFLAGS): Likewise.
2704 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
2705 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
2706 (DEFSYMFILES): Add kernel_syms.lst.
2707 (kernel_img_HEADERS): Add common headers.
2708 (symlist.c): New target.
2709 (kernel_syms.lst): Likewise.
2710 (pkglib_MODULES): Add memdisk.mod.
2711 (memdisk_mod_SOURCES): New variable.
2712 (memdisk_mod_CFLAGS): Likewise.
2713 (memdisk_mod_LDFLAGS): Likewise.
2714 (pkglib_MODULES): Add reboot.mod.
2715 (reboot_mod_SOURCES): New variable.
2716 (reboot_mod_CFLAGS): Likewise.
2717 (reboot_mod_LDFLAGS): Likewise.
2718 (pkglib_MODULES): Add date.mod.
2719 (date_mod_SOURCES): New variable.
2720 (date_mod_CFLAGS): Likewise.
2721 (date_mod_LDFLAGS): Likewise.
2722 (pkglib_MODULES): Add datehook.mod.
2723 (datehook_mod_SOURCES): New variable.
2724 (datehook_mod_CFLAGS): Likewise.
2725 (datehook_mod_LDFLAGS): Likewise.
2726 (pkglib_MODULES): Add lsmmap.mod.
2727 (lsmmap_mod_SOURCES): New variable.
2728 (lsmmap_mod_CFLAGS): Likewise.
2729 (lsmmap_mod_LDFLAGS): Likewise.
2730 (pkglib_MODULES): Add boot.mod.
2731 (boot_mod_SOURCES): New variable.
2732 (boot_mod_CFLAGS): Likewise.
2733 (boot_mod_LDFLAGS): Likewise.
2734 * conf/i386-coreboot.rmk: Removed redundant parts.
2735 * conf/i386-ieee1275.rmk: Likewise.
2736 * conf/i386-pc.rmk: Likewise.
2737 * conf/mips-yeeloong.rmk: Likewise.
2738 * conf/mips.rmk: Likewise.
2739 * conf/powerpc-ieee1275.rmk: Likewise.
2740 * conf/sparc64-ieee1275.rmk: Likewise.
2741 * conf/x86_64-efi.rmk: Likewise.
2742 * conf/i386-coreboot.rmk: Moved qemu parts ..
2743 * conf/i386-qemu.rmk: ... here
2744 * conf/i386-efi.rmk: Moved common parts to...
2745 * conf/x86-efi.rmk: ... here.
2746 * conf/i386.rmk: Added modules common to all x86 variants.
2747 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
2748 * disk/memdisk.c: Remove grub/machine/kernel.h.
2749 * gensymlist.sh.in: Include symbol.h.
2750 * hook/datehook.c: Correct module name.
2751 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
2752 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
2753 * include/grub/i386/efi/serial.h: New file.
2754 * include/grub/x86_64/efi/serial.h: Likewise.
2755 * util/time.c: Likewise.
2756 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
2757
2758 2010-03-14 Colin King <colin.king@ubuntu.com>
2759 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
2760
2761 Shrink the pre-partition-table part of boot.img by eight bytes.
2762
2763 * boot/i386/pc/boot.S (ERR): New macro.
2764 (chs_mode): Use ERR.
2765 (geometry_error): Likewise.
2766 (hd_probe_error): Remove. This is only used once, so we wrwite
2767 it inline instead.
2768 (read_error): Instead of printing read_error_string, just set up
2769 %si and fall through to ...
2770 (error_message): ... this new function, also used by ERR.
2771
2772 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
2773
2774 Speed up consecutive hostdisk operations on the same device.
2775
2776 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
2777 (grub_util_biosdisk_open): Initialise disk->data.
2778 (struct linux_partition_cache): New structure.
2779 (linux_find_partition): Cache partition start positions; these are
2780 expensive to compute on every read and write.
2781 (open_device): Cache open file descriptor in disk->data, so that we
2782 don't have to reopen it and flush the buffer cache for consecutive
2783 operations on the same device.
2784 (grub_util_biosdisk_close): New function.
2785 (grub_util_biosdisk_dev): Set `close' member.
2786
2787 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
2788 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
2789 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
2790 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
2791 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
2792
2793 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 Compile parts of grub-emu as modules.
2796
2797 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
2798 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
2799 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
2800 (all-local): Add $(GRUB_EMU).
2801 (install-local): Install $(GRUB_EMU).
2802 (uninstall): Uninstall $(GRUB_EMU).
2803 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
2804 * kern/dl.c: Likewise.
2805 * commands/sleep.c: Not include machine/time.h.
2806 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
2807 (COMMON_CFLAGS): Likewise.
2808 (sbin_UTILITIES): Remove grub-emu.
2809 (grub_emu_SOURCES): Removed.
2810 (kernel_img_RELOCATABLE): New variable.
2811 (pkglib_PROGRAMS): Add kernel.img.
2812 (kernel_img_SOURCES): New variable
2813 (kernel_img_CFLAGS): Likewise.
2814 (kernel_img_LDFLAGS): Likewise.
2815 (TARGET_NO_STRIP): Likewise.
2816 (TARGET_NO_DYNAMIC_MODULES): Likewise.
2817 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
2818 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
2819 (grub-emu): New target.
2820 (GRUB_EMU): New variable.
2821 * configure.ac: Whitelist -emu as possible x86_64 architecture.
2822 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
2823 * loader/xnu.c: Likewise.
2824 * include/grub/pci.h: Likewise.
2825 * genemuinit.sh: New file.
2826 * genemuinitheader.sh: Likewise.
2827 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
2828 Support TARGET_NO_DYNAMIC_MODULES.
2829 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
2830 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
2831 * disk/loopback.c: Likewise.
2832 * font/font_cmd.c: Likewise.
2833 * partmap/acorn.c: Likewise.
2834 * partmap/amiga.c: Likewise.
2835 * partmap/apple.c: Likewise.
2836 * partmap/gpt.c: Likewise.
2837 * partmap/msdos.c: Likewise.
2838 * partmap/sun.c: Likewise.
2839 * parttool/msdospart.c: Likewise.
2840 * term/gfxterm.c: Likewise.
2841 * video/bitmap.c: Likewise.
2842 * video/readers/jpeg.c: Likewise.
2843 * video/readers/png.c: Likewise.
2844 * video/readers/tga.c: Likewise.
2845 * video/video.c: Likewise.
2846 * util/grub-emu.c (read_command_list): Removed.
2847 (main): Don't call util_init_nls.
2848 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
2849 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
2850
2851 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
2854 date.mod, datehook.mod.
2855 (datetime_mod_SOURCES): New variable.
2856 (datetime_mod_CFLAGS): Likewise.
2857 (datetime_mod_LDFLAGS): Likewise.
2858 (date_mod_SOURCES): Likewise.
2859 (date_mod_CFLAGS): Likewise.
2860 (date_mod_LDFLAGS): Likewise.
2861 (datehook_mod_SOURCES): Likewise.
2862 (datehook_mod_CFLAGS): Likewise.
2863 (datehook_mod_LDFLAGS): Likewise.
2864 * conf/sparc64-ieee1275.rmk: Likewise.
2865 * lib/ieee1275/datetime.c: New file.
2866
2867 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
2870 (ieee1275_fb_mod_SOURCES): New variable.
2871 (ieee1275_fb_mod_CFLAGS): Likewise.
2872 (ieee1275_fb_mod_LDFLAGS): Likewise.
2873 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
2874 New proto.
2875 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
2876 (HEAP_MAX_ADDR): Likewise.
2877 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
2878 type.
2879 Correct stop condition.
2880 (grub_ieee1275_devices_iterate): New function.
2881 * video/ieee1275.c: New file.
2882
2883 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
2886
2887 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
2888 as scratch.
2889 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
2890 SCRATCH_PAD_DISKBOOT as scratch.
2891 (bootit): Pass Openfirmware pointer in %o4.
2892 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
2893 of 0x200000.
2894 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
2895 with util/grub-mkrawimage.c.
2896 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
2897 * include/grub/aout.h (AOUT_MID_SUN): New definition.
2898 (grub_aout_get_type) [GRUB_UTIL]: Removed.
2899 (grub_aout_load) [GRUB_UTIL]: Likewise.
2900 * include/grub/kernel.h (grub_modules_get_end): New proto.
2901 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
2902 (SCRATCH_PAD_BOOT): New definition.
2903 (SCRATCH_PAD_DISKBOOT): Likewise.
2904 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
2905 * include/grub/sparc64/ieee1275/ieee1275.h
2906 (grub_ieee1275_original_stack): New variable
2907 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
2908 New definition
2909 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
2910 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
2911 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
2912 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
2913 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
2914 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
2915 (grub_platform_image_format_t): New type.
2916 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
2917 * kern/main.c (grub_modules_get_end)
2918 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
2919 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
2920 (codestart): Switch stacks.
2921 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
2922 variable.
2923 (grub_heap_init): Use grub_modules_get_end.
2924 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
2925 stack.
2926 * util/grub-mkrawimage.c (generate_image): Support sparc64.
2927 (main): Likewise.
2928 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
2929
2930 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
2931
2932 * util/grub-mkrescue.in: Base ISO UUID on UTC.
2933
2934 2010-03-08 Matt Kraai <kraai@ftbfs.org>
2935
2936 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
2937 bug #559005).
2938
2939 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * genmoddep.awk: Output all missing symbols and not only first.
2942
2943 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2944
2945 * NEWS: Put the date of 1.98 release.
2946
2947 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
2950 ft2build.h.
2951
2952 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
2955 completition in the middle of string.
2956
2957 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * util/grub-mkrescue.in: Use mktemp with explicit template.
2960
2961 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
2964
2965 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
2968 right pointer.
2969
2970 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 Fix FreeBSD compilation.
2973
2974 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
2975 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
2976
2977 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
2980
2981 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2982
2983 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
2984
2985 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
2988
2989 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
2990
2991 Support relative image path in theme file.
2992
2993 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
2994 (image_set_property): Handle theme_dir and relative path.
2995
2996 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 * configure.ac: Alias amd64 to x86_64.
2999
3000 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * NEWS: mention multiboot on EFI.
3003
3004 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * kern/main.c (grub_load_modules): Handle errors from init functions of
3007 embeded modules.
3008
3009 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * normal/autofs.c (autoload_fs_module): Handle errors.
3012
3013 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 Disable linux.mod on qemu-mips since it's not functional and leads
3016 to compilation failure.
3017
3018 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
3019 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
3020 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
3021 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
3022 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
3023 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
3024 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
3025 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
3026 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
3027 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
3028 Reported by: BVK Chaitanya
3029
3030 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
3031
3032 * INSTALL: Add gettext as a dependency and add qemu to a new section
3033 "Prerequisites for make-check".
3034
3035 2010-03-04 Christian Franke <franke@computer.org>
3036
3037 * util/grub-pe2elf.c: Add missing include "progname.h".
3038
3039 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * normal/crypto.c (read_crypto_list): Fix a typo.
3042 Reported by: Seth Goldberg.
3043
3044 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
3047 Reported by: Seth Goldberg.
3048
3049 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
3052 ascii.bitmaps.
3053
3054 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 * genmk.rb: Remove terminal*.lst in make clean.
3057 Reported by: Seth Goldberg.
3058
3059 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 * util/i386/efi/grub-install.in: Copy gettext files.
3062
3063 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
3066
3067 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 Wait for user entry basing on presence of output rather than on errors.
3070
3071 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
3072 (grub_install_newline_hook): Likewise.
3073 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
3074 * normal/menu.c (show_menu): Check line_counter to determine presence
3075 of output.
3076 * normal/term.c (grub_normal_line_counter): New variable.
3077 (grub_normal_get_line_counter): New function.
3078 (grub_install_newline_hook): Likewise.
3079
3080 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
3083
3084 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 * configure.ac: Update version to 1.98.
3087
3088 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 * util/grub.d/10_linux.in (linux_entry): Don't default to
3091 gfxpayload=keep if Linux doesn't support video handover.
3092
3093 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 Don't compile video modules on yeeloong since video subsystem is part
3096 of kernel.
3097
3098 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
3099 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
3100 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
3101 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
3102 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
3103 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
3104 * include/grub/bitmap_scale.h: Likewise.
3105 * include/grub/bufio.h: Likewise.
3106 * include/grub/font.h: Likewise.
3107 * include/grub/gfxterm.h: Likewise.
3108 * include/grub/video.h: Likewise.
3109 * include/grub/vbe.h: Don't include video_fb.h.
3110 * video/i386/pc/vbe.c: Include video_fb.h.
3111 * commands/i386/pc/vbetest.c: Include video.h.
3112
3113 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
3114
3115 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
3116 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
3117 default entry if GRUB_SAVEDEFAULT=true. This allows using
3118 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
3119 saving a new default on every boot.
3120
3121 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * normal/crypto.c (read_crypto_list): Fix a memory leak.
3124 * normal/term.c (read_terminal_list): Likewise.
3125 * normal/main.c (grub_normal_init_page): Likewise.
3126 (grub_normal_read_line_real): Likewise.
3127
3128 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
3131 memory leak.
3132 Reported by: Seth Goldberg.
3133
3134 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
3135
3136 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
3137 duplicate declaration of `start'.
3138
3139 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
3142 filename.
3143 Reported by: Georgy Buranov
3144
3145 2010-02-20 Carles Pina i Estany <carles@pina.cat>
3146
3147 * util/grub-mkrawimage.c (usage): Change string formatting to
3148 improve gettext.
3149
3150 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
3151
3152 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
3153 backspace keys.
3154
3155 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3156
3157 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
3158 Reported by: Michael Suchanek.
3159
3160 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
3161
3162 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
3163 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
3164
3165 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 Remove any reference to non-free fonts.
3168
3169 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
3170 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
3171 uses non-free components.
3172 * font/font.c (grub_font_get_name): Remove example name.
3173 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
3174 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
3175 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
3176 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
3177
3178 2010-02-16 Georgy Buranov <gburanov@gmail.com>
3179
3180 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
3181
3182 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
3185 Double divisor.
3186 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
3187 features.
3188 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
3189
3190 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 * gensymlist.sh.in: Use TARGET_CC instead of CC.
3193
3194 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3195
3196 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
3197 * docs/grub.texi (Command-line and menu entry commands): Document play
3198 command.
3199
3200 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3201
3202 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
3203 parse arguments as inline tempo and notes. Move code for playing notes
3204 to...
3205 (play): ... new function.
3206
3207 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3208
3209 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
3210 grub_uint16_t instead of short.
3211 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
3212 disk from little endian to cpu endianness.
3213
3214 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
3215
3216 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
3217 GRUB_TICKS_PER_SECOND instead of 120.
3218
3219 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
3222 escape sequence after \e.
3223
3224 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
3227 non-ASCII characters.
3228
3229 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
3232 set root in single quotes to prevent \, from being unescaped.
3233
3234 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 Prevent unknown commands from stopping menuentry execution.
3237
3238 * script/execute.c (grub_script_execute_cmdline): Print error after
3239 unknown command.
3240
3241 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
3244 Reported by: Pavel Pisa.
3245
3246 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
3249
3250 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 Merge grub_ieee1275_map_physical into grub_map and rename to
3253 grub_ieee1275_map
3254
3255 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
3256 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
3257 Remove.
3258 * kern/ieee1275/openfw.c (grub_map): Rename to ...
3259 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
3260 necessary.
3261 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
3262
3263 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
3266 opening and not after.
3267
3268 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
3271 constants.
3272
3273 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
3276 (alloc_phys): Use ALIGN_UP instead of align_addr.
3277
3278 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
3281
3282 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
3285
3286 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
3289 verbose dprintf.
3290
3291 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 Fix over-4GiB seek on sparc64.
3294
3295 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
3296 Replace pos_i and pos_lo with pos. All users updated.
3297 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
3298 New constant.
3299 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
3300 Likewise.
3301 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
3302 and pos_lo.
3303
3304 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * util/grub-mkrawimage.c (main): Call set_program_name.
3307
3308 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 Properly align 64-bit targets.
3311
3312 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
3313 (generate_image): Use ALIGN_ADDR.
3314
3315 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 Properly create cross-endian images.
3318
3319 * include/grub/types.h (grub_host_to_target_addr): New macro
3320 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
3321
3322 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
3325
3326 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
3329
3330 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
3331 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
3332 (grub_linux_boot): Divide by 64K when on VESA.
3333
3334 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 Support GRUB_GFXPAYLOAD_LINUX.
3337
3338 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
3339 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
3340
3341 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
3344 to show messages instead of discarding them.
3345 Process errors after executing command and not before. Keep old method
3346 too as precaution.
3347
3348 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * configure.ac: Check for ft2build.h.
3351
3352 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
3355
3356 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * genkernsyms.sh.in: Use TARGET_CC.
3359
3360 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
3361
3362 * NEWS: Update.
3363
3364 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3365
3366 * include/grub/multiboot2.h: Remove leftover file.
3367 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
3368 * include/grub/partition.h [GRUB_UTIL]: Likewise.
3369
3370 2010-02-07 Yves Blusseau <blusseau@zetam.org>
3371
3372 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
3373
3374 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 Fix warnings in grub-emu when compiling with maximum warning options.
3377
3378 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
3379 (grub_arch_modules_addr): Return 0 and not NULL.
3380 * util/misc.c (ENABLE_RELOCATABLE): New definition.
3381 (xstrdup): Use newstr instead of dup.
3382 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
3383 of disk to dsk to avoid shadowing.
3384 (find_free_slot): Fix prototype.
3385 * util/getroot.c (grub_util_is_dmraid): Make static.
3386 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
3387 Add missing prototype.
3388 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
3389
3390 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * loader/i386/linux.c (grub_linux_setup_video): Handle error
3393 appropriately.
3394
3395 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
3398 code out.
3399
3400 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
3403 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
3404 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
3405 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
3406 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
3407 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
3408
3409 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3410
3411 * include/grub/err.h (grub_err_printf): Don't export.
3412
3413 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
3416
3417 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * include/grub/i18n.h (grub_gettext_dummy): Removed.
3420 * kern/misc.c (grub_gettext_dummy): Make static.
3421
3422 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
3425 by non-valid ones.
3426 * kern/term.c (grub_putchar): Likewise.
3427
3428 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3429
3430 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
3431 buggy hook call and memory leak.
3432
3433 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
3436
3437 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
3440
3441 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
3444 modevar.
3445 Return grub_errno on allocation error.
3446
3447 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
3450
3451 2010-02-06 Yves Blusseau <blusseau@zetam.org>
3452
3453 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
3454 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
3455
3456 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
3459 non-pxe disk.
3460 (grub_pxefs_open): Likewise.
3461
3462 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3463
3464 * util/grub.d/10_hurd.in: Add --class information to menuentries.
3465 * util/grub.d/10_kfreebsd.in: Likewise.
3466 * util/grub.d/10_linux.in: Likewise.
3467
3468 2010-02-06 Colin D Bennett <colin@gibibit.com>
3469
3470 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
3471 (gfxmenu_mod_SOURCES): New variable.
3472 (gfxmenu_mod_CFLAGS): Likewise.
3473 (gfxmenu_mod_LDFLAGS): Likewise.
3474 * include/grub/term.h (grub_term_set_current_output): Declare
3475 argument as const.
3476 * docs/gfxmenu-theme-example.txt: New file.
3477 * gfxmenu/gfxmenu.c: Likewise.
3478 * gfxmenu/gui_box.c: Likewise.
3479 * gfxmenu/gui_canvas.c: Likewise.
3480 * gfxmenu/gui_circular_progress.c: Likewise.
3481 * gfxmenu/gui_image.c: Likewise.
3482 * gfxmenu/gui_label.c: Likewise.
3483 * gfxmenu/gui_list.c: Likewise.
3484 * gfxmenu/gui_progress_bar.c: Likewise.
3485 * gfxmenu/gui_string_util.c: Likewise.
3486 * gfxmenu/gui_util.c: Likewise.
3487 * gfxmenu/icon_manager.c: Likewise.
3488 * gfxmenu/model.c: Likewise.
3489 * gfxmenu/named_colors.c: Likewise.
3490 * gfxmenu/theme_loader.c: Likewise.
3491 * gfxmenu/view.c: Likewise.
3492 * gfxmenu/widget-box.c: Likewise.
3493 * include/grub/gfxmenu_model.h: Likewise.
3494 * include/grub/gfxmenu_view.h: Likewise.
3495 * include/grub/gfxwidgets.h: Likewise.
3496 * include/grub/gui.h: Likewise.
3497 * include/grub/gui_string_util.h: Likewise.
3498 * include/grub/icon_manager.h: Likewise.
3499
3500 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 Agglomerate scrolling in gfxterm.
3503
3504 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
3505 (grub_virtual_screen_setup): Initialise 'total_screen'.
3506 (write_char): Split to ...
3507 (paint_char): ... this ...
3508 (write_char): ... and this.
3509 (paint_char): Handle delayed scrolling.
3510 (draw_cursor): Likewise.
3511 (scroll_up): Split to ...
3512 (real_scroll): ... this ...
3513 (scroll_up): ... and this.
3514 (real_scroll): Handle multi-line scroll and draw below-the-bottom
3515 characters.
3516 (grub_gfxterm_refresh): Call real_scroll.
3517
3518 2010-02-06 Colin D Bennett <colin@gibibit.com>
3519
3520 * include/grub/misc.h (grub_iscntrl): New inline function.
3521 (grub_isalnum): Likewise.
3522 (grub_strtol): Likewise.
3523
3524 2010-02-06 Colin D Bennett <colin@gibibit.com>
3525
3526 * normal/menu_text.c (get_entry_number): Move from here ...
3527 * normal/menu.c (get_entry_number): ... moved here.
3528 * include/grub/menu.h (grub_menu_get_default_entry_index):
3529 New prototype.
3530 * normal/menu.c (grub_menu_get_default_entry_index): New function.
3531 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
3532 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
3533 (grub_menu_viewer_should_return): Likewise.
3534 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
3535 * normal/menu_text.c (run_menu): Enable menu switching.
3536 * normal/menu_viewer.c (should_return): New variable.
3537 (menu_viewer_changed): Likewise.
3538 (grub_menu_viewer_show_menu): Handle menu viewer changes.
3539 (grub_menu_viewer_should_return): New function.
3540 (menuviewer_write_hook): Likewise.
3541 (grub_menu_viewer_init): Likewise.
3542
3543 2010-02-06 Colin D Bennet <colin@gibibit.com>
3544 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 Support for gfxterm in a window.
3547
3548 * include/grub/gfxterm.h: New file.
3549 * include/grub/video.h (struct grub_video_rect): New declaration.
3550 (grub_video_rect_t): Likewise.
3551 * term/gfxterm.c (struct grub_gfxterm_window): New type.
3552 (refcount): New variable.
3553 (render_target): Likewise.
3554 (window): Likewise.
3555 (repaint_callback): Likewise.
3556 (grub_virtual_screen_setup): Use 'render_target'.
3557 (init_window): New function.
3558 (grub_gfxterm_init_window): Likewise.
3559 (grub_gfxterm_init): Check reference counter.
3560 Use init_window.
3561 (destroy_window): New function.
3562 (grub_gfxterm_destroy_window): Likewise.
3563 (grub_gfxterm_fini): Check reference counter.
3564 Use destroy_window.
3565 (redraw_screen_rect): Restore viewport.
3566 Use 'render_target' and 'window'.
3567 Call 'repaint_callback'.
3568 (write_char): Use 'render_target'.
3569 (draw_cursor): Likewise.
3570 (scroll_up): Restore viewport.
3571 Use 'render_target' and 'window'.
3572 Call 'repaint_callback'.
3573 (grub_gfxterm_cls): Likewise.
3574 (grub_gfxterm_refresh): Use 'window'.
3575 (grub_gfxterm_set_repaint_callback): New function.
3576 (grub_gfxterm_background_image_cmd): Use 'window'.
3577 (grub_gfxterm_get_term): New function.
3578 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
3579
3580 2010-02-06 Colin D Bennett <colin@gibibit.com>
3581
3582 Bitmap scaling support.
3583
3584 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
3585 (bitmap_scale_mod_SOURCES): New variable.
3586 (bitmap_scale_mod_CFLAGS): Likewise.
3587 (bitmap_scale_mod_LDFLAGS): Likewise.
3588 * include/grub/bitmap_scale.h: New file.
3589 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
3590 (background_image_cmd_options): New variable.
3591 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
3592 (cmd): Rename and change type to ...
3593 (background_image_cmd_handle): ... this. All users updated.
3594 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
3595 * video/bitmap_scale.c: New file.
3596
3597 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 SDL support.
3600
3601 * Makefile.in (LIBSDL): New variable.
3602 (enable_grub_emu_sdl): Likewise.
3603 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
3604 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
3605 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
3606 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
3607 * util/sdl.c: New file.
3608
3609 2010-02-06 Colin D Bennett <colin@gibibit.com>
3610 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 Double buffering support.
3613
3614 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
3615 * include/grub/video.h: Update comment.
3616 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
3617 New type.
3618 (grub_video_fb_doublebuf_blit_init): New prototype.
3619 * term/gfxterm.c (scroll_up): Support double buffering.
3620 (grub_gfxterm_refresh): Likewise.
3621 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
3622 (grub_video_fb_doublebuf_blit_init): Likewise.
3623 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
3624 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
3625 'displayed_page', 'render_page' and 'update_screen'.
3626 (grub_video_vbe_fini): Free offscreen buffer.
3627 (doublebuf_pageflipping_commit): New function.
3628 (doublebuf_pageflipping_update_screen): Likewise.
3629 (doublebuf_pageflipping_init): Likewise.
3630 (double_buffering_init): Likewise.
3631 (grub_video_vbe_setup): Enable doublebuffering.
3632 (grub_video_vbe_swap_buffers): Implement.
3633 (grub_video_vbe_set_active_render_target): Handle double buffering.
3634 (grub_video_vbe_get_active_render_target): Likewise.
3635 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
3636 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
3637 (grub_video_vbe_enable_double_buffering): Likewise.
3638 (grub_video_vbe_swap_buffers): Use update_screen.
3639 (grub_video_set_mode): Use double buffering.
3640
3641 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3642
3643 * maintainance/gentrigtables.py: Remove.
3644 * lib/trig.c: Likewise.
3645
3646 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
3647
3648 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
3649 `trigtables.c'.
3650 (trigtables.c): New rule.
3651 (gentrigtables): Likewise.
3652 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
3653
3654 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3655
3656 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
3657 integer constants.
3658
3659 2010-02-06 Colin D Bennet <colin@gibibit.com>
3660
3661 Trigonometry support.
3662
3663 * include/grub/trig.h: New file.
3664 * lib/trig.c: Likewise.
3665 * maintainance/gentrigtables.py: Likewise.
3666 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
3667 (trig_mod_SOURCES): New variable.
3668 (trig_mod_CFLAGS): Likewise.
3669 (trig_mod_LDFLAGS): Likewise.
3670
3671 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
3674 disk devices.
3675
3676 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
3679 error.
3680
3681 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * util/hostdisk.c (open_device): Don't use partition device when reading
3684 before the partition.
3685 (grub_util_biosdisk_read): Don't read from partition and before the
3686 partition in single operation.
3687 (grub_util_biosdisk_write): Don't write to partition and before the
3688 partition in single operation.
3689
3690 2010-02-03 Torsten Landschoff <torsten@debian.org>
3691
3692 * kern/disk.c (grub_disk_read): Fix offset computation when reading
3693 last sectors.
3694
3695 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
3698 CDROM reads.
3699 (grub_biosdisk_write): Refuse to write to CDROM.
3700
3701 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
3704
3705 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * font/font.c (find_glyph): Check that bmp_idx is available before
3708 using it.
3709 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
3710 with (font == NULL).
3711
3712 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
3713
3714 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
3715
3716 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
3717
3718 * include/grub/script_sh.h (sourcecode): Add const qualifier.
3719 * util/grub-script-check.c (getline): Fix empty lines case.
3720
3721 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
3722
3723 * Makefile.in (check): Exit with fail status when one of the tests
3724 fails.
3725 * tests/example_functional_test.c (example_test): Fix reversed assert.
3726 * tests/example_unit_test.c (example_test): Likewise.
3727
3728 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
3729
3730 * util/grub.d/10_linux.in: This script does not use any of the
3731 contents of gettext.sh, only the external command `gettext', so stop
3732 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
3733 the same prefix as GRUB.)
3734 * util/grub.d/10_kfreebsd.in: Likewise.
3735
3736 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
3739 of the line.
3740
3741 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3742
3743 * kern/disk.c (grub_disk_read): Fix offset computation when reading
3744 last sectors.
3745
3746 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
3749 having a 4KiB and not 32KiB buffer size.
3750
3751 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3752
3753 * util/hostfs.c: Include `<errno.h>'.
3754 (grub_hostfs_read): Handle errors from fseeko() and fread().
3755
3756 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3757
3758 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
3759 loop when using read hooks on files whose size isn't sector-aligned.
3760
3761 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3762
3763 Remove unused parameter.
3764
3765 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
3766 (grub_iso9660_open): Remove initialization of `data->length'.
3767
3768 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3769
3770 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
3771 memleak conditions.
3772
3773 2010-01-27 Carles Pina i Estany <carles@pina.cat>
3774
3775 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
3776 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
3777
3778 2010-01-26 Carles Pina i Estany <carles@pina.cat>
3779
3780 * util/bin2h.c (usage): Fix warning (space after backslash).
3781
3782 2010-01-26 Carles Pina i Estany <carles@pina.cat>
3783
3784 * font/font.c: Include `grub/fontformat.h.
3785 Remove font file format constants.
3786 (grub_font_load): Use the new macros.
3787 * include/grub/fontformat.h: New file.
3788 * util/grub-mkfont.c: Include `grub/fontformat.c'.
3789 (write_font_pf2): Use the new macros.
3790
3791 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
3792
3793 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
3794 does.
3795
3796 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
3797
3798 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
3799
3800 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
3801 (_start): Macroify `0x7F'.
3802
3803 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
3804 (make_install_device): Use "(pxe)" as fallback prefix when booting
3805 via PXE.
3806
3807 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * configure.ac: Reset LIBS after check for libgcc symbols.
3810
3811 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
3812
3813 * util/hostdisk.c (open_device): Add trailing newline to debug
3814 message.
3815
3816 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3817
3818 * configure.ac: Check for `limits.h'.
3819 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
3820
3821 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
3822
3823 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
3824 capitalize error strings.
3825
3826 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
3827
3828 * util/grub.d/10_hurd.in: Add a recovery mode.
3829
3830 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 * configure.ac: Check for libgcc symbols with -nostdlib.
3833
3834 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
3835
3836 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
3837
3838 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
3841 stack since heap may be unavailable at that point.
3842 (grub_ofconsole_gotoxy): Likewise.
3843
3844 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * configure.ac: Check for _restgpr_14_x.
3847 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
3848 and _savegpr_* prototypes.
3849
3850 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
3851
3852 Use generic grub_reboot() for i386-efi.
3853
3854 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
3855 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
3856 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
3857
3858 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
3861 presence of "prefix" variable as it breaks when normal.mod is
3862 embedded.
3863
3864 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
3867 stack since heap is unavailable at that point.
3868
3869 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
3872 (grub_freebsd_bootinfo): Rewritten.
3873 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
3874
3875 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3876
3877 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
3878
3879 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
3880
3881 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
3882 domain now.
3883
3884 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
3885
3886 * util/misc.c (make_system_path_relative_to_its_root): Change the work
3887 around for handling "/" to the correct fix. Fix a memory leak. Use
3888 xstrdup instead of strdup.
3889
3890 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3891
3892 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
3893
3894 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3895
3896 Optimise glyph lookup by Basic Multilingual Plane lookup array.
3897
3898 * font/font.c (struct grub_font): New member 'bmp_idx'.
3899 (font_init): Initialise 'bmp_idx'.
3900 (load_font_index): Fill 'bmp_idx'.
3901 (find_glyph): Make inline. Use bmp_idx for BMP characters.
3902
3903 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
3906 unnecessary calls.
3907
3908 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3909
3910 Move context handling out of the kernel.
3911
3912 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
3913 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
3914 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
3915 * conf/i386-efi.rmk: Likewise.
3916 * conf/i386-ieee1275.rmk: Likewise.
3917 * conf/i386-pc.rmk: Likewise.
3918 * conf/powerpc-ieee1275.rmk: Likewise.
3919 * conf/sparc64-ieee1275.rmk: Likewise.
3920 * conf/x86_64-efi.rmk: Likewise.
3921 * include/grub/env.h: Include grub/menu.h.
3922 (grub_env_var_type): Removed.
3923 (grub_env_var): Replaced field 'type' with 'global'.
3924 (grub_env_find): New prototype.
3925 (grub_env_context_open): Remove EXPORT_FUNC.
3926 (grub_env_context_close): Likewise.
3927 (grub_env_export): Likewise.
3928 (grub_env_set_data_slot): Removed.
3929 (grub_env_get_data_slot): Likewise.
3930 (grub_env_unset_data_slot): Likewise.
3931 (grub_env_unset_menu): New prototype.
3932 (grub_env_set_menu): Likewise.
3933 (grub_env_get_menu): Likewise.
3934 * include/grub/env_private.h: New file.
3935 * include/grub/normal.h (grub_context_init): New prototype.
3936 (grub_context_fini): Likewise.
3937 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
3938 * normal/context.c (grub_cmd_export): ... to here.
3939 * kern/env.c: Include env_private.h.
3940 (HASHSZ): Moved to include/grub/env_private.h.
3941 (grub_env_context): Likewise.
3942 (grub_env_sorted_var): Likewise.
3943 (current_context): Renamed from this ...
3944 (grub_current_context): ...to this. 'static' removed. All users updated.
3945 (grub_env_find): Removed 'static'.
3946 (grub_env_context_open): Moved to normal/context.c.
3947 (grub_env_context_close): Likewise.
3948 (grub_env_export): Likewise.
3949 (mangle_data_slot_name): Removed.
3950 (grub_env_set_data_slot): Likewise.
3951 (grub_env_get_data_slot): Likewise.
3952 (grub_env_unset_data_slot): Likewise.
3953 * kern/main.c (grub_set_root_dev): Don't export root.
3954 It will be done later.
3955 (grub_main): Don't export prefix.
3956 It will be done later.
3957 * normal/context.c: New file.
3958 * normal/main.c (free_menu): Use grub_env_unset_menu.
3959 (grub_normal_add_menu_entry): Use grub_env_get_menu.
3960 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
3961 (GRUB_MOD_INIT(normal)): Call grub_context_init.
3962 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
3963
3964 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 setpci support.
3967
3968 * commands/setpci.c: New file.
3969 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
3970 (setpci_mod_SOURCES): New variable.
3971 (setpci_mod_CFLAGS): Likewise.
3972 (setpci_mod_LDFLAGS): Likewise.
3973
3974 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 Byte-addressable PCI configuration space.
3977
3978 * bus/pci.c (grub_pci_make_address): Use byte address instead of
3979 dword address.
3980 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
3981 GRUB_PCI_REG_CACHELINE.
3982 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
3983 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
3984 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
3985 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
3986 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
3987 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
3988 grub_pci_make_address.
3989 (lock_rom_area): Likewise.
3990 * commands/lspci.c (grub_lspci_iter): Use macroses
3991 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
3992 of grub_pci_make_address.
3993 * disk/ata.c (grub_ata_pciinit): Likewise.
3994 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
3995 (GRUB_PCI_REG_VENDOR): Likewise.
3996 (GRUB_PCI_REG_DEVICE): Likewise.
3997 (GRUB_PCI_REG_COMMAND): Likewise.
3998 (GRUB_PCI_REG_STATUS): Likewise.
3999 (GRUB_PCI_REG_REVISION): Likewise.
4000 (GRUB_PCI_REG_CLASS): Likewise.
4001 (GRUB_PCI_REG_CACHELINE): Likewise.
4002 (GRUB_PCI_REG_LAT_TIMER): Likewise.
4003 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
4004 (GRUB_PCI_REG_BIST): Likewise.
4005 (GRUB_PCI_REG_ADDRESSES): Likewise.
4006 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4007 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4008 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4009 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4010 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4011 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4012 (GRUB_PCI_REG_CIS_POINTER): Likewise.
4013 (GRUB_PCI_REG_SUBVENDOR): Likewise.
4014 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
4015 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
4016 (GRUB_PCI_REG_CAP_POINTER): Likewise.
4017 (GRUB_PCI_REG_IRQ_LINE): Likewise.
4018 (GRUB_PCI_REG_IRQ_PIN): Likewise.
4019 (GRUB_PCI_REG_MIN_GNT): Likewise.
4020 (GRUB_PCI_REG_MAX_LAT): Likewise.
4021 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
4022 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
4023 * video/efi_uga.c (find_framebuf): Likewise.
4024 * video/sm712.c (grub_video_sm712_setup): Likewise.
4025 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
4026 space.
4027
4028 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4029
4030 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
4031 can be reliably determined to be supported.
4032
4033 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4034
4035 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
4036 that VESA is supported.
4037 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
4038 supported.
4039
4040 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
4043
4044 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4045
4046 * util/misc.c (make_system_path_relative_to_its_root): Work around
4047 special-casing of "/", as previous incarnation of this routine did.
4048
4049 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 Fix any-emu compilation.
4052
4053 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
4054 * grub_bin2h_SOURCES: New variable.
4055
4056 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4057
4058 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
4059
4060 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4061
4062 * util/grub.d/00_header.in: Fix handling of locale_dir.
4063
4064 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
4067 as possible unifont location (Gentoo).
4068 Reported by: Alexander Brüning
4069
4070 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 Don't try to generate lists for kernel.img.
4073
4074 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
4075 (pkglib_MODULES): Remove kernel.img.
4076 (kernel_img_EXPORTS): Removed.
4077 (kernel_img_RELOCATABLE): New variable.
4078 * conf/x86_64-efi.rmk: Likewise.
4079 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
4080
4081 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
4084 grub_xasprintf or grub_snprintf.
4085 (grub_vsprintf): Likewise.
4086 (grub_snprintf): New proto.
4087 (grub_vsnprintf): Likewise.
4088 (grub_xasprintf): Likewise.
4089 (grub_xvasprintf): Likewise.
4090 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
4091 (grub_sprintf): Removed.
4092 (grub_vsnprintf): New function.
4093 (grub_snprintf): Likewise.
4094 (grub_xvasprintf): Likewise.
4095 (grub_xasprintf): Likewise.
4096 (grub_vsprintf): Renamed to ...
4097 (grub_vsnprintf_real): ...this. New argument max_len.
4098
4099 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
4100
4101 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
4102 fix grub-script-check warning.
4103
4104 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 * include/grub/font.h (grub_font_load): Fix prototype.
4107
4108 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
4111
4112 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * include/grub/x86_64/at_keyboard.h: New file.
4115
4116 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * loader/mips/linux.c: Include missing grub/i18n.h.
4119
4120 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4121
4122 * normal/menu.c (notify_execution_failure): Clarify error message.
4123
4124 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4125
4126 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
4127 return value (and revert all return statements). Update users.
4128
4129 2010-01-20 Dan Merillat <debian@dan.merillat.org>
4130
4131 * kern/device.c (grub_device_iterate): Allocate new part_ent
4132 structure based on sizeof (*p) rather than sizeof (p->next), to
4133 account for structure padding.
4134
4135 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
4136 disk is NULL, which might happen for LVM physical volumes with no
4137 LVM signature.
4138
4139 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4140
4141 * loader/mips/linux.c (grub_cmd_initrd)
4142 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
4143
4144 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4145
4146 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
4147 (grub_video_video_init, grub_video_bitmap_init)
4148 (grub_font_manager_init, grub_term_gfxterm_init)
4149 (grub_at_keyboard_init): New extern declarations.
4150 (grub_machine_init): Initialize gfxterm and at_keyboard.
4151
4152 * kern/main.c (grub_main): Revert grub_printf delay kludge.
4153
4154 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
4155 `gfxterm.mod' into core image.
4156
4157 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4158 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4159 (kernel_img_FORMAT): Copy to ...
4160
4161 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4162 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4163 (kernel_img_FORMAT): ... here, and ...
4164
4165 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4166 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4167 (kernel_img_FORMAT): ... here.
4168
4169 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
4170 and input (at_keyboard) terminals in kernel.
4171 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
4172
4173 (pkglib_MODULES): Remove `pci.mod'.
4174 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
4175 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
4176 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
4177 (at_keyboard_mod_LDFLAGS): Remove variables.
4178
4179 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
4180
4181 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
4182
4183 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
4184
4185 * include/grub/mips/libgcc.h: Only export symbols for functions
4186 that libgcc provides.
4187
4188 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 MIPS support.
4191
4192 * bus/bonito.c: New file.
4193 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
4194 GRUB_PCI_NUM_DEVICES.
4195 * term/i386/pc/serial.c: Move to ...
4196 * term/serial.c: ... here. All users updated.
4197 * util/i386/pc/grub-mkimage.c: Move to ...
4198 * util/grub-mkrawimage.c: ... here. All users updated.
4199 * term/i386/pc/at_keyboard.c: Move to ...
4200 * term/at_keyboard.c: ... here. All users updated.
4201 * conf/mips-qemu-mips.rmk: New file.
4202 * conf/mips-yeeloong.rmk: Likewise.
4203 * conf/mips.rmk: Likewise.
4204 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
4205 mipsel-qemu-mips.
4206 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
4207 to port addresses.
4208 (grub_ata_pciinit): Support CS5536.
4209 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
4210 * font/font_cmd.c (loadfont_command): Open file before passing it to
4211 grub_font_load.
4212 (pseudo_file_read): New function.
4213 (pseudo_file_close): Likewise.
4214 (pseudo_fs): New structure.
4215 (load_font_module): New function.
4216 (GRUB_MOD_INIT(font_manager)): Load embedded font.
4217 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
4218 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
4219 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
4220 * include/grub/i386/at_keyboard.h: Split into ...
4221 * include/grub/at_keyboard.h: ... this ...
4222 * include/grub/i386/at_keyboard.h: ... and this.
4223 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
4224 New prototype.
4225 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
4226 updated.
4227 (grub_elf64_size): Likewise.
4228 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
4229 filename.
4230 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
4231 * include/grub/i386/coreboot/serial.h: Rewritten.
4232 * include/grub/i386/ieee1275/serial.h: Include
4233 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
4234 * include/grub/i386/pc/serial.h: Moved from here ...
4235 * include/grub/serial.h: ... to here. All users updated.
4236 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
4237 (GRUB_PCI_NUM_BUS): Likewise.
4238 (GRUB_PCI_NUM_DEVICES): Likewise.
4239 (grub_pci_device_map_range): Add missing volatile keyword.
4240 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
4241 * include/grub/mips/at_keyboard.h: New file.
4242 * include/grub/mips/cache.h: Likewise.
4243 * include/grub/mips/io.h: Likewise.
4244 * include/grub/mips/kernel.h: Likewise.
4245 * include/grub/mips/libgcc.h: Likewise.
4246 * include/grub/mips/pci.h: Likewise.
4247 * include/grub/mips/qemu-mips/boot.h: Likewise.
4248 * include/grub/mips/qemu-mips/kernel.h: Likewise.
4249 * include/grub/mips/qemu-mips/loader.h: Likewise.
4250 * include/grub/mips/qemu-mips/memory.h: Likewise.
4251 * include/grub/mips/qemu-mips/serial.h: Likewise.
4252 * include/grub/mips/qemu-mips/time.h: Likewise.
4253 * include/grub/mips/relocator.h: Likewise.
4254 * include/grub/mips/time.h: Likewise.
4255 * include/grub/mips/types.h: Likewise.
4256 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
4257 * include/grub/mips/yeeloong/boot.h: Likewise.
4258 * include/grub/mips/yeeloong/kernel.h: Likewise.
4259 * include/grub/mips/yeeloong/loader.h: Likewise.
4260 * include/grub/mips/yeeloong/memory.h: Likewise.
4261 * include/grub/mips/yeeloong/pci.h: Likewise.
4262 * include/grub/mips/yeeloong/serial.h: Likewise.
4263 * include/grub/mips/yeeloong/time.h: Likewise.
4264 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
4265 * kern/elf.c (grub_elf32_size): New parameter. All users
4266 updated.
4267 (grub_elf64_size): Likewise.
4268 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
4269 Load modules before saying "Welcome to GRUB!".
4270 Call grub_refresh after saying "Welcome to GRUB!".
4271 * kern/mips/cache.S: New file.
4272 * kern/mips/cache_flush.S: Likewise.
4273 * kern/mips/dl.c: Likewise.
4274 * kern/mips/init.c: Likewise.
4275 * kern/mips/qemu-mips/init.c: Likewise.
4276 * kern/mips/startup.S: Likewise.
4277 * kern/mips/yeeloong/init.c: Likewise.
4278 * kern/term.c (grub_putcode): Handle NULL terminal.
4279 (grub_getcharwidth): Likewise.
4280 (grub_getkey): Likewise.
4281 (grub_checkkey): Likewise.
4282 (grub_getkeystatus): Likewise.
4283 (grub_getxy): Likewise.
4284 (grub_getwh): Likewise.
4285 (grub_gotoxy): Likewise.
4286 (grub_cls): Likewise.
4287 (grub_setcolorstate): Likewise.
4288 (grub_setcolor): Likewise.
4289 (grub_getcolor): Likewise.
4290 (grub_refresh): Likewise.
4291 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
4292 (write_jump): Add hatch nop.
4293 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
4294 * lib/mips/setjmp.S: New file.
4295 * loader/mips/linux.c: Likewise.
4296 * term/i386/pc/at_keyboard.c: Move from here ...
4297 * term/at_keyboard.c: ... to here.
4298 * term/i386/pc/serial.c: Moved from here ...
4299 * term/serial.c: ... to here. All users updated.
4300 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
4301 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
4302 (serial_translate_key_sequence): Avoid deadlock.
4303 (grub_serial_getkey): Handle backspace.
4304 (grub_serial_putchar): Fix newline handling.
4305 * util/i386/pc/grub-mkimage.c: Move from here ...
4306 * util/grub-mkrawimage.c: ... to here. All users updated.
4307 (generate_image): New parameters 'font_path' and 'format'.
4308 Support embedding font.
4309 Use grub_host_to_target* instead of grub_cpu_to_le*.
4310 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
4311 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
4312 (options): New option "--font".
4313 (usage): Likewise.
4314 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
4315 (main): Handle "--font".
4316 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
4317 (grub_virtual_screen_setup): Set bg_color_display.
4318 (redraw_screen_rect): Use bg_color_display instead of incorrect
4319 bg_color.
4320 (grub_gfxterm_cls): Likewise.
4321 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
4322 Support embedding config file.
4323 (add_segments): Likewise.
4324 (options): New option "--config".
4325 (main): Handle "--config".
4326 * video/sm712.c: New file.
4327
4328 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4329
4330 Fix parallel builds.
4331
4332 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
4333 font.c depend on ascii.h).
4334
4335 2010-01-12 Carles Pina i Estany <carles@pina.cat>
4336
4337 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
4338
4339 2010-01-11 Carles Pina i Estany <carles@pina.cat>
4340
4341 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
4342 By default: disabled.
4343 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
4344 parameter.
4345
4346 2010-01-10 Carles Pina i Estany <carles@pina.cat>
4347
4348 * font/font.c: Update copyright years.
4349 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
4350
4351 2010-01-10 Carles Pina i Estany <carles@pina.cat>
4352
4353 * font/font.c: Include `ascii.h'.
4354 (ASCII_BITMAP_SIZE): New macro.
4355 (ascii_font_glyph): Define.
4356 (ascii_glyph_lookup): New function.
4357 (grub_font_get_string_width): Change comment. If glyph not found, use
4358 ascii_glyph_lookup.
4359 (grub_font_get_glyph_with_fallback): If glyph not available returns
4360 ascii_glyph_lookup.
4361 * util/grub-mkfont.c (file_formats): New enum.
4362 (options): Add `ascii-bitmaps' new option.
4363 (usage): Add `asii-bitmaps' new option.
4364 (write_font_ascii_bitmap): New function.
4365 (write_font): Rename to ...
4366 (write_font_p2): ... this. Remove print_glyphs call.
4367 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
4368 used. Call print_glyphs.
4369 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
4370
4371 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
4372
4373 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
4374 (grub_bin2h_SOURCES): New variable.
4375 * util/bin2h.c: New file.
4376
4377 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * include/multiboot.h: Resynced with spec.
4380 * include/multiboot2.h: Likewise.
4381 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
4382 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
4383
4384 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4385
4386 * include/grub/term.h (grub_term_register_input,
4387 grub_term_register_output): Check return of terminal init()
4388 routines, and abort if errors are raised.
4389
4390 * commands/terminal.c: Update copyright year.
4391
4392 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4393
4394 * commands/terminal.c (grub_cmd_terminal_input)
4395 (grub_cmd_terminal_output): Check return of terminal init()
4396 routines, and abort if errors are raised.
4397
4398 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * include/grub/i386/bsd.h: Fix include pathes.
4401
4402 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 Add missing *BSD copyright headers.
4405
4406 * include/grub/aout.h: Add BSD licence.
4407 * include/grub/i386/bsd.h: Parts under different licences moved to ...
4408 * include/grub/i386/freebsd_linker.h: ... here,
4409 * include/grub/i386/freebsd_reboot.h: ... here,
4410 * include/grub/i386/netbsd_bootinfo.h: ... here,
4411 * include/grub/i386/netbsd_reboot.h: ... here,
4412 * include/grub/i386/openbsd_bootarg.h: ... here,
4413 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
4414 licence to each file.
4415
4416 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4417
4418 * acinclude.m4: Remove `nop' assembly instruction; it's not
4419 implemented by all architectures.
4420
4421 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4422
4423 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
4424 ELILO. This is no longer necessary.
4425
4426 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
4427
4428 Added new tool, grub-scrit-check to verify grub.cfg syntax.
4429
4430 * util/grub-script-check.c: grub-script-check tool.
4431 * conf/common.rmk: Make rules for grub-script-check.
4432
4433 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4434
4435 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
4436 spotting it back in 2008. Shame on me for forgetting he did.
4437
4438 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
4439
4440 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4441
4442 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
4443 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
4444 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
4445 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
4446 (GRUB_VIDEO_TYPE_EFI): Rename to ...
4447 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
4448
4449 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
4450
4451 * include/grub/test.h: Add license header.
4452 * tests/example_functional_test.c: Likewise.
4453 * tests/example_unit_test.c: Likewise.
4454 * tests/lib/functional_test.c: Likewise.
4455 * tests/lib/test.c: Likewise.
4456 * tests/lib/unit_test.c: Likewise.
4457
4458 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 Use flag-based instead of hook-based video mode selection and "auto"
4461 keyword.
4462
4463 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
4464 (grub_video_set_mode): Changed prototype. All users updated.
4465 (grub_video_check_mode_flag): New inline function.
4466 * video/video.c (parse_modespec): New function.
4467 (grub_video_set_mode): Parse flags and keywords.
4468
4469 2010-01-17 Carles Pina i Estany <carles@pina.cat>
4470
4471 * util/misc.c (grub_util_info): Fix the order of the parameters in a
4472 fprintf call.
4473
4474 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4475
4476 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
4477
4478 2010-01-16 Carles Pina i Estany <carles@pina.cat>
4479
4480 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
4481 string.
4482 * util/grub-emu.c (usage): Likewise.
4483 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
4484 * util/i386/efi/grub-mkimage.c (usage): Likewise.
4485 * util/i386/pc/grub-mkimage.c (usage): Likewise.
4486 * util/i386/pc/grub-setup.c (usage): Likewise.
4487
4488 2010-01-16 Carles Pina i Estany <carles@pina.cat>
4489
4490 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
4491 the message.
4492 (grub_util_info): Likewise.
4493 (grub_util_error): Likewise.
4494 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
4495 and/or new lines in `grub_util_warna', `grub_util_info',
4496 `grub_util_error' calls.
4497 * util/getroot.c: Likewise.
4498 * util/grub-editenv.c: Likewise.
4499 * util/grub-emu.c: Likewise.
4500 * util/grub-fstest.c: Likewise.
4501 * util/grub-mkdevicemap.c: Likewise.
4502 * util/grub-mkfont.c: Likewise.
4503 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4504 * util/grub-mkrelpath.c: Likewise.
4505 * util/grub-pe2elf.c: Likewise.
4506 * util/grub-probe.c: Likewise.
4507 * util/hostdisk.c: Likewise.
4508 * util/i386/efi/grub-mkimage.c: Likewise.
4509 * util/i386/pc/grub-mkimage.c: Likewise.
4510 * util/i386/pc/grub-setup.c: Likewise.
4511 * util/ieee1275/ofpath.c: Likewise.
4512 * util/mkisofs/eltorito.c: Likewise.
4513 * util/mkisofs/rock.c: Likewise.
4514 * util/mkisofs/write.c: Likewise.
4515 * util/raid.c: Likewise.
4516 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
4517 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4518
4519 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 Enable multiboot on non-pc.
4522
4523 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
4524 multiboot.mod and multiboot2.mod to ...
4525 * conf/i386.rmk (pkglib_MODULES): ... here.
4526 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
4527 Moved to ...
4528 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
4529 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
4530 Moved to ...
4531 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
4532 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
4533 Moved to ...
4534 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
4535 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
4536 Moved to ...
4537 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
4538 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
4539 relocator.mod.
4540 (ata_mod_SOURCES): Removed.
4541 (ata_mod_CFLAGS): Likewise.
4542 (ata_mod_LDFLAGS): Likewise.
4543 (relocator_mod_SOURCES): Removed.
4544 (relocator_mod_CFLAGS): Likewise.
4545 (relocator_mod_ASFLAGS): Likewise.
4546 (relocator_mod_LDFLAGS): Likewise.
4547 Include i386.mk.
4548 * include/grub/x86_64/multiboot.h: New file.
4549 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
4550 Terminate EFI.
4551
4552 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 Video multiboot support.
4555
4556 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
4557 New prototype.
4558 * include/multiboot.h: Resynced with multiboot specification.
4559 * include/multiboot2.h: Likewise.
4560 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
4561 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
4562 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
4563 (HAS_VGA_TEXT): Likewise.
4564 (accepts_video): New variable.
4565 (grub_multiboot_set_accepts_video): New function.
4566 (grub_multiboot_get_mbi_size): Account for video structures.
4567 (set_video_mode): New function.
4568 (retrieve_video_parameters): Likewise.
4569 (grub_multiboot_make_mbi): Fill video fields.
4570
4571 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 Video driver ids.
4574
4575 * include/grub/video.h (grub_video_driver_id): New type.
4576 (grub_video_adapter): New member 'id'. All users updated.
4577 (grub_video_get_driver_id): New proto.
4578 * video/video.c (grub_video_get_driver_id): New function.
4579
4580 2010-01-14 Carles Pina i Estany <carles@pina.cat>
4581
4582 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
4583 `var=val'.
4584
4585 2010-01-14 Carles Pina i Estany <carles@pina.cat>
4586
4587 * normal/cmdline.c (print_completion): Gettextizze.
4588
4589 2001-01-14 Carles Pina i Estany <carles@pina.cat>
4590
4591 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
4592
4593 2010-01-14 Carles Pina i Estany <carles@pina.cat>
4594
4595 * gettext/gettext.c (grub_gettext_translate): Push and pop
4596 grub_errno.
4597 (grub_gettext_delete_list): Change comment style.
4598 * kern/err.c (grub_error): Gettextizze.
4599 (grub_fatal): Gettextizze.
4600
4601 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
4602
4603 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
4604 (grub_linux16_real_boot): ... this.
4605 * kern/i386/loader.S: Likewise.
4606 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
4607 (grub_linux16_boot): New function. Switches to text mode and calls
4608 grub_linux16_real_boot().
4609
4610 * loader/i386/bsd.c: Include `<grub/video.h>'.
4611 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
4612 text mode before calling grub_unix_real_boot().
4613
4614 * loader/i386/multiboot.c: Include `<grub/video.h>'.
4615 (grub_multiboot_boot): Switch to text mode before calling
4616 grub_relocator32_boot().
4617
4618 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
4619 (grub_chainloader_boot): Switch to text mode before calling
4620 grub_chainloader_real_boot().
4621
4622 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
4623 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
4624
4625 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
4626 non-empty value.
4627
4628 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
4629 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
4630
4631 * util/grub.d/00_header.in: Define a "savedefault" function for use
4632 in menu entries.
4633 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
4634
4635 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
4636 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
4637
4638 * util/grub-mkconfig_lib.in (save_default_entry): Only set
4639 saved_entry if boot_once is unset.
4640 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
4641 previous saved entry (i.e. grub-reboot).
4642
4643 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
4644
4645 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
4646
4647 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
4648
4649 * util/grub.d/00_header.in: Use `set var=val' rather than plain
4650 `var=val'.
4651 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
4652
4653 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
4654
4655 * util/grub-reboot.in: Fix --version output.
4656 * util/grub-set-default.in: Likewise.
4657
4658 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
4659
4660 * util/grub.d/00_header.in: Silently ignore zero-sized environment
4661 blocks.
4662
4663 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
4664
4665 * util/grub.d/00_header.in: Quote the value assigned to `default',
4666 in case it contains spaces.
4667
4668 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
4669
4670 * util/grub.d/30_os-prober.in: Fix merge error that moved a
4671 `save_default_entry' call from the macosx case to the linux case.
4672
4673 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4674 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
4675
4676 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
4677 in `chosen' environment variable.
4678 * normal/menu_text.c (get_entry_number): Check if the variable
4679 matches the title of a menu entry.
4680 (run_menu): Pass menu to get_entry_number.
4681
4682 * util/grub-reboot.in: New file.
4683 * util/grub-set-default.in: New file.
4684 * conf/common.rmk (grub-reboot): New utility.
4685 (grub-set-default): New utility.
4686
4687 * util/grub-mkconfig_lib.in (save_default_entry): New function.
4688 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
4689 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
4690 move it to `saved_entry' for the next boot. Load environment on
4691 initialisation.
4692 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
4693 * util/grub.d/10_hurd.in: Likewise.
4694 * util/grub.d/10_linux.in (linux_entry): Likewise.
4695 * util/grub.d/10_windows.in: Likewise.
4696 * util/grub.d/30_os-prober.in: Likewise.
4697
4698 * util/grub-install.in: Create environment block.
4699 * util/i386/efi/grub-install.in: Likewise.
4700 * util/ieee1275/grub-install.in: Likewise.
4701 * util/sparc64/ieee1275/grub-install.in: Likewise.
4702
4703 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
4704
4705 Unit testing framework for GRUB.
4706
4707 * Makefile.in: Test framework build rules for 'make check'.
4708 * conf/tests.rmk: Build rules for individual tests and framework.
4709
4710 * include/grub/test.h: Header file for whitebox tests.
4711 * tests/lib/functional_test.c: Framework support for whitebox
4712 functional tests.
4713 * tests/lib/test.c: Common whitebox testing code for unit and
4714 functional tests.
4715 * tests/lib/unit_test.c: Framework support for whitebox unit
4716 tests.
4717
4718 * tests/util/grub-shell-tester.in: Support utility for grub-script
4719 tests.
4720 * tests/util/grub-shell.in: Utility to execute grub-script
4721 commands in a Qemu instance.
4722
4723 * tests/example_functional_test.c: Example whitebox functional
4724 test.
4725 * tests/example_grub_script_test.in: Example grub-script test.
4726 * tests/example_scripted_test.in: Example scripted test.
4727 * tests/example_unit_test.c: Example whitebox unit test.
4728
4729 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
4732 Add loader/i386/multiboot_mbi.c.
4733 (multiboot2_mod_SOURCES): Likewise.
4734 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
4735 (multiboot2_mod_SOURCES): Likewise.
4736 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
4737 (grub_multiboot_make_mbi): Likewise.
4738 (grub_multiboot_free_mbi): Likewise.
4739 (grub_multiboot_init_mbi): Likewise.
4740 (grub_multiboot_add_module): Likewise.
4741 (grub_multiboot_set_bootdev): Likewise.
4742 * loader/i386/multiboot.c (mbi): Removed.
4743 (mbi_dest): Likewise.
4744 (alloc_mbi): New variable.
4745 (grub_multiboot_payload_size): Removed. All users updated.
4746 (grub_multiboot_pure_size): New variable.
4747 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
4748 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
4749 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
4750 (grub_fill_multiboot_mmap): Likewise.
4751 (grub_multiboot_get_bootdev): Likewise.
4752 (grub_multiboot): Use multiboot_mbi functions.
4753 * loader/i386/multiboot_mbi.c: New file.
4754
4755 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
4758 it would result in module crash.
4759
4760 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4761
4762 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
4763 (grub_ofconsole_getwh): Split to ...
4764 (grub_ofconsole_getwh): ... this.
4765 (grub_ofconsole_dimensions): ...and this.
4766 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
4767
4768 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
4769
4770 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
4771
4772 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * loader/i386/pc/multiboot2.c: Removed stalled file.
4775
4776 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
4779 Reported by: Grégoire Sutre
4780
4781 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
4782
4783 * util/misc.c (canonicalize_file_name): New function.
4784 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
4785 instead of realpath().
4786
4787 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
4788
4789 * util/grub-install.in (usage): Clarify meaning of --root-directory,
4790 and make it clearer that it's optional. Based on confusion
4791 witnessed on IRC.
4792
4793 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
4796 in premature implicit newline.
4797
4798 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4801 which resulted in garbled command line at the end of screen.
4802
4803 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4804
4805 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
4806 initialization with similar approach as with other Linux loaders.
4807
4808 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4809
4810 Fix i386-ieee1275 build.
4811
4812 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
4813 and grub_term_height() for video_{width,height} initialization.
4814
4815 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4816
4817 Fix grub-emu build.
4818
4819 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
4820
4821 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4822 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4823
4824 Support for multiple terminals.
4825
4826 * Makefile.in (pkglib_DATA): terminal.lst.
4827 (terminal.lst): New target.
4828 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
4829 (GRUB_MOD_INIT(handler)): Likewise.
4830 (GRUB_MOD_FINI(handler)): Likewise.
4831 * commands/help.c (grub_cmd_help): Handle multiple terminals.
4832 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
4833 * commands/sleep.c (do_print): Use grub_term_restore_pos.
4834 (grub_cmd_sleep): Use grub_term_save_pos.
4835 * commands/terminal.c: New file.
4836 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
4837 commands/terminal.c and lib/charset.c.
4838 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
4839 (pkglib_MODULES): Add terminal.mod.
4840 (terminal_mod_SOURCES): New variable.
4841 (terminal_mod_CFLAGS): Likewise.
4842 (terminal_mod_LDFLAGS): Likewise.
4843 * genhandlerlist.sh: Don't handle terminals.
4844 * genmk.rb: Generate terminal-*.lst.
4845 * genterminallist.sh: New file.
4846 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
4847 (grub_is_valid_utf8): Likewise.
4848 (grub_utf8_to_ucs4_alloc): Likewise.
4849 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
4850 (grub_menu_register_viewer): Changed argument.
4851 (grub_menu_try_text): New proto.
4852 (grub_gfxmenu_try_hook): New declaration.
4853 * include/grub/normal.h (grub_normal_exit_level): New declaration.
4854 (grub_menu_init_page): Additional argument term.
4855 (grub_normal_init_page): Likewise.
4856 (grub_cmdline_get): Arguments simplified.
4857 (grub_utf8_to_ucs4_alloc): Removed.
4858 (grub_print_ucs4): Additional argument term.
4859 (grub_getstringwidth): Likewise.
4860 (grub_print_message_indented): Likewise.
4861 (grub_menu_text_register_instances): New proto.
4862 (grub_show_menu): Likewise.
4863 (read_terminal_list): Likewise.
4864 (grub_set_more): Likewise.
4865 * include/grub/parser.h: Include handler.h.
4866 * include/grub/reader.h: Rewritten.
4867 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
4868 (GRUB_TERM_WIDTH): Changed to function.
4869 (GRUB_TERM_HEIGHT): Likewise.
4870 (GRUB_TERM_BORDER_WIDTH): Likewise.
4871 (GRUB_TERM_BORDER_HEIGHT): Likewise.
4872 (GRUB_TERM_NUM_ENTRIES): Likewise.
4873 (GRUB_TERM_ENTRY_WIDTH): Likewise.
4874 (GRUB_TERM_CURSOR_X): Likewise.
4875 (grub_term_input_class): Likewise.
4876 (grub_term_output_class): Likewise.
4877 (grub_term_outputs_disabled): New declaration.
4878 (grub_term_inputs_disabled): Likewise.
4879 (grub_term_outputs): Likewise.
4880 (grub_term_inputs): Likewise.
4881 (grub_term_register_input): Rewritten.
4882 (grub_term_register_output): Likewise.
4883 (grub_term_unregister_input): Likewise.
4884 (grub_term_unregister_output): Likewise.
4885 (FOR_ACTIVE_TERM_INPUTS): New macro.
4886 (FOR_DISABLED_TERM_INPUTS): Likewise.
4887 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
4888 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
4889 * include/grub/terminfo.h: Add oterm argument to all protypes.
4890 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
4891 Use grub_rescue_run.
4892 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
4893 All users updated.
4894 * kern/reader.c: Removed. All users updated.
4895 * kern/rescue_reader.c (grub_rescue_init): Removed.
4896 (grub_rescue_reader): Likewise.
4897 (grub_register_rescue_reader): Likewise.
4898 (grub_rescue_run): New function based on kern/reader.c.
4899 * kern/term.c: Adapted for multiterm.
4900 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
4901 (grub_is_valid_utf8): Likewise.
4902 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
4903 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
4904 right terminal.
4905 * loader/i386/linux.c (grub_linux_boot): Likewise.
4906 * normal/auth.c (grub_username_get): New function.
4907 (grub_auth_check_authentication): Use grub_username_get.
4908 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
4909 * normal/color.c: Adapt for multiterm.
4910 * normal/main.c (read_config_file): Don't use grub_reader_loop.
4911 (grub_normal_init_page): Additional argument term.
4912 (read_lists): Call read_terminal_lists.
4913 (grub_enter_normal_mode): Call grub_cmdline_run.
4914 Handle grub_normal_exit_level.
4915 (grub_cmd_normal): Make reentrant.
4916 (grub_cmd_normal_exit): New function.
4917 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
4918 * normal/menu.c: Adapt for multiterm.
4919 * normal/menu_entry.c: Likewise.
4920 * normal/menu_text.c: Likewise.
4921 * normal/menu_viewer.c: Removed. All users updated.
4922 * normal/term.c: New file.
4923 * util/console.c: Change order of includes to workaround a bug in
4924 ncurses headers.
4925 * term/terminfo.c: New argument oterm on all exported functions.
4926 All users updated.
4927 * util/grub-editenv.c (grub_term_input_class): Removed.
4928 (grub_term_output_class): Likewise.
4929
4930 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4931
4932 Make loader output a bit more user-friendly.
4933
4934 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
4935 is being loaded. Likewise for the Hurd.
4936
4937 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
4938 that kernel of FreeBSD ${version} is being loaded.
4939
4940 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
4941 grub_dprintf().
4942 (grub_cmd_initrd): Likewise.
4943 * util/grub.d/10_linux.in (linux_entry): Print message indicating
4944 that Linux ${version} is being loaded. Likewise for initrd.
4945
4946 2010-01-09 Carles Pina i Estany <carles@pina.cat>
4947
4948 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
4949
4950 2010-01-08 Carles Pina i Estany <carles@pina.cat>
4951
4952 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
4953 (GRUB_MOD_INIT): Gettextizze.
4954 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
4955 (GRUB_MOD_INIT): Gettextizze.
4956 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
4957 (grub_cmd_linux): Capitalise Linux.
4958 (GRUB_MOD_INIT): Gettextizze.
4959 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
4960 (grub_cmd_linux): Capitalise Linux.
4961 (GRUB_MOD_INIT): Gettextizze.
4962 * loader/i386/linux.c: Include `<grub/i18n.h>'.
4963 (grub_cmd_linux): Capitalise Linux.
4964 (GRUB_MOD_INIT): Gettextizze.
4965 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
4966 (GRUB_MOD_INIT): Gettextizze.
4967 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
4968 (grub_cmd_linux): Capitalise Linux.
4969 (GRUB_MOD_INIT): Gettextizze.
4970 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
4971 (grub_cpu_xnu_init): Gettextizze.
4972 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
4973 (GRUB_MOD_INIT): Gettextizze.
4974 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
4975 (GRUB_MOD_INIT): Gettextizze.
4976 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
4977 (grub_linux_load64): Capitalise Linux.
4978 (GRUB_MOD_INIT): Gettextizze.
4979 * loader/xnu.c: Include `<grub/i18n.h>'.
4980 (GRUB_MOD_INIT): Gettextizze.
4981 * po/POTFILES: Add `loader/efi/appleloader.c',
4982 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
4983 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
4984 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
4985 `loader/i386/xnu.c', `loader/multiboot_loader.c',
4986 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
4987 and `loader/xnu.c'.
4988
4989 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
4990
4991 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
4992
4993 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
4994
4995 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
4996 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
4997 * util/mkisofs/mkisofs.c (main): Readjust --version output.
4998
4999 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5000
5001 Reset Multiboot 2 support. New loader implements the draft in
5002 /branches/multiboot2 and shares as much code as possible with the
5003 production Multiboot 1 implementation.
5004
5005 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
5006 * loader/multiboot2.c: Likewise.
5007 * loader/i386/multiboot_helper.S: Likewise.
5008 * include/multiboot2.h: Replace with latest version from the draft
5009 in /branches/multiboot2.
5010
5011 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
5012 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
5013 and `loader/multiboot2.c'.
5014 (pkglib_MODULES): Add `multiboot2.mod'.
5015 (multiboot2_mod_SOURCES): New variable.
5016 (multiboot2_mod_LDFLAGS): Likewise.
5017 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
5018
5019 * conf/i386-pc.rmk: Likewise.
5020
5021 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
5022 (multiboot_mod_SOURCES): Remove variable.
5023 (multiboot_mod_LDFLAGS): Likewise.
5024 (multiboot_mod_CFLAGS): Likewise.
5025
5026 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
5027 `<multiboot2.h>' instead of `<multiboot.h>'.
5028 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
5029 (MULTIBOOT_HEADER_MAGIC): New macros.
5030
5031 * loader/multiboot_loader.c (module_version_status): Remove variable.
5032 (find_multi_boot2_header): Remove function.
5033 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
5034 logic. Always check for the Multiboot version we're compiling for.
5035 (grub_cmd_module_loader): Likewise.
5036 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
5037 command instead of `multiboot'.
5038
5039 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5040
5041 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
5042 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
5043 all users.
5044
5045 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5046 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 Fix breakage introduced with previous commit.
5049
5050 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
5051 commands.
5052 * normal/handler.c (read_handler_list): Revert part of previous commit
5053 affecting this file.
5054 * normal/main.c (read_lists): Move read_handler_list() call back to ...
5055 (grub_normal_execute): ... here.
5056
5057 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5058
5059 Merge prefix-redefinition-fix branch.
5060
5061 * normal/autofs.c (read_fs_list): Make function capable of being
5062 run multiple times, gracefuly replacing the previous data
5063 structures.
5064 * normal/dyncmd.c (read_command_list): Likewise.
5065 * normal/handler.c (read_handler_list): Likewise.
5066 * normal/main.c (read_lists): New function. Calls all the
5067 list reading functions.
5068 (grub_normal_execute): Use read_lists() instead of calling all
5069 list reading functions explicitly. Register read_lists() as a
5070 variable hook attached to ${prefix}.
5071
5072 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5073
5074 Merge crypto branch.
5075
5076 * Makefile.in (pkglib_DATA): Add crypto.lst.
5077 (crypto.lst): New target.
5078 * commands/hashsum.c: New file.
5079 * commands/password.c (check_password): Use grub_crypto_memcmp.
5080 * commands/password_pbkdf2.c: New file.
5081 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
5082 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
5083 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
5084 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
5085 -I$(srcdir)/lib/libgcrypt_wrap.
5086 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
5087 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
5088 password_pbkdf2.mod.
5089 (crypto_mod_SOURCES): New variable.
5090 (crypto_mod_CFLAGS): Likewise.
5091 (crypto_mod_LDFLAGS): Likewise.
5092 (hashsum_mod_SOURCES): New variable.
5093 (hashsum_mod_CFLAGS): Likewise.
5094 (hashsum_mod_LDFLAGS): Likewise.
5095 (pbkdf2_mod_SOURCES): New variable.
5096 (pbkdf2_mod_CFLAGS): Likewise.
5097 (pbkdf2_mod_LDFLAGS): Likewise.
5098 (password_pbkdf2_mod_SOURCES): New variable.
5099 (password_pbkdf2_mod_CFLAGS): Likewise.
5100 (password_pbkdf2_mod_LDFLAGS): Likewise.
5101 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
5102 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
5103 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
5104 Include conf/gcry.rmk.
5105 * include/grub/auth.h: Rewritten.
5106 * include/grub/crypto.h: New file.
5107 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
5108 * include/grub/normal.h (read_crypto_list): New prototype.
5109 * lib/crypto.c: New file.
5110 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
5111 * lib/pbkdf2.c: Likewise.
5112 * normal/auth.c (grub_auth_strcmp): Removed.
5113 (grub_iswordseparator): Likewise.
5114 (grub_auth_strword): Likewise.
5115 (is_authenticated): Use grub_strword.
5116 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
5117 and grub_strword. Pass entered password to authentication callback.
5118 * normal/crypto.c: New file.
5119 * normal/main.c: Call read_crypto_list.
5120 * util/grub-mkpasswd-pbkdf2.c: New file.
5121 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
5122
5123 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 Fix descent and ascent calculation.
5126
5127 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
5128 (options): New option "asce".
5129 (usage): Likewise.
5130 (add_char): Ignore invalid glyphs for descent calculation.
5131 Calculate ascent from actual content.
5132 (print_glyphs): Use 'asce'.
5133 (write_font): Likewise. Allow ascent override.
5134 (main): Handle "asce" option.
5135
5136 2010-01-06 Carles Pina i Estany <carles@pina.cat>
5137
5138 * kern/err.c: Include `<grub/i18n.h>'.
5139 (grub_print_error): Add full stop. Gettextizze.
5140 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
5141 (grub_bsd_load_elf): Capitalise ELF.
5142 (grub_cmd_freebsd_loadenv): Add `s' in error string.
5143 (grub_cmd_freebsd_module): Likewise.
5144 (grub_cmd_freebsd_module_elf): Likewise.
5145 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
5146
5147 2010-01-06 Carles Pina i Estany <carles@pina.cat>
5148
5149 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
5150 * commands/search_file.c (HELP_MESSAGE): New macro.
5151 * commands/search_label.c (HELP_MESSAGE): Likewise.
5152 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
5153 * po/POTFILES: Add `commands/search_file.c',
5154 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
5155 `commands/search.c'.
5156
5157 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
5158
5159 * config.rpath: Update from Gnulib.
5160
5161 2010-01-05 Yves Blusseau <blusseau@zetam.org>
5162
5163 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
5164
5165 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
5166
5167 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
5168
5169 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5170
5171 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
5172 arguments to fread so that we get a return value in bytes, rather
5173 than something that will normally be rounded down to 0.
5174 Adjust error handling to avoid producing garbage when size_t is not
5175 the same size as long long.
5176
5177 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5178
5179 * util/mkisofs/write.c (padblock_write): Check return value of
5180 fread.
5181
5182 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
5183
5184 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
5185 floppy images now.
5186
5187 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
5188
5189 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
5190
5191 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
5192 instead of manual alignment.
5193 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
5194 verbose). Avoid attempts to read past end of the device
5195 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
5196 but GRUB_DISK_CACHE_SIZE may exceed that).
5197
5198 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
5199
5200 * commands/crc.c (grub_cmd_crc): Abort on read errors.
5201 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
5202 it to upper layer.
5203
5204 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5205
5206 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
5207 New constant.
5208 (grub_efi_piwg_device_path): New structure
5209 (grub_efi_piwg_device_path_t): New type.
5210 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
5211 (devpath_1): Transform to a structure. All users updated.
5212 (devpath_2): Likewise.
5213 (devpath_3): Likewise.
5214 (devpath_4): Likewise.
5215 (devpath_5): Likewise.
5216
5217 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 * loader/efi/appleloader.c: Restored. Update all users.
5220
5221 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5222
5223 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
5224
5225 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
5226 (struct boot_blocklist): Move from here ...
5227 * include/grub/i386/pc/boot.h [ASM_FILE]
5228 (struct grub_boot_blocklist): ... to here. Update all users.
5229 (setup): Only initialize `start' member of `first_block'
5230 structure. Add assert() calls to verify the other members.
5231
5232 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
5233 (generate_image): Fix broken blocklist length initialization.
5234 Add assert() call to verify blocklist `segment' field.
5235
5236 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5237
5238 * loader/efi/appleloader.c: Remove. Update all users.
5239
5240 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5241
5242 * boot/i386/pc/boot.S: Update copyright year.
5243 * boot/i386/pc/cdboot.S: Likewise.
5244 * boot/i386/pc/diskboot.S: Likewise.
5245 * boot/i386/pc/lnxboot.S: Likewise.
5246 * boot/i386/pc/pxeboot.S: Likewise.
5247 * bus/pci.c: Likewise.
5248 * commands/cmp.c: Likewise.
5249 * commands/help.c: Likewise.
5250 * commands/hexdump.c: Likewise.
5251 * commands/i386/pc/halt.c: Likewise.
5252 * commands/i386/pc/play.c: Likewise.
5253 * commands/i386/pc/vbeinfo.c: Likewise.
5254 * commands/ls.c: Likewise.
5255 * commands/test.c: Likewise.
5256 * disk/dmraid_nvidia.c: Likewise.
5257 * disk/i386/pc/biosdisk.c: Likewise.
5258 * disk/ieee1275/nand.c: Likewise.
5259 * disk/ieee1275/ofdisk.c: Likewise.
5260 * disk/lvm.c: Likewise.
5261 * disk/raid.c: Likewise.
5262 * disk/raid6_recover.c: Likewise.
5263 * disk/scsi.c: Likewise.
5264 * fs/affs.c: Likewise.
5265 * fs/cpio.c: Likewise.
5266 * fs/ext2.c: Likewise.
5267 * fs/hfs.c: Likewise.
5268 * fs/iso9660.c: Likewise.
5269 * fs/ntfs.c: Likewise.
5270 * fs/sfs.c: Likewise.
5271 * fs/udf.c: Likewise.
5272 * fs/ufs.c: Likewise.
5273 * fs/xfs.c: Likewise.
5274 * gencmdlist.sh: Likewise.
5275 * genmk.rb: Likewise.
5276 * include/grub/disk.h: Likewise.
5277 * include/grub/efi/api.h: Likewise.
5278 * include/grub/efi/efi.h: Likewise.
5279 * include/grub/efi/pe32.h: Likewise.
5280 * include/grub/elf.h: Likewise.
5281 * include/grub/fs.h: Likewise.
5282 * include/grub/i386/at_keyboard.h: Likewise.
5283 * include/grub/i386/pc/memory.h: Likewise.
5284 * include/grub/i386/pc/vbe.h: Likewise.
5285 * include/grub/i386/pci.h: Likewise.
5286 * include/grub/i386/tsc.h: Likewise.
5287 * include/grub/ieee1275/ieee1275.h: Likewise.
5288 * include/grub/ntfs.h: Likewise.
5289 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
5290 * include/grub/sparc64/libgcc.h: Likewise.
5291 * include/grub/symbol.h: Likewise.
5292 * include/grub/types.h: Likewise.
5293 * include/multiboot2.h: Likewise.
5294 * io/gzio.c: Likewise.
5295 * kern/device.c: Likewise.
5296 * kern/disk.c: Likewise.
5297 * kern/efi/efi.c: Likewise.
5298 * kern/efi/mm.c: Likewise.
5299 * kern/elf.c: Likewise.
5300 * kern/file.c: Likewise.
5301 * kern/i386/dl.c: Likewise.
5302 * kern/i386/pc/init.c: Likewise.
5303 * kern/i386/pc/startup.S: Likewise.
5304 * kern/ieee1275/ieee1275.c: Likewise.
5305 * kern/ieee1275/init.c: Likewise.
5306 * kern/main.c: Likewise.
5307 * kern/mm.c: Likewise.
5308 * kern/powerpc/dl.c: Likewise.
5309 * kern/sparc64/dl.c: Likewise.
5310 * kern/x86_64/dl.c: Likewise.
5311 * lib/hexdump.c: Likewise.
5312 * loader/efi/appleloader.c: Likewise.
5313 * loader/i386/ieee1275/linux.c: Likewise.
5314 * loader/i386/pc/chainloader.c: Likewise.
5315 * loader/i386/pc/linux.c: Likewise.
5316 * loader/i386/pc/multiboot2.c: Likewise.
5317 * loader/ieee1275/multiboot2.c: Likewise.
5318 * loader/multiboot2.c: Likewise.
5319 * loader/multiboot_loader.c: Likewise.
5320 * loader/powerpc/ieee1275/linux.c: Likewise.
5321 * normal/completion.c: Likewise.
5322 * normal/menu_entry.c: Likewise.
5323 * partmap/apple.c: Likewise.
5324 * util/grub.d/10_hurd.in: Likewise.
5325 * util/hostfs.c: Likewise.
5326 * video/readers/png.c: Likewise.
5327
5328 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
5329
5330 * include/grub/misc.h (GNUC_PREREQ): New macro.
5331 (ATTRIBUTE_ERROR): New macro.
5332 * include/grub/list.h (grub_bad_type_cast_real): Use
5333 ATTRIBUTE_ERROR.
5334
5335 2010-01-03 Carles Pina i Estany <carles@pina.cat>
5336
5337 * normal/menu_text.c (print_message): Change messages.
5338
5339 2010-01-03 Carles Pina i Estany <carles@pina.cat>
5340
5341 * normal/menu_entry.c (store_completion): Gettextizze.
5342
5343 2010-01-03 Carles Pina i Estany <carles@pina.cat>
5344
5345 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
5346
5347 2010-01-03 Carles Pina i Estany <carles@pina.cat>
5348
5349 * po/POTFILES: Sort correctly.
5350
5351 2010-01-03 Carles Pina i Estany <carles@pina.cat>
5352
5353 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
5354 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
5355 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
5356 full stop.
5357 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
5358 summary. Gettextizze the strings.
5359 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
5360 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
5361 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
5362 full stop.
5363 (GRUB_MOD_INIT): Remove command name from summary.
5364 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
5365 summary.
5366 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
5367 * term/i386/pc/serial.c (options): Add full stops.
5368 (GRUB_MOD_INIT): Remove command name from the summary.
5369
5370 2010-01-03 Carles Pina i Estany <carles@pina.cat>
5371
5372 * commands/acpi.c: Gettextizze help strings and/or options. Include
5373 `grub/i18n.h' if needed.
5374 * commands/blocklist.c: Likewise.
5375 * commands/boot.c: Likewise.
5376 * commands/cat.c: Likewise.
5377 * commands/cmp.c: Likewise.
5378 * commands/configfile.c: Likewise.
5379 * commands/crc.c: Likewise.
5380 * commands/date.c: Likewise.
5381 * commands/echo.c: Likewise.
5382 * commands/efi/fixvideo.c: Likewise.
5383 * commands/efi/loadbios.c: Likewise.
5384 * commands/gptsync.c: Likewise.
5385 * commands/halt.c: Likewise.
5386 * commands/handler.c: Likewise.
5387 * commands/hdparm.c: Likewise.
5388 * commands/hexdump.c: Likewise.
5389 * commands/i386/cpuid.c: Likewise.
5390 * commands/i386/pc/drivemap.c: Likewise.
5391 * commands/i386/pc/halt.c: Likewise.
5392 * commands/i386/pc/pxecmd.c: Likewise.
5393 * commands/i386/pc/vbeinfo.c: Likewise.
5394 * commands/i386/pc/vbetest.c: Likewise.
5395 * commands/ieee1275/suspend.c: Likewise.
5396 * commands/keystatus.c: Likewise.
5397 * commands/loadenv.c: Likewise.
5398 * commands/ls.c: Likewise.
5399 * commands/lsmmap.c: Likewise.
5400 * commands/lspci.c: Likewise.
5401 * commands/memrw.c: Likewise.
5402 * commands/minicmd.c: Likewise.
5403 * commands/parttool.c: Likewise.
5404 * commands/password.c: Likewise.
5405 * commands/probe.c: Likewise.
5406 * commands/read.c: Likewise.
5407 * commands/reboot.c: Likewise.
5408 * commands/search.c: Likewise.
5409 * commands/sleep.c: Likewise.
5410 * commands/test.c: Likewise.
5411 * commands/true.c: Likewise.
5412 * commands/usbtest.c: Likewise.
5413 * commands/videotest.c: Likewise.
5414 * commands/xnu_uuid.c: Likewise.
5415 * disk/loopback.c: Likewise.
5416 * hello/hello.c: Likewise.
5417 * loader/i386/bsd.c: Likewise.
5418 * term/i386/pc/serial.c: Likewise.
5419 * po/POTFILES: Add new files.
5420
5421 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
5422
5423 * term/i386/pc/at_keyboard.c
5424 (keyboard_controller_wait_untill_ready): Rename to ...
5425 (keyboard_controller_wait_until_ready): ... this. Update all users.
5426
5427 2010-01-01 Carles Pina i Estany <carles@pina.cat>
5428
5429 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
5430 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
5431 string using string width.
5432 * normal/menu_text.c (grub_print_message_indented): Use
5433 grub_print_spaces and not print_spaces.
5434 (print_timeout): Likewise.
5435 (print_spaces): Move to...
5436 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
5437
5438 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
5439
5440 Import from Gnulib.
5441
5442 * gnulib/getdelim.c: New file.
5443 * gnulib/getline.c: Likewise.
5444
5445 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
5446
5447 * include/grub/list.h (grub_assert_fail): Removed.
5448 (grub_bad_type_cast_real): New function.
5449 (grub_bad_type_cast): New macro.
5450 (GRUB_AS_LIST): Use grub_bad_type_cast.
5451 (GRUB_AS_LIST_P): Likewise.
5452 (GRUB_AS_NAMED_LIST): Likewise.
5453 (GRUB_AS_NAMED_LIST_P): Likewise.
5454 (GRUB_AS_PRIO_LIST): Likewise.
5455 (GRUB_AS_PRIO_LIST_P): Likewise.
5456 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
5457
5458 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
5461 Fix syntax error.
5462
5463 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
5464
5465 * configure.ac: Check for TARGET_CFLAGS initialization before we
5466 initialize it ourselves (sigh).
5467 Move a few modifications to TARGET_CFLAGS to be unconditional
5468 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
5469 eh_frame)
5470
5471 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
5472 * term/i386/pc/at_keyboard.c
5473 (keyboard_controller_wait_untill_ready): Likewise.
5474 (keyboard_controller_led): Rename `led_status' paramter to avoid
5475 name conflict.
5476
5477 2009-12-28 Carles Pina i Estany <carles@pina.cat>
5478
5479 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
5480 quotes.
5481
5482 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
5485
5486 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 * normal/menu_text.c (grub_print_message_indented): Prevent
5489 past-the-end-of-array dereference.
5490
5491 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
5494 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
5495
5496 2009-12-27 Carles Pina i Estany <carles@pina.cat>
5497
5498 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
5499 * normal/main.c (grub_normal_read_line): Remove a space from the
5500 default prompt.
5501
5502 2009-12-27 Carles Pina i Estany <carles@pina.cat>
5503
5504 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
5505 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5506 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
5507 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
5508 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5509 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5510 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5511
5512 2009-12-26 Carles Pina i Estany <carles@pina.cat>
5513
5514 * video/readers/jpeg.c (cmd): Declare.
5515 (grub_cmd_jpegtest): Use `grub_command_t' type.
5516 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5517 Assign to `cmd'.
5518 (GRUB_MOD_FINI): Use `cmd' to unregister.
5519 * video/readers/png.c (cmd): Declare.
5520 (grub_cmd_pngtest): Use `grub_command_t' type.
5521 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5522 Assign to `cmd'.
5523 (GRUB_MOD_FINI): Use `cmd' to unregister.
5524 * video/readers/tga.c (cmd): Declare.
5525 (grub_cmd_tgatest): Use `grub_command_t' type.
5526 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5527 Assign to `cmd'.
5528 (GRUB_MOD_FINI): Use `cmd' to unregister.
5529
5530 2009-12-26 Carles Pina i Estany <carles@pina.cat>
5531
5532 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
5533 stops.
5534 * kern/corecmd.c (grub_register_core_commands): Likewise.
5535 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
5536 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
5537 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
5538 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5539 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
5540 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
5541 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
5542 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
5543 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5544 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5545 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5546 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
5547 * normal/handler.c (insert_handler): Likewise.
5548 * normal/main.c (GRUB_MOD_INIT): Likewise.
5549 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
5550
5551 2009-12-26 Carles Pina i Estany <carles@pina.cat>
5552
5553 * commands/help.c (grub_cmd_help): Print the command name before the
5554 summary.
5555 (GRUB_MOD_INIT): Remove command name from the summary.
5556 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
5557 string as summary.
5558 * lib/arg.c (find_long): Print the command name before the summary.
5559 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
5560 summary.
5561 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
5562 * commands/cat.c (GRUB_MOD_INIT): Likewise.
5563 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
5564 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
5565 * commands/crc.c (GRUB_MOD_INIT): Likewise.
5566 * commands/date.c (GRUB_MOD_INIT): Likewise.
5567 * commands/echo.c (GRUB_MOD_INIT): Likewise.
5568 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
5569 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
5570 * commands/handler.c (GRUB_MOD_INIT): Likewise.
5571 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
5572 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
5573 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
5574 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
5575 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
5576 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
5577 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
5578 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
5579 * commands/ls.c (GRUB_MOD_INIT): Likewise.
5580 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
5581 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
5582 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
5583 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
5584 * commands/password.c (GRUB_MOD_INIT): Likewise.
5585 * commands/probe.c (GRUB_MOD_INIT): Likewise.
5586 * commands/read.c (GRUB_MOD_INIT): Likewise.
5587 * commands/search.c (GRUB_MOD_INIT): Likewise.
5588 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
5589 * commands/test.c (GRUB_MOD_INIT): Likewise.
5590 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
5591 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
5592 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
5593 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
5594 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
5595 * lib/arg.c (GRUB_MOD_INIT): Likewise.
5596 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
5597 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
5598 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5599 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
5600 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
5601 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
5602 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
5603 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
5604
5605 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 Use search command for preliminar UUID search.
5608
5609 * commands/search.c: Split into ...
5610 * commands/search_wrap.c: ...this
5611 * commands/search.c: ...and this.
5612 * commands/search_file.c: New file.
5613 * commands/search_label.c: New file.
5614 * commands/search_uuid.c: New file.
5615 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
5616 Add commands/search_wrap.c, commands/search_file.c,
5617 commands/search_label.c and commands/search_uuid.c.
5618 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
5619 (search_mod_SOURCES): Set to commands/search_wrap.c.
5620 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
5621 search_label.mod.
5622 (search_fs_file_mod_SOURCES): New variable.
5623 (search_fs_file_mod_CFLAGS): Likewise.
5624 (search_fs_file_mod_LDFLAGS): Likewise.
5625 (search_label_mod_SOURCES): Likewise.
5626 (search_label_mod_CFLAGS): Likewise.
5627 (search_label_mod_LDFLAGS): Likewise.
5628 (search_fs_uuid_mod_SOURCES): New variable.
5629 (search_fs_uuid_mod_CFLAGS): Likewise.
5630 (search_fs_uuid_mod_LDFLAGS): Likewise.
5631 (fs_file_mod_SOURCES): Removed.
5632 (fs_file_mod_CFLAGS): Likewise.
5633 (fs_file_mod_LDFLAGS): Likewise.
5634 (fs_uuid_mod_SOURCES): Removed.
5635 (fs_uuid_mod_CFLAGS): Likewise.
5636 (fs_uuid_mod_LDFLAGS): Likewise.
5637 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
5638 Set to util/grub-install.in.
5639 * disk/fs_file.c: Removed.
5640 * disk/fs_uuid.c: Likewise.
5641 * include/grub/search.h: New file.
5642 * util/grub-install.in: Handle sparc64.
5643 Create and use load.cfg.
5644 * util/sparc64/ieee1275/grub-install.in: Removed.
5645
5646 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
5649 Ignore return status if CF is cleared.
5650 (grub_biosdisk_get_diskinfo_standard): Likewise.
5651
5652 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
5653
5654 * term/i386/pc/at_keyboard.c
5655 (keyboard_controller_wait_untill_ready): New function.
5656 (grub_keyboard_controller_write, grub_keyboard_controller_read)
5657 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
5658 for keyboard polling, rather than duplicate the same loop. This
5659 saves a few bytes in code size.
5660
5661 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 Support for (pxe[:server[:gateway]]) syntax and
5664 use environment variable for PXE.
5665
5666 * commands/i386/pc/pxecmd.c (options): Removed.
5667 (print_ip): Removed.
5668 (grub_cmd_pxe): Removed
5669 (grub_cmd_pxe_unload): New function.
5670 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
5671 (grub_pxe_your_ip): Made static.
5672 (grub_pxe_default_server_ip): Likewise.
5673 (grub_pxe_default_gateway_ip): Likewise.
5674 (grub_pxe_blksize): Likewise.
5675 (parse_ip): New function.
5676 (grub_pxe_open): Support server and gateway specification.
5677 (grub_pxe_close): Free disk->data.
5678 (grub_pxefs_open): Use disk->data.
5679 (grub_pxefs_read): Likewise.
5680 (grub_env_write_readonly): New function.
5681 (set_mac_env): Likewise.
5682 (set_env_limn_ro): Likewise.
5683 (parse_dhcp_vendor): Likewise.
5684 (grub_pxe_detect): Set the environment variables.
5685 (set_ip_env): New function.
5686 (write_ip_env): Likewise.
5687 (grub_env_write_pxe_default_server): Likewise.
5688 (grub_env_write_pxe_default_gateway): Likewise.
5689 (grub_env_write_pxe_blocksize): Likewise.
5690 (GRUB_MOD_INIT(pxe)): Set environment variables.
5691 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
5692 (grub_pxe_mac_addr_t): ... this. All users updated.
5693 (grub_pxe_your_ip): Removed.
5694 (grub_pxe_server_ip): Likewise.
5695 (grub_pxe_gateway_ip): Likewise.
5696 (grub_pxe_blksize): Likewise.
5697
5698 2009-12-25 Carles Pina i Estany <carles@pina.cat>
5699
5700 * commands/help.c: Include `<grub/i18n.h>'.
5701 (grub_cmd_help): Gettextizze.
5702 (GRUB_MOD_INIT): Likewise.
5703 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
5704 (GRUB_MOD_INIT): Gettextizze.
5705 * commands/search.c: Include `<grub/i18n.h>'.
5706 (options): Gettextizze.
5707 (GRUB_MOD_INIT): Gettextizze.
5708 * lib/arg.c: Include `<grub/i18n.h>'.
5709 (help_options): Gettextizze.
5710 (find_long): Likewise.
5711 (grub_arg_show_help): Likewise.
5712 * normal/dyncmd.c: Include `<grub/i18n.h>'.
5713 (read_command_list): Gettextizze.
5714 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
5715 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
5716
5717 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
5718
5719 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
5720 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
5721 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
5722 (led_status): New variable.
5723 (keyboard_controller_led): New function.
5724 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
5725 update led status for caps lock, num lock and scroll lock.
5726
5727 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
5728
5729 * util/hostdisk.c (open_device): Fix a comment.
5730
5731 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5732
5733 * util/grub-install.in (host_os): New variable.
5734 * util/i386/efi/grub-install.in (host_os): Likewise.
5735
5736 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5737
5738 * util/mkisofs/write.c (padblock_write): Abort when given an
5739 excedingly large embed image, instead of silently truncating it.
5740
5741 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5742
5743 * include/multiboot.h: Indentation fixes.
5744
5745 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5746
5747 * include/multiboot.h (struct multiboot_aout_symbol_table)
5748 (struct multiboot_elf_section_header_table): New structure
5749 declarations (stolen from GRUB Legacy).
5750 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
5751 table information.
5752
5753 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
5754 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
5755 type aliases.
5756
5757 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5758
5759 * include/multiboot.h: Make comments src2texi-friendly.
5760
5761 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5762
5763 For consistency with [multiboot]/docs/boot.S.
5764
5765 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
5766 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
5767 (MULTIBOOT_MAGIC2): Rename from this ...
5768 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
5769
5770 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5771
5772 * include/multiboot.h: Remove `<grub/types.h>'.
5773 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
5774 types. Update all users.
5775
5776 2009-12-25 Carles Pina i Estany <carles@pina.cat>
5777
5778 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
5779 `couldn't' and `can not' by `cannot'.
5780 * commands/i386/pc/drivemap.c: Likewise.
5781 * disk/ata.c: Likewise.
5782 * disk/ieee1275/nand.c: Likewise.
5783 * fs/affs.c: Likewise.
5784 * fs/fat.c: Likewise.
5785 * fs/hfs.c: Likewise.
5786 * fs/hfsplus.c: Likewise.
5787 * fs/iso9660.c: Likewise.
5788 * fs/jfs.c: Likewise.
5789 * fs/minix.c: Likewise.
5790 * fs/reiserfs.c: Likewise.
5791 * fs/sfs.c: Likewise.
5792 * fs/udf.c: Likewise.
5793 * fs/ufs.c: Likewise.
5794 * fs/xfs.c: Likewise.
5795 * loader/powerpc/ieee1275/linux.c: Likewise.
5796 * loader/sparc64/ieee1275/linux.c: Likewise.
5797 * util/grub-probe.c: Likewise.
5798 * util/misc.c: Likewise.
5799
5800 2009-12-24 Carles Pina i Estany <carles@pina.cat>
5801
5802 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
5803 grub_errno calls.
5804 * commands/acpi.c: Likewise.
5805 * commands/blocklist.c: Likewise.
5806 * commands/efi/loadbios.c: Likewise.
5807 * commands/i386/pc/drivemap.c: Likewise.
5808 * commands/loadenv.c: Likewise.
5809 * commands/memrw.c: Likewise.
5810 * commands/password.c: Likewise.
5811 * commands/videotest.c: Likewise.
5812 * disk/ata.c: Likewise.
5813 * disk/ata_pthru.c: Likewise.
5814 * disk/dmraid_nvidia.c: Likewise.
5815 * disk/ieee1275/nand.c: Likewise.
5816 * disk/ieee1275/ofdisk.c: Likewise.
5817 * disk/loopback.c: Likewise.
5818 * disk/lvm.c: Likewise.
5819 * disk/mdraid_linux.c: Likewise.
5820 * disk/raid.c: Likewise.
5821 * disk/raid6_recover.c: Likewise.
5822 * disk/scsi.c: Likewise.
5823 * efiemu/main.c: Likewise.
5824 * efiemu/mm.c: Likewise.
5825 * efiemu/pnvram.c: Likewise.
5826 * efiemu/symbols.c: Likewise.
5827 * font/font.c: Likewise.
5828 * fs/cpio.c: Likewise.
5829 * fs/hfsplus.c: Likewise.
5830 * fs/iso9660.c: Likewise.
5831 * fs/jfs.c: Likewise.
5832 * fs/minix.c: Likewise.
5833 * fs/ntfs.c: Likewise.
5834 * fs/ntfscomp.c: Likewise.
5835 * fs/reiserfs.c: Likewise.
5836 * fs/ufs.c: Likewise.
5837 * fs/xfs.c: Likewise.
5838 * gettext/gettext.c: Likewise.
5839 * include/grub/auth.h: Likewise.
5840 * kern/elf.c: Likewise.
5841 * kern/file.c: Likewise.
5842 * kern/ieee1275/init.c: Likewise.
5843 * kern/ieee1275/mmap.c: Likewise.
5844 * kern/ieee1275/openfw.c: Likewise.
5845 * kern/powerpc/dl.c: Likewise.
5846 * kern/sparc64/dl.c: Likewise.
5847 * lib/arg.c: Likewise.
5848 * loader/i386/bsd.c: Likewise.
5849 * loader/i386/bsdXX.c: Likewise.
5850 * loader/i386/efi/linux.c: Likewise.
5851 * loader/i386/efi/xnu.c: Likewise.
5852 * loader/i386/ieee1275/linux.c: Likewise.
5853 * loader/i386/linux.c: Likewise.
5854 * loader/i386/multiboot.c: Likewise.
5855 * loader/i386/pc/linux.c: Likewise.
5856 * loader/i386/pc/multiboot2.c: Likewise.
5857 * loader/i386/xnu.c: Likewise.
5858 * loader/ieee1275/multiboot2.c: Likewise.
5859 * loader/macho.c: Likewise.
5860 * loader/machoXX.c: Likewise.
5861 * loader/multiboot2.c: Likewise.
5862 * loader/multiboot_loader.c: Likewise.
5863 * loader/powerpc/ieee1275/linux.c: Likewise.
5864 * loader/sparc64/ieee1275/linux.c: Likewise.
5865 * loader/xnu.c: Likewise.
5866 * loader/xnu_resume.c: Likewise.
5867 * mmap/i386/pc/mmap.c: Likewise.
5868 * normal/menu_viewer.c: Likewise.
5869 * partmap/acorn.c: Likewise.
5870 * partmap/amiga.c: Likewise.
5871 * partmap/apple.c: Likewise.
5872 * script/lexer.c: Likewise.
5873 * term/gfxterm.c: Likewise.
5874 * term/i386/pc/serial.c: Likewise.
5875 * term/i386/pc/vga.c: Likewise.
5876 * term/ieee1275/ofconsole.c: Likewise.
5877 * term/terminfo.c: Likewise.
5878 * video/bitmap.c: Likewise.
5879 * video/efi_gop.c: Likewise.
5880 * video/efi_uga.c: Likewise.
5881 * video/fb/video_fb.c: Likewise.
5882 * video/i386/pc/vbe.c: Likewise.
5883 * video/readers/tga.c: Likewise.
5884 * video/video.c: Likewise.
5885
5886 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
5887
5888 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
5889 * commands/lspci.c: Likewise.
5890 * commands/probe.c: Likewise.
5891 * commands/xnu_uuid.c: Likewise.
5892 * conf/i386-coreboot.rmk: Likewise.
5893 * conf/i386-efi.rmk: Likewise.
5894 * conf/i386-ieee1275.rmk: Likewise.
5895 * conf/i386-pc.rmk: Likewise.
5896 * conf/powerpc-ieee1275.rmk: Likewise.
5897 * conf/sparc64-ieee1275.rmk: Likewise.
5898 * conf/x86_64-efi.rmk: Likewise.
5899 * fs/i386/pc/pxe.c: Likewise.
5900 * gettext/gettext.c: Likewise.
5901 * include/grub/efi/graphics_output.h: Likewise.
5902 * include/grub/i386/pc/memory.h: Likewise.
5903 * kern/env.c: Likewise.
5904 * kern/i386/qemu/startup.S: Likewise.
5905 * lib/i386/pc/biosnum.c: Likewise.
5906 * lib/i386/relocator.c: Likewise.
5907 * lib/i386/relocator_asm.S: Likewise.
5908 * lib/relocator.c: Likewise.
5909 * loader/i386/bsd.c: Likewise.
5910 * loader/i386/multiboot.c: Likewise.
5911 * loader/i386/pc/chainloader.c: Likewise.
5912 * loader/i386/xnu.c: Likewise.
5913 * loader/xnu.c: Likewise.
5914 * normal/main.c: Likewise.
5915 * normal/menu_text.c: Likewise.
5916 * util/getroot.c: Likewise.
5917 * util/grub-mkconfig_lib.in: Likewise.
5918 * util/grub.d/00_header.in: Likewise.
5919 * util/i386/pc/grub-mkimage.c: Likewise.
5920 * util/mkisofs/eltorito.c: Likewise.
5921 * util/mkisofs/exclude.h: Likewise.
5922 * util/mkisofs/hash.c: Likewise.
5923 * util/mkisofs/iso9660.h: Likewise.
5924 * util/mkisofs/joliet.c: Likewise.
5925 * util/mkisofs/mkisofs.c: Likewise.
5926 * util/mkisofs/mkisofs.h: Likewise.
5927 * util/mkisofs/multi.c: Likewise.
5928 * util/mkisofs/name.c: Likewise.
5929 * util/mkisofs/rock.c: Likewise.
5930 * util/mkisofs/tree.c: Likewise.
5931 * util/mkisofs/write.c: Likewise.
5932 * video/efi_gop.c: Likewise.
5933
5934 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5935
5936 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
5937 size counting.
5938
5939 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5940
5941 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
5942 * genmk.rb (class SCRIPT): Modify the target file instead of source.
5943
5944 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
5947 (GRUB_MOD_INIT(memrw)): Update help line.
5948
5949 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
5952 Use grub_extcmd_t. All users updated.
5953 (options): New variable.
5954 (grub_cmd_read): Restructure for readability. Support "-v" option.
5955 (grub_cmd_write): Restructure for readability.
5956
5957 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5958
5959 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
5960
5961 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5962
5963 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
5964 with the actual contents of the correspondending make variable.
5965 * util/grub-mkrescue.in (pkglib_DATA): New variable.
5966 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
5967 specifying `*.lst' and `efiemu??.o'
5968
5969 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5970
5971 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
5972 after function name.
5973 Noticed by Rene Engelhard <rene@debian.org>.
5974
5975 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
5978 (options): New variable.
5979 (iospace): Likewise.
5980 (grub_lspci_iter): List IO spaces if "-i" was given.
5981 (grub_cmd_lspci): Parse options.
5982 (GRUB_MOD_INIT(lspci)): Use extcmd.
5983 (GRUB_MOD_FINI(lspci)): Likewise.
5984
5985 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5986
5987 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
5988 `function' keyword.
5989 Patch by Tony Mancill <tmancill@debian.org>.
5990
5991 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
5994 (grub_uhci_portstatus): Likewise.
5995 (grub_uhci_portstatus): Add necessary delay.
5996 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
5997
5998 2009-12-21 Carles Pina i Estany <carles@pina.cat>
5999
6000 * commands/acpi.c (options): Fix capitalizations and/or full stops.
6001 (GRUB_MOD_INIT): Likewise.
6002 * commands/boot.c (GRUB_MOD_INIT): Likewise.
6003 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
6004 * commands/echo.c (options): Fix capitalizations and/or full stops.
6005 * commands/efi/loadbios.c (enable_rom_area): Likewise.
6006 (enable_rom_area): Likewise.
6007 (GRUB_MOD_INIT): Likewise.
6008 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6009 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
6010 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6011 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
6012 * commands/hexdump.c (options): Likewise.
6013 * commands/i386/cpuid.c (options): Likewise.
6014 (GRUB_MOD_INIT): Likewise.
6015 * commands/i386/pc/drivemap.c (options): Likewise.
6016 (GRUB_MOD_INIT): Likewise.
6017 * commands/i386/pc/halt (options): Likewise.
6018 (GRUB_MOD_INIT): Likewise.
6019 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6020 * commands/i386/pc/pxecmd.c (options): Likewise.
6021 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
6022 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
6023 * commands/keystatus.c (options): Likewise.
6024 (GRUB_MOD_INIT): Likewise.
6025 * commands/loadenv.c (options): Likewise.
6026 * commands/ls.c (options): Likewise.
6027 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6028 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6029 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6030 * commands/parttool.c (helpmsg): Likewise.
6031 * commands/probe.c (options): Likewise.
6032 * commands/read.c (GRUB_MOD_INIT): Likewise.
6033 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
6034 * commands/search.c (options): Likewise.
6035 * commands/sleep.c (options): Likewise.
6036 * commands/test.c (GRUB_MOD_INIT): Likewise.
6037 * commands/true.c (GRUB_MOD_INIT): Likewise.
6038 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
6039 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
6040 * lib/arg.c (help_options): Likewise.
6041 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
6042 `$(XGETTEXT)'.
6043 * po/POTFILES: Add `commands/loadenv.c'.
6044
6045 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
6046
6047 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
6048 instead of specifying them explicit.
6049
6050 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6051
6052 * NEWS: Add grub-probe support for GNU/Hurd.
6053
6054 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6055
6056 * NEWS: gettext was added after 1.97.
6057
6058 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6059
6060 * util/mkisofs/msdos_partition.h: New file (based on
6061 include/grub/msdos_partition.h).
6062 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
6063 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
6064 (ld_options, main): Recognize --protective-msdos-label.
6065 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
6066 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
6067 (padblock_write): If `use_protective_msdos_label' is set, patch a
6068 protective DOS-style label in the output image.
6069
6070 * util/grub-mkrescue.in: Use --protective-msdos-label.
6071
6072 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6073
6074 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
6075 boot.
6076
6077 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6078
6079 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
6080 variables.
6081 (ld_options, main): Recognize `--embedded-boot'.
6082 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
6083 declarations.
6084 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
6085 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
6086 (padblock_write): Likewise. Rewrite to support embedded boot image.
6087
6088 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
6089 for BIOS-based disk boot instead of only ElTorito.
6090
6091 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6092
6093 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
6094 build (not needed for bootstrap).
6095
6096 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6097
6098 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
6099 from i386-pc build (not needed for bootstrap).
6100 Rewrite a pair of strings.
6101
6102 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6103
6104 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
6105
6106 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
6109
6110 2009-12-21 Andreas Born <futur.andy@googlemail.com>
6111
6112 * kern/env.c (grub_env_context_open): Mark exported variable for
6113 reexport.
6114
6115 2009-12-21 Andreas Born <futur.andy@googlemail.com>
6116
6117 * kern/env.c (grub_env_export): Create nonexistent variables before
6118 exporting.
6119
6120 2009-12-20 Carles Pina i Estany <carles@pina.cat>
6121
6122 * include/grub/auth.h: Include `<grub/i18n.h>'.
6123 (GRUB_GET_PASSWORD): Gettextizze string.
6124 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
6125 menu_text.c.
6126 (grub_utf8_to_ucs4_alloc): Fix indentation.
6127 (grub_print_ucs4): Likewise.
6128 (grub_getstringwidth): Likewise.
6129 (print_message_indented): New declaration.
6130 * normal/auth.c: Include `<grub/i18n.h>'.
6131 (grub_auth_check_authentication): Gettexttize string.
6132 * normal/cmdline.c: Include `<grub/i18n.h>'.
6133 (grub_cmdline_get): Gettextizze.
6134 * normal/color.c: Include `<grub/i18n.h>'.
6135 (grub_parse_color_name_pair): Gettexttize strings.
6136 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
6137 string (use `print_message_indented').
6138 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
6139 `include/grub/normal.h'.
6140 (print_message_indented): Renamed to ...
6141 (grub_print_message_indented): ... this. Remove `static' qualifer (now
6142 used in normal/main.c).
6143 (print_message): Use `grub_print_message_indented' instead of
6144 `print_message_indented'.
6145 (print_timeout): Likewise.
6146 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
6147 (grub_normal_print_device_info): Gettexttize strings.
6148 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
6149
6150 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6151
6152 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
6153 of arguments. Return number of tokens and not arguments. All users
6154 updated.
6155
6156 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6157
6158 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
6159 non-MSDOS paritions.
6160
6161 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * include/grub/types.h (UNUSED): Removed since it conflicts with
6164 NetBSD headers. All users changed to direct __attribute__ ((unused)).
6165 Reported by Grégoire Sutre.
6166
6167 2009-12-19 Carles Pina i Estany <carles@pina.cat>
6168
6169 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
6170 (grub_print_ucs4_alloc): Likewise.
6171 (grub_getstringwidth): Likewise.
6172 * normal/main.c (grub_normal_init_page): Gettextize version string.
6173 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
6174 (getstringwidth): Renamed to ...
6175 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
6176 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
6177 (grub_print_ucs4): Remove `static' qualifer (now used in
6178 normal/main.c).
6179 * po/POTFILES: Add normal/main.c.
6180
6181 2009-12-19 Carles Pina i Estany <carles@pina.cat>
6182
6183 * normal/menu_text.c (STANDARD_MARGIN): New macro.
6184 (print_message_indented): Add `margin_left' and `margin_right'
6185 parameters.
6186 (print_message): Update `print_message_indented' calls. Adds '\n' to the
6187 strings.
6188 (print_timeout): Use `print_message_indented' to print the message.
6189 Deletes `second_stage' parameter.
6190 (run_menu): Update `print_timeout' calls.
6191
6192 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 Fix console palette on OpenFirmware.
6195
6196 * term/ieee1275/ofconsole.c (MAX): Removed.
6197 (colors): Redone based on VGA palette.
6198 (grub_ofconsole_setcolor): Discard brightness bit since only 8
6199 colors are supported.
6200 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
6201
6202 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 Fix potential EfiEmu double prepare.
6205
6206 * efiemu/main.c (prepared): New variable
6207 (grub_efiemu_unload): Set prepare to '0'.
6208 (grub_efiemu_prepare): Return if already prepared. Set prepared.
6209
6210 set_virtual_address_map support.
6211
6212 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
6213 prototype.
6214 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
6215 prototype.
6216 (grub_efiemu_crc32): Likewise.
6217 (grub_efiemu_crc64): Likewise.
6218 (grub_efiemu_set_virtual_address_map): Likewise.
6219 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
6220 New definition.
6221 (grub_autoefi_set_virtual_address_map): Likewise.
6222 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
6223 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
6224 Restructure flow to accomodate it.
6225 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
6226 (grub_efiemu_crc): Recompute CRC32.
6227 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
6228 (efiemu_ptv_relocated): ... this. Made global. All users updated.
6229 * efiemu/symbols.c (relocated_handle): New variable.
6230 (grub_efiemu_free_syms): Free relocated_handle.
6231 (grub_efiemu_alloc_syms): Allocate relocated_handle.
6232 (grub_efiemu_write_sym_markers): New function.
6233 (grub_efiemu_set_virtual_address_map): Likewise.
6234
6235 Newer XNU parameters.
6236
6237 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
6238 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
6239 (grub_xnu_fill_devicetree): New prototype.
6240 (grub_xnu_heap_real_start): New variable.
6241 * loader/xnu.c (get_name_ptr): New function.
6242 (grub_xnu_load_driver): Fill namelen and name.
6243
6244 64-bit xnu support.
6245
6246 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
6247 and 'loader/macho64.c'.
6248 * conf/i386-pc.rmk: Likewise.
6249 * conf/x86_64-efi.rmk: Likewise.
6250 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
6251 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
6252 * include/grub/macho.h (grub_macho_segment64): New structure.
6253 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
6254 (grub_macho_size32): ... to this.
6255 (grub_macho32_get_entry_point): Renamed from ...
6256 (grub_macho_get_entry_point32): ... to this.
6257 (grub_macho_contains_macho64): New prototype.
6258 (grub_macho_size64): Likewise.
6259 (grub_macho_get_entry_point64): Likewise.
6260 (grub_macho32_load): Renamed from ...
6261 (grub_macho_load32): ... to this.
6262 (grub_macho32_filesize): Renamed from ...
6263 (grub_macho_filesize32): ... to this.
6264 (grub_macho32_readfile): Renamed from ...
6265 (grub_macho_readfile32): ... to this.
6266 (grub_macho_filesize64): New prototype.
6267 (grub_macho_readfile64): Likewise.
6268 (grub_macho_parse32): Likewise.
6269 (grub_macho_parse64): Likewise.
6270 * loader/macho.c: Split into ...
6271 * loader/machoXX.c: ... and this. Replace 32 with XX.
6272 * loader/macho32.c: New file.
6273 * loader/macho64.c: Likewise.
6274 * loader/xnu.c (grub_xnu_is_64bit): New variable.
6275 (grub_cmd_xnu_kernel): Make 32-bit only.
6276 (grub_cmd_xnu_kernel64): New function.
6277 (grub_xnu_load_driver): Support Mach-O 64.
6278 (grub_cmd_xnu_mkext): Likewise.
6279 * util/grub.d/30_os-prober.in (osx_entry): New function.
6280 Generate entries for 64-bit boot too.
6281
6282 Eliminate ad-hoc tree format in XNU and EfiEmu.
6283
6284 * efiemu/main.c (grub_efiemu_prepare): Update comment.
6285 * efiemu/pnvram.c: Rewritten to use environment variables.
6286 All users updated.
6287
6288 Inline utf16_to_utf8.
6289
6290 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
6291 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
6292 All users updated.
6293 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
6294
6295 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
6296 * commands/usbtest.c (grub_usb_get_string): ... move here.
6297 (usb_print_str): Fix error handling.
6298 * include/grub/usb.h (grub_usb_get_string): Remove.
6299
6300 UTF-8 to UTF-16 transformation.
6301
6302 * conf/common.rmk (pkglib_MODULES): Add charset.mod
6303 (charset_mod_SOURCES): New variable.
6304 (charset_mod_CFLAGS): Likewise.
6305 (charset_mod_LDFLAGS): Likewise.
6306 * include/grub/utf.h: New file.
6307 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
6308
6309 Support for device properties.
6310
6311 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
6312 (grub_xnu_devprop_device_header): Likewise.
6313 (grub_xnu_devprop_device_descriptor): Likewise.
6314 (grub_xnu_devprop_add_device): New prototype.
6315 (grub_xnu_devprop_remove_device): Likewise.
6316 (grub_xnu_devprop_remove_property): Likewise.
6317 (grub_xnu_devprop_add_property_utf8): Likewise.
6318 (grub_xnu_devprop_add_property_utf16): Likewise.
6319 (grub_cpu_xnu_init): Likewise.
6320 (grub_cpu_xnu_fini): Likewise.
6321 (grub_cpu_xnu_unload): Likewise.
6322 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
6323 (property_descriptor): Likewise.
6324 (devices): New variable.
6325 (grub_xnu_devprop_remove_property): New function.
6326 (grub_xnu_devprop_add_device): Likewise.
6327 (grub_xnu_devprop_remove_device): Likewise.
6328 (grub_xnu_devprop_add_property): Likewise.
6329 (grub_xnu_devprop_add_property_utf8): Likewise.
6330 (grub_xnu_devprop_add_property_utf16): Likewise.
6331 (hextoval): Likewise.
6332 (grub_cpu_xnu_fill_devprop): Likewise.
6333 (grub_cmd_devprop_load): Likewise.
6334 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
6335 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
6336 (cmd_devprop_load): New variable.
6337 (grub_cpu_xnu_init): New function.
6338 (grub_cpu_xnu_fini): Likewise.
6339 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
6340 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
6341 (grub_cmd_xnu_devtree): Likewise.
6342 (hextoval): New function.
6343 (unescape): Likewise.
6344 (grub_xnu_fill_devicetree): Likewise.
6345
6346 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
6347 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
6348
6349 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 Workaround for broken ATI VBE.
6352
6353 * video/i386/pc/vbe.c (last_set_mode): New variable.
6354 (grub_vbe_set_video_mode): Set 'last_set_mode'.
6355 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
6356 (grub_video_vbe_setup): Don't check for reserved flag.
6357
6358 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
6359
6360 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
6361 the `find' command.
6362
6363 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 UUID support for HFS.
6366
6367 * fs/hfs.c (grub_hfs_uuid): New function.
6368 (grub_hfs_fs): New value .uuid.
6369 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
6370
6371 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
6372
6373 Fix a segfault with parsing unknown long options.
6374
6375 * util/grub-mkrelpath.c (options): Zero terminate it.
6376
6377 2009-12-13 Carles Pina i Estany <carles@pina.cat>
6378
6379 * include/grub/misc.h (grub_puts): New declaration.
6380 (grub_puts_): Likewise.
6381 * kern/misc.c (grub_puts): New definition.
6382 (grub_puts_): Likewise.
6383
6384 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
6385
6386 * util/grub-probe.c (probe): Improve error message.
6387
6388 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
6389
6390 * loader/i386/multiboot_elfxx.c
6391 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
6392 initialization.
6393
6394 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 Relocator framework
6397
6398 * loader/i386/xnu_helper.S: Removed. All users updated.
6399 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
6400 (relocator_mod_SOURCES): New variable.
6401 (relocator_mod_CFLAGS): Likewise.
6402 (relocator_mod_LDFLAGS): Likewise.
6403 (relocator_mod_ASFLAGS): Likewise.
6404 * conf/x86_64.rmk: Likewise.
6405 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
6406 (grub_multiboot_payload_entry_offset): Likewise.
6407 (grub_multiboot_forward_relocator): Likewise.
6408 (grub_multiboot_forward_relocator_end): Likewise.
6409 (grub_multiboot_backward_relocator): Likewise.
6410 (grub_multiboot_backward_relocator_end): Likewise.
6411 (grub_multiboot_payload_eip): New variable.
6412 (grub_multiboot_payload_orig): Likewise.
6413 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
6414 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
6415 * include/grub/i386/memory.h
6416 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
6417 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
6418 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
6419 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
6420 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
6421 * include/grub/i386/relocator.h: New file.
6422 * include/grub/x86_64/relocator.h: Likewise.
6423 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
6424 (XNU_RELOCATOR): New macro.
6425 (grub_xnu_launcher_start): Remove.
6426 (grub_xnu_launcher_end): Likewise.
6427 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
6428 (grub_xnu_heap_real_start): Remove.
6429 (grub_xnu_heap_start): Change to void *. All users updated.
6430 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
6431 * lib/i386/relocator.c: New file.
6432 * lib/i386/relocator_asm.S: Likewise.
6433 * lib/i386/relocator_backward.S: Likewise.
6434 * lib/mips/relocator.c: Likewise.
6435 * lib/mips/relocator_asm.S: Likewise.
6436 * lib/relocator.c: Likewise.
6437 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
6438 (entry): Removed.
6439 (playground): Likewise.
6440 (grub_multiboot_payload_orig): New variable.
6441 (grub_multiboot_payload_dest): Likewise.
6442 (grub_multiboot_payload_size): Likewise.
6443 (grub_multiboot_payload_eip): Likewise.
6444 (grub_multiboot_payload_esp): Likewise.
6445 (grub_multiboot_boot): Use grub_relocator32_boot.
6446 (grub_multiboot_unload): Free relocators.
6447 (grub_multiboot): Setup stack. Use relocators.
6448 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
6449 (grub_multiboot_load_elfXX): Use relocators.
6450 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
6451 (grub_multiboot_payload_size): Likewise.
6452 (grub_multiboot_payload_dest): Likewise.
6453 (grub_multiboot_payload_entry_offset): Likewise.
6454 (grub_multiboot_forward_relocator): Likewise.
6455 (grub_multiboot_backward_relocator): Likewise.
6456 (grub_multiboot_real_boot): Likewise.
6457 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
6458 (grub_xnu_entry_point): Likewise.
6459 (grub_xnu_arg1): Likewise.
6460 (grub_xnu_stack): Likewise.
6461 (grub_xnu_launch): Removed.
6462 (grub_xnu_boot_resume): New function.
6463 (grub_xnu_boot): Use relocators.
6464 * loader/i386/xnu_helper.S: Removed.
6465 * loader/xnu.c (grub_xnu_heap_start): New variable.
6466 (grub_xnu_heap_size): Likewise.
6467 (grub_xnu_heap_malloc): Use relocators.
6468 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
6469
6470 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6471
6472 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
6473 anything.
6474
6475 2009-12-13 Carles Pina i Estany <carles@pina.cat>
6476
6477 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
6478 GRUB_ERR_NONE before calling grub_env_set.
6479
6480 2009-12-12 Robert Millan <rmh@aybabtu.com>
6481
6482 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
6483 * genmk.rb (video): New variable.
6484 (CLEANFILES, VIDEOFILES): Add #{video}.
6485 (#{video}): New target rule.
6486 * genvideolist.sh: New file.
6487 * Makefile.in (pkglib_DATA): Add video.lst.
6488 (video.lst): New target rule.
6489 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
6490 `video.lst'.
6491 * util/grub.d/30_os-prober.in: Replace `vbe' with
6492 ${GRUB_VIDEO_BACKEND}.
6493
6494 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
6495
6496 * THANKS: Add David Miller.
6497
6498 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6499
6500 libpciaccess support.
6501
6502 * Makefile.in (LIBPCIACCESS): New variable.
6503 (enable_grub_emu_pci): Likewise.
6504 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
6505 util/pci.c and commands/lspci.c.
6506 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
6507 * configure.ac (grub-emu-pci): New option.
6508 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
6509 (grub_pci_device_unmap_range): Likewise.
6510 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
6511 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
6512 (grub_pci_address_t) [!GRUB_UTIL]: New type.
6513 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
6514 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
6515 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
6516 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
6517 * include/grub/pciutils.h: New file.
6518 * util/pci.c: Likewise.
6519
6520 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
6521
6522 * util/misc.c: Don't include <errno.h> twice.
6523
6524 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
6525
6526 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
6527 name in an error message.
6528 (grub_biosdisk_rw): Likewise.
6529
6530 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 Eliminate NTFS 4Gib barrier.
6533
6534 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
6535 (read_run_data): Likewise.
6536 (grub_ntfs_read_run_list): Likewise.
6537 (grub_ntfs_read_block): Likewise.
6538 (grub_ntfs_iterate_dir): Likewise.
6539 (read_mft): Likewise.
6540 (read_data): Likewise.
6541 Use COM_LOG_LEN.
6542 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
6543 to avoid 64-bit division
6544 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
6545 (grub_ntfs_rlst): Use grub_disk_addr_t.
6546
6547 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 Eliminate grub-fstest 4Gib barrier.
6550
6551 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
6552 (read_file): Fix error reporting.
6553
6554 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 Eliminate hexdump 4Gib barrier.
6557
6558 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
6559 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
6560
6561 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
6564 Fixes amarsh bug.
6565
6566 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
6567
6568 Remove miscellaneous files in distclean target.
6569
6570 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
6571
6572 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
6573
6574 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
6575 if they're already set. This resolves the conflict between my
6576 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
6577 fixing the --grub-probe option again.
6578 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
6579 change on 2009-10-06, so that we now once again source
6580 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
6581
6582 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
6583
6584 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
6585 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
6586 `util/devicemap.c'.
6587
6588 2009-12-08 Carles Pina i Estany <carles@pina.cat>
6589
6590 * include/grub/misc.h (grub_printf_): New declaration.
6591 * kern/misc.c (grub_printf_): New definition.
6592 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
6593 instead of `grub_printf' and `_'.
6594 * normal/menu_entry.c (store_completion): Likewise.
6595 (run): Likewise.
6596 (grub_menu_entry_run): Likewise.
6597 * normal/menu_text.c (grub_wait_after_message): Likewise.
6598 (notify_booting): Likewise.
6599 (notify_fallback): Likewise.
6600 (notify_execution_failure): Likewise.
6601
6602 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
6603
6604 * configure.ac: Check for vasprintf.
6605 * util/misc.c (asprintf): Move allocation from here ...
6606 (vasprintf): ... to here. New function.
6607 (xasprintf): New function.
6608 * include/grub/util/misc.h (vasprintf, xasprintf): Add
6609 prototypes.
6610 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
6611 * util/grub-mkfont.c (write_font): Likewise.
6612 * util/grub-probe.c (probe): Likewise.
6613 * util/hostdisk.c (make_device_name): Likewise.
6614
6615 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
6616
6617 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
6618 anything even prefixed with 'cdrom' as a cdrom.
6619
6620 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
6621
6622 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
6623 mount points.
6624
6625 2009-12-05 Carles Pina i Estany <carles@pina.cat>
6626
6627 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
6628 grub_gettext_msg_list.
6629 (grub_gettext_gettranslation_from_position): Return const char *
6630 and not char *.
6631 (grub_gettext_translate): Add the translated strings into a list,
6632 returns from the list if existing there.
6633 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
6634 (grub_gettext_delete_list): Delete the list.
6635 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
6636 lang environment variable is changed.
6637 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
6638
6639 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 Rename kernel.mod to kernel.img.
6642
6643 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
6644 (kernel_mod_EXPORTS): Rename to ...
6645 (kernel_img_EXPORTS): ... this.
6646 (kernel_mod_SOURCES): Rename to ...
6647 (kernel_img_SOURCES): ... this.
6648 (kernel_mod_HEADERS): Rename to ...
6649 (kernel_img_HEADERS): ... this. All users updated.
6650 (kernel_mod_CFLAGS): Rename to ...
6651 (kernel_img_CFLAGS): ... this.
6652 (kernel_mod_ASFLAGS): Rename to ...
6653 (kernel_img_ASFLAGS): ... this.
6654 (kernel_mod_LDFLAGS): Rename to ...
6655 (kernel_img_LDFLAGS): ... this.
6656 * conf/x86_64-efi.rmk: Likewise.
6657 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
6658 (read_kernel_image): ... this. All users updated.
6659 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
6660
6661 2009-12-05 Carles Pina i Estany <carles@pina.cat>
6662
6663 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
6664 (print_spaces): New function.
6665 (grub_print_ucs4): New function.
6666 (getstringwidth): New function.
6667 (print_message_indented): New function.
6668 (print_message): Gettexttize strings using print_message_indented.
6669 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
6670 width.
6671 (get_entry_number): Gettextize and uses dynamic terminal width.
6672 (notify_booting, notify_fallback, notify_execution_failure):
6673 Gettextize.
6674 * normal/menu_entry.c (store_completion): Cleanup the gettextized
6675 string.
6676 (run): Likewise.
6677 (grub_menu_entry_run): Likewise.
6678 * PO/POTFILES: Add normal/menu_entry.c.
6679
6680 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
6683
6684 2009-12-05 Carles Pina i Estany <carles@pina.cat>
6685
6686 * util/grub-install.in: Install gettext .mo files.
6687 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
6688
6689 2009-12-05 Carles Pina i Estany <carles@pina.cat>
6690
6691 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
6692 grub_dprintf.
6693
6694 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
6695
6696 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
6697 non-firmware-dependant one in realmode.S takes precedence.
6698
6699 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
6700
6701 * commands/halt.c: Replace misc arch-specific headers with
6702 `<grub/misc.h>'.
6703 * commands/reboot.c: Likewise.
6704 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
6705 `<grub/misc.h>'.
6706 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
6707 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
6708 (kernel_img_SOURCES): ... to here.
6709
6710 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
6711 * include/grub/i386/pc/init.h: Likewise.
6712 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
6713 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
6714
6715 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
6716
6717 * include/grub/i386/halt.h: Remove.
6718 * include/grub/i386/reboot.h: Likewise.
6719
6720 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
6721
6722 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
6723
6724 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
6725 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
6726 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
6727 "progname.h"
6728 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
6729 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6730 (usage): Add missing comma in printf.
6731
6732 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
6733
6734 Use the same reboot approach on i386 coreboot and qemu as we do on
6735 BIOS.
6736
6737 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
6738 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
6739 * kern/i386/reboot.c: Remove.
6740 * include/grub/i386/reboot.h (grub_reboot): Export function.
6741 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
6742 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
6743 0xf000:0xfff0 instead of 0xffff:0x0000.
6744 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
6745 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
6746
6747 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
6748
6749 Fix $srcdir != $objdir build.
6750
6751 * Makefile.in (po/%.po): Rewrite as ...
6752 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
6753
6754 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
6755
6756 Fix GNU/Hurd grub-install crash.
6757 * util/grub-probe.c (probe): Try to access `path' only when it is not
6758 NULL.
6759
6760 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 Correct module naming.
6763
6764 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
6765 (GRUB_MOD_INIT(efi_uga)): ... to this
6766 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
6767 (GRUB_MOD_FINI(efi_uga)): ... to this
6768 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
6769 (GRUB_MOD_INIT(efi_gop)): ... to this
6770 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
6771 (GRUB_MOD_FINI(efi_gop)): ... to this
6772
6773 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
6774
6775 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
6776 translatable.
6777 (usage): Translate `arg' strings using gettext().
6778 Thanks to Jordi Mallach for the suggestion.
6779
6780 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 GOP support. Based on patch from Bean
6783 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
6784
6785 * video/efi_gop.c: New file.
6786 * include/grub/efi/graphics_output.h: Likewise.
6787 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
6788 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
6789 variables.
6790 * conf/x86_64-efi.rmk: Likewise.
6791
6792 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 Rename efi_fb to efi_uga.
6795
6796 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
6797 'efi_uga.mod'.
6798 (efi_fb_mod_SOURCES): Rename this ...
6799 (efi_uga_mod_SOURCES): ... to this.
6800 (efi_fb_mod_CFLAGS): Rename this ...
6801 (efi_uga_mod_CFLAGS): ... to this.
6802 (efi_fb_mod_LDFLAGS): Rename this ...
6803 (efi_uga_mod_LDFLAGS): ... to this.
6804 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
6805 'efi_uga.mod'.
6806 (efi_fb_mod_SOURCES): Rename this ...
6807 (efi_uga_mod_SOURCES): ... to this.
6808 (efi_fb_mod_CFLAGS): Rename this ...
6809 (efi_uga_mod_CFLAGS): ... to this.
6810 (efi_fb_mod_LDFLAGS): Rename this ...
6811 (efi_uga_mod_LDFLAGS): ... to this.
6812 * video/efi_fb.c: Move this ...
6813 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
6814
6815 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6816
6817 * po/README: New file. Explain our PO file workflow.
6818
6819 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6820
6821 * po/ChangeLog: Remove. Move relevant entries back to ...
6822 * ChangeLog: ... here.
6823 * po/ca.po: Remove (now handled by TLP).
6824 * po/id.po: Likewise.
6825 * po/zh_CN.po: Likewise.
6826 * Makefile.in (LINGUAS): Initialize in a way that supports
6827 empty set.
6828
6829 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6830
6831 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
6832 reliing on po/LINGUAS.
6833 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
6834 (po/%.po): ... this.
6835
6836 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6837
6838 * util/i386/efi/grub-mkimage.c: Include "progname.h".
6839 (main): Use `program_name' instead of nonexistent `progname'.
6840
6841 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6842
6843 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6844 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
6845
6846 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6847
6848 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
6849 commit.
6850 * conf/i386-efi.rmk: Likewise.
6851 * conf/i386-ieee1275.rmk: Likewise.
6852 * conf/powerpc-ieee1275.rmk: Likewise.
6853 * conf/sparc64-ieee1275.rmk: Likewise.
6854 * conf/x86_64-efi.rmk: Likewise.
6855
6856 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6857
6858 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
6859
6860 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6861
6862 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
6863
6864 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6865
6866 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
6867 (grub_mkdevicemap_SOURCES): New variable.
6868 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
6869 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
6870 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
6871 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
6872 (grub_mkdevicemap_SOURCES): Remove.
6873 * conf/i386-efi.rmk: Likewise.
6874 * conf/i386-ieee1275.rmk: Likewise.
6875 * conf/i386-pc.rmk: Likewise.
6876 * conf/powerpc-ieee1275.rmk: Likewise.
6877 * conf/sparc64-ieee1275.rmk: Likewise.
6878 * conf/x86_64-efi.rmk: Likewise.
6879 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
6880 (usage): Fix strings to use `program_name'.
6881 (main): Initialize gettext.
6882 * util/grub-editenv.c: Likewise.
6883 * util/grub-emu.c: Likewise.
6884 * util/grub-fstest.c: Likewise.
6885 * util/grub-mkdevicemap.c: Likewise.
6886 * util/grub-mkfont.c: Likewise.
6887 * util/grub-mkrelpath.c: Likewise.
6888 * util/grub-pe2elf.c: Likewise.
6889 * util/grub-probe.c: Likewise.
6890 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
6891 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
6892 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6893
6894 * util/misc.c: Include `"progname.h"'.
6895 (progname): Remove variable.
6896 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
6897
6898 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
6899
6900 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
6901 printf and print a newline after the menuentry header line.
6902 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6903
6904 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
6905
6906 autoconf >= 2.60 support $(localedir).
6907
6908 * INSTALL: Note that autoconf 2.60 is required.
6909 * configure.ac (AC_PREREQ): Bump to 2.60.
6910 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
6911 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
6912
6913 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
6914
6915 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
6916 aclocal is run.
6917
6918 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6919
6920 * normal/main.c (grub_normal_read_line): Fix off-by-one
6921 buffer overflow.
6922
6923 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6924
6925 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
6926 "parser.grub" in grub_command_execute() call.
6927
6928 2009-11-24 Carles Pina i Estany <carles@pina.cat>
6929
6930 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
6931 * conf/i386-efi.rmk: Likewise.
6932 * conf/i386-ieee1275.rmk: Likewise.
6933 * conf/i386-pc.rmk: Likewise.
6934 * conf/powerpc-ieee1275.rmk: Likewise.
6935 * conf/sparc64-ieee1275.rmk: Likewise.
6936 * conf/x86_64-efi.rmk: Likewise.
6937 * gettext/gettex.c: Include <grub/i18n.h>.
6938 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
6939 here ...
6940 * include/grub/i18n.h: ... to here
6941 * include/grub/i18n.h: ... to here.
6942 * kern/misc.c: Include <grub/i18n.h>
6943 (grub_gettext_dummy): Move above user.
6944
6945 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6946
6947 * util/Makefile.in (install-local): Convert a `for' into a normal
6948 shell expansion.
6949
6950 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
6951
6952 * autogen.sh: Add automake call.
6953 * config.guess: Remove.
6954 * config.sub: Likewise.
6955 * install-sh: Likewise.
6956
6957 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6958
6959 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
6960
6961 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6962
6963 * util/Makefile.in (install-local): Convert a make `$(foreach)'
6964 function to a normal shell `for'.
6965
6966 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6967
6968 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6969
6970 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6971
6972 * util/grub-mkrelpath.c: New file.
6973 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
6974 (grub_mkrelpath_SOURCES): New variable.
6975 * include/grub/util/misc.h: New function prototype.
6976 * util/misc.c (make_system_path_relative_to_its_root): New function.
6977
6978 * util/grub-mkconfig_lib.in (bindir): New variable.
6979 (grub_mkrelpath): Likewise.
6980 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
6981
6982 * util/probe.c (probe): Make the file path relative to its root.
6983 Change a info message to use the GRUB path. Enable again the
6984 check if we can read the file with GRUB facilities.
6985
6986 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
6987 to its root.
6988
6989 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6990
6991 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
6992 platform.
6993
6994 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6995
6996 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
6997 strncmp().
6998
6999 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7000
7001 * util/getroot.c (grub_util_is_dmraid): New function.
7002 (grub_util_get_dev_abstraction): Treat dmraid and multipath
7003 devices as normal ones, not as LVM.
7004
7005 2009-11-23 Carles Pina i Estany <carles@pina.cat>
7006
7007 * conf/common.rmk: Add grub-gettext_lib target and updates
7008 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
7009 LDFLAGS.
7010 * gettext/gettext.c: New file. (Reads mo files).
7011 * include/grub/file.h (grub_file_pread): New prototype.
7012 * include/grub/i18n.h (_): New prototype.
7013 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
7014 prototypes.
7015 * kern/misc.c (grub_gettext_dummy): New function.
7016 * normal/menu_text.c: Include <grub/i18n.h>.
7017 * normal/menu_text.c (print_timeout): Gettexttize string.
7018 * normal/menu_text.c (print_message): Gettexttize string.
7019 * po/POTFILES: Add `normal/menu_text.c'.
7020 * po/ca.po: Add new translations.
7021 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
7022 gettext module and defines locale_dir and lang in grub.cfg.
7023 * NEWS: Add gettext support.
7024
7025 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7026
7027 * util/hostdisk.c: Include `<grub/i18n.h>'.
7028 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
7029 (make_device_name): Rewrite using asprintf.
7030 (convert_system_partition_to_system_disk): Replace 0 with NULL.
7031 (find_system_device): If a device is not found, generate one just
7032 by reusing the OS path name.
7033 (read_device_map): Make it permissible for device.map not to exist.
7034
7035 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7036
7037 * script/sh/execute.c: Move from here ...
7038 * script/execute.c: ... to here. Update all users.
7039 * script/sh/function.c: Move from here ...
7040 * script/function.c: ... to here. Update all users.
7041 * script/sh/lexer.c: Move from here ...
7042 * script/lexer.c: ... to here. Update all users.
7043 * script/sh/main.c: Move from here ...
7044 * script/main.c: ... to here. Update all users.
7045 * script/sh/parser.y: Move from here ...
7046 * script/parser.y: ... to here. Update all users.
7047 * script/sh/script.c: Move from here ...
7048 * script/script.c: ... to here. Update all users.
7049
7050 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7051
7052 * configure.ac: Detect all `emu' platforms. Define
7053 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
7054 --enable-grub-emu logic. Disable include/grub/machine
7055 symlink on `emu' platforms.
7056
7057 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
7058 * gensymlist.sh.in: Likewise.
7059
7060 * include/grub/i386/coreboot/machine.h: Remove file.
7061 * include/grub/i386/efi/machine.h: Likewise.
7062 * include/grub/i386/ieee1275/machine.h: Likewise.
7063 * include/grub/i386/pc/machine.h: Likewise.
7064 * include/grub/i386/qemu/machine.h: Likewise.
7065 * include/grub/powerpc/ieee1275/machine.h: Likewise.
7066 * include/grub/sparc64/ieee1275/machine.h: Likewise.
7067 * include/grub/x86_64/efi/machine.h: Likewise.
7068
7069 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
7070 * commands/halt.c: Likewise.
7071 * commands/reboot.c: Likewise.
7072 * include/grub/autoefi.h: Likewise.
7073 * include/grub/i386/at_keyboard.h: Likewise.
7074 * include/grub/i386/kernel.h: Likewise.
7075 * include/grub/i386/loader.h: Likewise.
7076 * include/grub/i386/pc/memory.h: Likewise.
7077 * kern/dl.c: Likewise.
7078 * kern/i386/coreboot/init.c: Likewise.
7079 * loader/i386/bsd.c: Likewise.
7080 * loader/i386/linux.c: Likewise.
7081 * loader/multiboot_loader.c: Likewise.
7082 * term/i386/pc/serial.c: Likewise.
7083 * term/usb_keyboard.c: Likewise.
7084
7085 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
7086 `<grub/machine/machine.h>'
7087 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
7088 * util/misc.c: Remove `<grub/machine/machine.h>' and
7089 `<grub/machine/time.h>'.
7090
7091 * Makefile.in (enable_grub_emu): Remove variable.
7092 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
7093
7094 * conf/any-emu.rmk: New file.
7095 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
7096 (grub_emu_init.c): Move from here ...
7097 * conf/any-emu.rmk: ... to here.
7098
7099 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
7100 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
7101 * conf/any-emu.rmk: ... to here.
7102
7103 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7104
7105 * include/grub/parser.h (grub_parser_register): Document need
7106 of `name' parameter.
7107 * normal/main.c (grub_normal_read_line): Simplify prompt string.
7108 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
7109 "sh" to "grub".
7110
7111 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7112
7113 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
7114 `$(XGETTEXT)'.
7115 * include/grub/i18n.h (N_): New macro.
7116 * util/mkisofs/mkisofs.h: Likewise.
7117 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
7118 around N_().
7119 (usage): Use gettext() to translate help strings when printing them.
7120
7121 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7122
7123 Based on patch from Bean
7124 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
7125
7126 * video/efi_fb.c: New file.
7127 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
7128 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
7129 variables.
7130 * conf/x86_64-efi.rmk: Likewise.
7131
7132 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
7133
7134 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
7135 * util/i386/pc/grub-setup.c: Likewise.
7136
7137 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
7138
7139 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
7140 <hurd/fs.h>
7141 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
7142 file_get_storage_info to implement grub_guess_root_device.
7143
7144 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
7145
7146 * Makefile.in (target): Use make's builtin $(shell) function
7147 instead of calling directly $(SHELL) to create the locale directories,
7148 inside the $(foreach) function.
7149
7150 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
7151
7152 * util/grub-mkrescue.in: Print an error and usage if output option
7153 has not been given.
7154
7155 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
7156
7157 Patch from Loïc Minier <loic.minier@ubuntu.com>.
7158 * util/grub.d/30_os-prober.in: Cope with Linux entries where
7159 root and /boot are on different devices.
7160
7161 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7162
7163 Fix build for srcdir != objdir.
7164
7165 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
7166 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
7167 $(srcdir).
7168 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
7169 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
7170 reference for input.
7171
7172 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7173
7174 * util/grub-mkrescue.in: Use source directory direcly (without copiing
7175 or hardlinking it). Remove -J option, Joliet is not compatible with
7176 multiple source directories.
7177
7178 2009-11-21 Carles Pina i Estany <carles@pina.cat>
7179 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7180
7181 * util/grub-mkrescue.in: Recognize `--override-directory' option.
7182 (process_input_dir): New function. Process an arbitrary input
7183 directory.
7184 Misc adjustments to support both "override mode" and system-wide mode.
7185
7186 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
7187
7188 * configure.ac (UNIFONT_BDF): Rename to ...
7189 (FONT_SOURCE): ... this. Update all users.
7190
7191 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
7192
7193 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
7194 to the list of unifont files to look for.
7195
7196 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7197
7198 Patch from Joe Auricchio <jauricchio@gmail.com>
7199 * commands/minicmd.c (grub_mini_cmd_clear): New function.
7200 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
7201 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
7202
7203 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
7204
7205 * Makefile.in (install-local): Add a missing backslash.
7206
7207 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
7208
7209 * include/grub/x86_64/io.h: New file.
7210
7211 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7212
7213 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
7214 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
7215 Include `"progname.h"'.
7216 (main): Initialize gettext.
7217 * util/i386/pc/grub-setup.c: Gettexttize.
7218 * util/i386/pc/grub-mkimage.c: Likewise.
7219
7220 * Makefile.in (po/*.po): Redefine as ...
7221 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
7222
7223 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
7224
7225 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7226
7227 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
7228 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
7229 (program_name): Remove.
7230 (main): Initialize gettext support.
7231 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
7232 Include `<libintl.h>'.
7233 (_): New macro.
7234
7235 * util/mkisofs/eltorito.c: Gettexttize.
7236 * util/mkisofs/joliet.c: Likewise.
7237 * util/mkisofs/mkisofs.c: Likewise.
7238 * util/mkisofs/multi.c: Likewise.
7239 * util/mkisofs/rock.c: Likewise.
7240 * util/mkisofs/tree.c: Likewise.
7241 * util/mkisofs/write.c: Likewise.
7242
7243 * po/POTFILES: Update with new files.
7244
7245 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7246
7247 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
7248 * util/mkisofs/iso9660.h: Likewise.
7249 * util/mkisofs/joliet.c: Likewise.
7250 * util/mkisofs/mkisofs.c: Likewise.
7251 * util/mkisofs/mkisofs.h: Likewise.
7252 * util/mkisofs/rock.c: Likewise.
7253 * util/mkisofs/tree.c: Likewise.
7254 * util/mkisofs/write.c: Likewise.
7255
7256 * util/mkisofs/eltorito.c (rcsid): Remove.
7257 * util/mkisofs/hash.c: Likewise.
7258 * util/mkisofs/joliet.c: Likewise.
7259 * util/mkisofs/name.c: Likewise.
7260 * util/mkisofs/rock.c: Likewise.
7261 * util/mkisofs/tree.c: Likewise.
7262 * util/mkisofs/write.c: Likewise.
7263
7264 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7265
7266 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
7267 instead of static allocation.
7268 * util/mkisofs/match.h: Likewise.
7269
7270 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7271
7272 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
7273 and `util/grub.d/10_linux.in'.
7274 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
7275 translatable Shell files.
7276
7277 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7278
7279 * Makefile.in ($(srcdir)/aclocal.m4): New target.
7280
7281 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7282
7283 * INSTALL: Document Automake is needed for bootstrap.
7284 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
7285 * util/grub.d/10_kfreebsd.in (bindir): New variable.
7286 Add gettext initialization.
7287 (kfreebsd_entry): Make menuentry output translatable.
7288
7289 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7290
7291 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
7292 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
7293 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
7294 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
7295 (LINGUAS): Auto-generate using `po/LINGUAS'.
7296 * po/LINGUAS: New file.
7297
7298 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7299
7300 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
7301 other things).
7302 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
7303 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
7304 bindtextdomain() calls for gettext initialization.
7305
7306 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7307
7308 * gnulib/progname.c: New file (imported from Gnulib).
7309 * gnulib/progname.h: Likewise.
7310 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7311 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
7312 (usage): Replace `progname' with `program_name'.
7313 (main): Use set_program_name() for program name initialization.
7314
7315 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7316
7317 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
7318 from here ...
7319 * Makefile.in (CPPFLAGS): ... to here.
7320
7321 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7322
7323 * aclocal.m4: Move from here ...
7324 * acinclude.m4: ... to here.
7325 * autogen.sh: Add call to `aclocal'.
7326 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
7327
7328 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7329
7330 * Makefile.in (CLEANFILES): Add `po/*.mo'.
7331 (LINGUAS): New variable.
7332 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
7333 (install-local): Install MO files.
7334 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
7335 * include/grub/i18n.h: New file.
7336 * po/POTFILES: New file.
7337 * po/ca.po: New file.
7338 * util/grub.d/10_linux.in (bindir): New variable.
7339 Add gettext initialization.
7340 (linux_entry): Make menuentry output translatable.
7341 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
7342 (usage): Make --help output translatable.
7343 (main): Initialize gettext.
7344
7345 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7346
7347 * import_gcry.py: New file (written by Vladimir with minor
7348 adjustments).
7349 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
7350 ciphers.
7351 * INSTALL: Document that Python is required for bootstrap.
7352
7353 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7354
7355 Import ciphers from libgcrypt 1.4.4.
7356
7357 * lib/libgcrypt/cipher/ChangeLog
7358 * lib/libgcrypt/cipher/ac.c
7359 * lib/libgcrypt/cipher/arcfour.c
7360 * lib/libgcrypt/cipher/bithelp.h
7361 * lib/libgcrypt/cipher/blowfish.c
7362 * lib/libgcrypt/cipher/camellia-glue.c
7363 * lib/libgcrypt/cipher/camellia.c
7364 * lib/libgcrypt/cipher/camellia.h
7365 * lib/libgcrypt/cipher/cast5.c
7366 * lib/libgcrypt/cipher/cipher.c
7367 * lib/libgcrypt/cipher/crc.c
7368 * lib/libgcrypt/cipher/des.c
7369 * lib/libgcrypt/cipher/dsa.c
7370 * lib/libgcrypt/cipher/ecc.c
7371 * lib/libgcrypt/cipher/elgamal.c
7372 * lib/libgcrypt/cipher/hash-common.c
7373 * lib/libgcrypt/cipher/hash-common.h
7374 * lib/libgcrypt/cipher/hmac-tests.c
7375 * lib/libgcrypt/cipher/md.c
7376 * lib/libgcrypt/cipher/md4.c
7377 * lib/libgcrypt/cipher/md5.c
7378 * lib/libgcrypt/cipher/primegen.c
7379 * lib/libgcrypt/cipher/pubkey.c
7380 * lib/libgcrypt/cipher/rfc2268.c
7381 * lib/libgcrypt/cipher/rijndael-tables.h
7382 * lib/libgcrypt/cipher/rijndael.c
7383 * lib/libgcrypt/cipher/rmd.h
7384 * lib/libgcrypt/cipher/rmd160.c
7385 * lib/libgcrypt/cipher/rsa.c
7386 * lib/libgcrypt/cipher/seed.c
7387 * lib/libgcrypt/cipher/serpent.c
7388 * lib/libgcrypt/cipher/sha1.c
7389 * lib/libgcrypt/cipher/sha256.c
7390 * lib/libgcrypt/cipher/sha512.c
7391 * lib/libgcrypt/cipher/tiger.c
7392 * lib/libgcrypt/cipher/twofish.c
7393 * lib/libgcrypt/cipher/whirlpool.c
7394
7395 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7396
7397 Fix build for systems without error().
7398
7399 * gnulib/error.c: New file (imported from Gnulib).
7400 * gnulib/error.h: Likewise.
7401 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
7402 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
7403 (this variable is now used by error()).
7404
7405 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
7406
7407 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
7408 instead of relying that char is signed.
7409
7410 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7411
7412 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
7413 blocksize different from specified.
7414 (grub_pxefs_read): Likewise.
7415
7416 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
7417
7418 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
7419
7420 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
7421 (grub_ata_readwrite): Likewise. Update 2 format strings.
7422 (grub_atapi_read): Likewise.
7423
7424 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
7425 * conf/i386.rmk (pkglib_MODULES): ... to here ...
7426 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
7427 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
7428 (ata_mod_LDFLAGS): Move from here ...
7429 * conf/i386.rmk: ... to here ...
7430 * conf/x86_64-efi.rmk: ... and here.
7431 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
7432 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
7433
7434 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7435
7436 Relicense multiboot.h, with RMS' blessing.
7437
7438 * include/multiboot.h: Change to X11 license.
7439
7440 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
7441
7442 Support --version in grub-mkisofs.
7443
7444 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
7445 (OPTION_VERSION): New macro.
7446 (ld_options): Recognize --version.
7447 (usage): Move `program_name' from here ...
7448 (program_name): ... to here. Add `static' qualifier.
7449 (main): Recognize `OPTION_VERSION'.
7450
7451 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
7452
7453 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
7454 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
7455
7456 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
7457
7458 Fix help2man generation for mkisofs.
7459
7460 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
7461 (usage): Send output to stdout (rather than stderr).
7462
7463 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
7464
7465 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
7466 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
7467 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
7468 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
7469 (bin_SCRIPTS): Add `grub-mkfloppy'.
7470 (grub_mkfloppy_SOURCES): New variable.
7471
7472 * util/grub-mkrescue.in: New file.
7473 * util/i386/pc/grub-mkfloppy.in: New file.
7474
7475 * util/i386/coreboot/grub-mkrescue.in: Remove.
7476 * util/i386/pc/grub-mkrescue.in: Remove.
7477
7478 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7479
7480 * include/grub/multiboot.h (struct grub_multiboot_header): Move
7481 from here ...
7482 * include/multiboot.h (struct multiboot_header): ... to here. Update
7483 all users.
7484 * include/grub/multiboot.h (struct grub_multiboot_info): Move
7485 from here ...
7486 * include/multiboot.h (struct multiboot_info): ... to here. Update
7487 all users.
7488 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
7489 from here ...
7490 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
7491 Update all users.
7492 * include/grub/multiboot.h (struct grub_mod_list): Move
7493 from here ...
7494 * include/multiboot.h (struct multiboot_mod_list): ... to here.
7495 Update all users.
7496
7497 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7498
7499 * include/multiboot2.h (multiboot_word): Rename from this ...
7500 (multiboot2_word): ... to this. Update all users.
7501 (multiboot_header): Rename from this ...
7502 (multiboot2_header): ... to this. Update all users.
7503 (multiboot_tag_header): Rename from this ...
7504 (multiboot2_tag_header): ... to this. Update all users.
7505 (multiboot_tag_start): Rename from this ...
7506 (multiboot2_tag_start): ... to this. Update all users.
7507 (multiboot_tag_name): Rename from this ...
7508 (multiboot2_tag_name): ... to this. Update all users.
7509 (multiboot_tag_module): Rename from this ...
7510 (multiboot2_tag_module): ... to this. Update all users.
7511 (multiboot_tag_memory): Rename from this ...
7512 (multiboot2_tag_memory): ... to this. Update all users.
7513 (multiboot_tag_unused): Rename from this ...
7514 (multiboot2_tag_unused): ... to this. Update all users.
7515 (multiboot_tag_end): Rename from this ...
7516 (multiboot2_tag_end): ... to this. Update all users.
7517
7518 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7519
7520 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
7521 this platform we should support Multiboot1 first.
7522
7523 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
7524 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
7525 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
7526
7527 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
7528
7529 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
7530 of write calls (converting them to fwrite() if they aren't already).
7531 (get_torito_desc): Likewise.
7532 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
7533
7534 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
7535
7536 * util/i386/pc/grub-install.in: Move from here ...
7537 * util/grub-install.in: ... to here. Update all users.
7538
7539 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
7540
7541 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
7542
7543 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
7544
7545 Support for El Torito without floppy emulation.
7546
7547 * util/mkisofs/eltorito.c: Include `<errno.h>'.
7548 (init_boot_catalog): Improve error handling.
7549 (get_torito_desc): Don't use floppy emulation unless requested by
7550 user. Patch boot information table when requested via
7551 `-boot-info-table'.
7552 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
7553 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
7554 (use_boot_info_table): New variables.
7555 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
7556 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
7557 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
7558 `--eltorito-emul-floppy'.
7559 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
7560 and `OPTION_ELTORITO_EMUL_FLOPPY'.
7561 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
7562 (use_boot_info_table, get_731): New prototypes.
7563 * util/mkisofs/write.c (get_731): New function.
7564
7565 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
7566
7567 Fix the generation of the man page.
7568
7569 * util/pc/i386/grub-install.in: Source
7570 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7571
7572 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
7573
7574 Large file support for grub-mkisofs.
7575
7576 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
7577 * util/mkisofs/mkisofs.c (next_extent, last_extent)
7578 (session_start): Upgrade type to `uint64_t'. Update all users.
7579 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
7580 (struct directory_entry): Upgrade type of `starting_block' and
7581 `size' to `uint64_t'. Update all users.
7582 (struct deferred): Remove unused structure.
7583 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
7584 Update all users.
7585 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
7586 file is larger than `UINT32_MAX'.
7587 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
7588 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
7589 return value.
7590 (struct deferred_write): Upgrade type of `extent' and `size' to
7591 `uint64_t'. Update all users.
7592 (last_extent_written): Upgrade type to `uint64_t'. Update all
7593 users.
7594 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
7595 Update all users. Upgrade type of `remain' to `int64_t' and
7596 `use' to `size_t'. Use error() to handle fread() errors.
7597 (write_files): Rely on write_one_file() rather than calling
7598 xfwrite() directly.
7599
7600 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
7601
7602 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
7603
7604 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7605
7606 * util/mkisofs/fnmatch.c: Remove.
7607 * util/mkisofs/getopt1.c: Likewise.
7608 * util/mkisofs/getopt.c: Likewise.
7609 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
7610 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
7611 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
7612 `gnulib/getopt1.c' and `gnulib/getopt.c'.
7613 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
7614
7615 * configure.ac: Detect `mingw32msvc' host_os.
7616 Check for lstat(), getuid() and getgid().
7617
7618 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
7619 instances of `u_char' with `uint8_t'.
7620
7621 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
7622 [!HAVE_GETUID] (getuid): New function (stub).
7623 [!HAVE_GETGID] (getgid): Likewise.
7624 [!HAVE_LSTAT] (lstat): Likewise.
7625 [!S_IROTH] (S_IROTH): New macro (dummy).
7626 [!S_IRGRP] (S_IRGRP): Likewise.
7627
7628 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7629
7630 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
7631 conditional expression).
7632
7633 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7634
7635 Import from Gnulib.
7636
7637 * gnulib/fnmatch.c: New file.
7638 * gnulib/fnmatch.h: Likewise.
7639 * gnulib/fnmatch_loop.c: Likewise.
7640 * gnulib/getopt.c: Likewise.
7641 * gnulib/getopt.h: Likewise.
7642 * gnulib/getopt1.c: Likewise.
7643 * gnulib/getopt_int.h: Likewise.
7644 * gnulib/gettext.h: Likewise.
7645
7646 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7647
7648 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
7649 * normal/handler.c (read_handler_list): Likewise.
7650
7651 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7652
7653 Misc cleanup.
7654
7655 * kern/command.c (grub_register_command_prio): Use
7656 grub_zalloc() instead of explicitly zeroing data.
7657 * kern/list.c: Include `<grub/mm.h>'.
7658 (grub_named_list_find): Replace `0' with `NULL'.
7659 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
7660 (fs_module_list): Change type to `grub_named_list_t'. Update all
7661 users.
7662 * normal/dyncmd.c (read_command_list): Add space between function
7663 call and parenthesis.
7664 * normal/handler.c (read_handler_list): Likewise.
7665
7666 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7667
7668 * normal/auth.c (punishment_delay): Moved from here ...
7669 (grub_auth_strcmp): ... to here (inside function).
7670
7671 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7672
7673 * include/grub/list.h (struct grub_named_list): Remove `const'
7674 qualifier from `name'.
7675 (struct grub_prio_list): Likewise.
7676
7677 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7678
7679 * normal/auth.c: Include `<grub/time.h>'.
7680 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
7681
7682 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7683
7684 * normal/auth.c (punishment_delay): New variable.
7685 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
7686 (grub_auth_check_authentication): Punish failed login attempts with
7687 an incremental (2^N) delay.
7688
7689 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7690
7691 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
7692 path with $(srcdir).
7693
7694 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7695
7696 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
7697
7698 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7699
7700 * util/i386/coreboot/grub-mkrescue.in: New file.
7701 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
7702 variables.
7703
7704 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
7705 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
7706 * configure.ac: Add header and function checks to satisfy grub-mkisofs
7707 requirements.
7708 * util/mkisofs/defaults.h: New file.
7709 * util/mkisofs/eltorito.c: Likewise.
7710 * util/mkisofs/exclude.h: Likewise.
7711 * util/mkisofs/fnmatch.c: Likewise.
7712 * util/mkisofs/getopt.c: Likewise.
7713 * util/mkisofs/getopt1.c: Likewise.
7714 * util/mkisofs/hash.c: Likewise.
7715 * util/mkisofs/include/fctldefs.h: Likewise.
7716 * util/mkisofs/include/mconfig.h: Likewise.
7717 * util/mkisofs/include/prototyp.h: Likewise.
7718 * util/mkisofs/include/statdefs.h: Likewise.
7719 * util/mkisofs/iso9660.h: Likewise.
7720 * util/mkisofs/joliet.c: Likewise.
7721 * util/mkisofs/match.c: Likewise.
7722 * util/mkisofs/match.h: Likewise.
7723 * util/mkisofs/mkisofs.c: Likewise.
7724 * util/mkisofs/mkisofs.h: Likewise.
7725 * util/mkisofs/multi.c: Likewise.
7726 * util/mkisofs/name.c: Likewise.
7727 * util/mkisofs/rock.c: Likewise.
7728 * util/mkisofs/tree.c: Likewise.
7729 * util/mkisofs/write.c: Likewise.
7730
7731 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
7734 being insecure.
7735
7736 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7737
7738 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
7739 `grub-mkimage' (and use $0 when possible).
7740
7741 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7742
7743 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
7744 error message for excessively large memory map.
7745
7746 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7747
7748 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
7749 executable bit.
7750
7751 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7752
7753 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
7754 message for coreboot users.
7755
7756 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
7757
7758 Fix build with GNU gold.
7759
7760 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
7761 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
7762 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
7763 link addresses.
7764 * aclocal.m4: Likewise.
7765
7766 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
7767
7768 * configure.ac (AC_PREREQ): Bump to 2.59d.
7769 * INSTALL: Make it more clear when Autoconf and Ruby are
7770 needed and when to run `./autogen.sh'.
7771
7772 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
7773
7774 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
7775 OSes.
7776
7777 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7778
7779 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
7780
7781 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7782
7783 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
7784 giving it to GNU Mach.
7785
7786 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7787
7788 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
7789 GNU partition number to get internal GRUB partition number.
7790
7791 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7792
7793 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
7794 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
7795
7796 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
7797
7798 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
7799 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
7800 case.
7801
7802 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
7803
7804 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
7805
7806 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
7807
7808 Fix build problem.
7809
7810 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
7811 `-isystem=$(srcdir)/include'.
7812
7813 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
7814
7815 * util/i386/pc/grub-install.in: Remove hint that device.map should be
7816 checked (grub-install doesn't currently rely on it).
7817
7818 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
7819
7820 Revert SVN r2660.
7821
7822 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
7823 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7824 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
7825 * conf/i386-ieee1275.rmk: Likewise.
7826 * conf/i386-pc.rmk: Likewise.
7827 * conf/powerpc-ieee1275.rmk: Likewise.
7828 * conf/sparc64-ieee1275.rmk: Likewise.
7829 * conf/x86_64-efi.rmk: Likewise.
7830
7831 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7832
7833 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
7834
7835 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7836
7837 * include/grub/misc.h: Stop checking for APPLE_CC.
7838
7839 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7840
7841 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
7842 doesn't cause an infinite call loop.
7843
7844 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
7845
7846 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
7847 strings.
7848
7849 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7850
7851 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
7852 variable.
7853 * Makefile.in: Likewise.
7854
7855 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7856
7857 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
7858
7859 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7860
7861 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
7862
7863 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7864
7865 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
7866
7867 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7868
7869 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
7870 from here ...
7871 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
7872
7873 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7874
7875 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
7876 in $(MAKEINFO) invocation. This makes it clear in output that
7877 errors are being ignored.
7878
7879 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7880
7881 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
7882 from here ...
7883 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7884 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
7885 * conf/i386-ieee1275.rmk: Likewise.
7886 * conf/i386-pc.rmk: Likewise.
7887 * conf/powerpc-ieee1275.rmk: Likewise.
7888 * conf/sparc64-ieee1275.rmk: Likewise.
7889 * conf/x86_64-efi.rmk: Likewise.
7890
7891 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
7892
7893 * util/grub-editenv.c (main): If only a command is given, use
7894 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
7895 (usage): FILENAME is now optional and has a default.
7896
7897 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
7898
7899 Improve grub-mkconfig performance when there are several menu
7900 entries on a single filesystem.
7901
7902 * util/grub.d/10_linux.in (linux_entry): Cache the output of
7903 prepare_grub_to_access_device.
7904 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7905 * util/grub.d/30_os-prober.in: Likewise.
7906
7907 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7908
7909 * util/grub.d/10_freebsd.in: Remove.
7910 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
7911 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
7912
7913 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7914
7915 * docs/grub.cfg: Fix example usage of *BSD loaders.
7916
7917 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7918
7919 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
7920 grub_util_error() call.
7921
7922 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7923
7924 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
7925 `reserved_first_sector' member.
7926 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
7927 `reserved_first_sector' to 1.
7928 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
7929 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
7930 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
7931 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
7932 filesystems which begin at first sector.
7933 (options): New option --skip-fs-probe.
7934 (main): Handle --skip-fs-probe and pass it to setup().
7935
7936 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7937
7938 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
7939 (memset): Fix function prototype.
7940
7941 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7942 2009-10-25 Vasily Averin <vvs@parallels.com>
7943
7944 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
7945 `dirent.direntlen == 0'.
7946
7947 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7948
7949 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
7950 `cpio'.
7951 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
7952
7953 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7954
7955 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
7956 `__trampoline_setup' and `__ucmpdi2'.
7957 * include/grub/powerpc/libgcc.h: Only export symbols for functions
7958 that libgcc provides.
7959
7960 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7961
7962 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
7963 * include/grub/sparc64/libgcc.h (memset): Likewise.
7964 * include/grub/misc.h (memset, memcmp): New function prototypes.
7965
7966 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7967
7968 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
7969 `cpio'.
7970 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
7971
7972 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7973
7974 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
7975 * docs/grub.cfg: Compensate for recent change in multiboot
7976 loader (since 2009-08-14 it won't pass filename to payload).
7977 * util/grub.d/10_hurd.in: Likewise.
7978
7979 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
7980
7981 * config.guess: Update to latest version from config git
7982 repository.
7983 * config.sub: Likewise.
7984
7985 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
7986
7987 Fix build on sparc64.
7988
7989 * configure.ac: Perform checks for libgcc symbols before
7990 adding `-nostdlib' to LDFLAGS.
7991
7992 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7993
7994 Let user specify OpenBSD root device.
7995
7996 * loader/i386/bsd.c (openbsd_root): New variable.
7997 (openbsd_opts): New option 'root'.
7998 (OPENBSD_ROOT_ARG): New macro.
7999 (grub_openbsd_boot): Use 'openbsd_root'.
8000 (grub_cmd_openbsd): Fill 'openbsd_root'.
8001
8002 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8003
8004 * NEWS: Misc adjustments.
8005
8006 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
8009
8010 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8011
8012 * configure.ac: Bump version to 1.97.
8013
8014 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
8015
8016 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
8017 -mno-3dnow on x86 architectures. Some toolchains enable these
8018 features by default, but they rely on registers that aren't enabled
8019 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
8020
8021 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
8022
8023 Make entry text a bit more readable.
8024
8025 * util/grub.d/10_linux.in: Add `with' before `Linux'.
8026
8027 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8028
8029 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
8030
8031 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
8034 operations.
8035
8036 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * configure.ac: Add missing dollar.
8039
8040 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
8043
8044 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
8045 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
8046 exports.
8047 * include/grub/sparc64/libgcc.h: Likewise. Use
8048 preprocessor conditionals.
8049
8050 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
8051
8052 * conf/common.rmk (grub-dumpbios): Remove rule.
8053 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
8054 * util/grub-dumpbios.in: Remove file.
8055
8056 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
8057
8058 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
8059 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
8060
8061 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
8062 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
8063 users.
8064
8065 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
8066 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
8067 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
8068 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
8069 users.
8070
8071 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
8072
8073 * term/tparm.c: Switch to GPLv3.
8074
8075 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
8076
8077 * include/grub/i386/cpuid.h: Add header protection.
8078
8079 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
8080
8081 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
8082
8083 * include/grub/i386/cpuid.h: New file.
8084 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
8085 (has_longmode): Rename to ...
8086 (grub_cpuid_has_longmode): ... this. Update all users. Remove
8087 `static' attribute.
8088 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
8089 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
8090 on a CPU that doesn't implement AMD64 instruction set.
8091
8092 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
8093
8094 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
8095 that version.texi is rebuilt on version number changes.
8096
8097 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
8098
8099 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
8100 Fixes bug #27602.
8101
8102 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
8103
8104 * util/i386/pc/grub-install.in: Source
8105 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
8106 that the --grub-probe option will work.
8107 * util/sparc64/ieee1275/grub-install.in: Likewise.
8108
8109 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
8110
8111 * configure.ac: Bump version to 1.97~beta4.
8112
8113 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
8114
8115 Resync grub-mkdevicemap in x86_64-efi.
8116
8117 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
8118 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
8119 `util/devicemap.c'.
8120
8121 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
8122
8123 * util/grub-editenv.c (create_envblk_file): Write new block with a
8124 .new suffix and then rename it into place, to ensure atomic
8125 creation.
8126
8127 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
8128
8129 Do not automatically install headers.
8130
8131 * Makefile.in (include_DATA): Remove. Update all users.
8132
8133 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
8134
8135 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
8136 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
8137
8138 * util/osdetect.lua: Remove.
8139 * script/lua/lauxlib.c: Likewise.
8140 * script/lua/ldebug.c: Likewise.
8141 * script/lua/grub_main.c: Likewise.
8142 * script/lua/lauxlib.h: Likewise.
8143 * script/lua/ldebug.h: Likewise.
8144 * script/lua/ltablib.c: Likewise.
8145 * script/lua/liolib.c: Likewise.
8146 * script/lua/lstrlib.c: Likewise.
8147 * script/lua/lualib.h: Likewise.
8148 * script/lua/ldo.c: Likewise.
8149 * script/lua/ldump.c: Likewise.
8150 * script/lua/ldo.h: Likewise.
8151 * script/lua/loslib.c: Likewise.
8152 * script/lua/lundump.c: Likewise.
8153 * script/lua/grub_lib.c: Likewise.
8154 * script/lua/ldblib.c: Likewise.
8155 * script/lua/lundump.h: Likewise.
8156 * script/lua/lmem.c: Likewise.
8157 * script/lua/grub_lib.h: Likewise.
8158 * script/lua/lmathlib.c: Likewise.
8159 * script/lua/lstate.c: Likewise.
8160 * script/lua/ltm.c: Likewise.
8161 * script/lua/lvm.c: Likewise.
8162 * script/lua/lmem.h: Likewise.
8163 * script/lua/lstate.h: Likewise.
8164 * script/lua/ltm.h: Likewise.
8165 * script/lua/ltable.c: Likewise.
8166 * script/lua/lvm.h: Likewise.
8167 * script/lua/llex.c: Likewise.
8168 * script/lua/lgc.c: Likewise.
8169 * script/lua/grub_lua.h: Likewise.
8170 * script/lua/loadlib.c: Likewise.
8171 * script/lua/lfunc.c: Likewise.
8172 * script/lua/lopcodes.c: Likewise.
8173 * script/lua/lparser.c: Likewise.
8174 * script/lua/ltable.h: Likewise.
8175 * script/lua/llex.h: Likewise.
8176 * script/lua/lgc.h: Likewise.
8177 * script/lua/lfunc.h: Likewise.
8178 * script/lua/lbaselib.c: Likewise.
8179 * script/lua/lopcodes.h: Likewise.
8180 * script/lua/lparser.h: Likewise.
8181 * script/lua/lzio.c: Likewise.
8182 * script/lua/linit.c: Likewise.
8183 * script/lua/lobject.c: Likewise.
8184 * script/lua/llimits.h: Likewise.
8185 * script/lua/lstring.c: Likewise.
8186 * script/lua/lzio.h: Likewise.
8187 * script/lua/lapi.c: Likewise.
8188 * script/lua/lcode.c: Likewise.
8189 * script/lua/lua.h: Likewise.
8190 * script/lua/lobject.h: Likewise.
8191 * script/lua/lstring.h: Likewise.
8192 * script/lua/lapi.h: Likewise.
8193 * script/lua/lcode.h: Likewise.
8194 * script/lua/luaconf.h: Likewise.
8195
8196 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
8197
8198 * docs/grub.texi (Command-line and menu entry commands): Document
8199 date and echo commands.
8200
8201 2009-09-24 Pavel Roskin <proski@gnu.org>
8202
8203 * include/grub/kernel.h (struct grub_module_header): Remove
8204 `grub_module_header_types'. Make `type' unsigned. Make `size'
8205 32-bit on all platforms.
8206 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
8207 8-bit field. Use grub_host_to_target32() for `size'.
8208 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
8209 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
8210 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
8211
8212 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8213
8214 Fix "lost keypress" bug in at_keyboard.
8215
8216 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
8217 Checks for readyness of input buffer (without flushing it).
8218 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
8219 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
8220
8221 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8222
8223 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
8224 size check within GRUB_MACHINE_PCBIOS section.
8225
8226 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8227
8228 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
8229 return value.
8230 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
8231 KEYBOARD_ISREADY check.
8232 (grub_at_keyboard_checkkey): Rename to ...
8233 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
8234 Remove gratuitous cast.
8235
8236 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
8237
8238 * configure.ac: Call AC_PROG_MKDIR_P.
8239 * Makefile.in (docs/stamp-vti): Create docs directory. Create
8240 version.texi in $(builddir) rather than $(srcdir).
8241 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
8242 to makeinfo's @include search path.
8243
8244 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
8245
8246 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
8247
8248 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
8249
8250 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
8251 for `*.dpkg-new'.
8252
8253 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
8254
8255 Build info documentation. Some code borrowed from Automake.
8256
8257 * configure.ac: Check for makeinfo.
8258 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
8259 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
8260 docs/version.texi.
8261 (MOSTLYCLEANFILES): Add vti.tmp.
8262 (docs/version.texi, docs/stamp-vti): Update automatically.
8263 (docs/grub.info): Build info documentation. Use --force and ignore
8264 errors for now.
8265 (all-local): Add $(INFOS).
8266 (install-local): Install info files.
8267 (uninstall): Uninstall info files.
8268 * docs/version.texi: Remove from revision control. This file is
8269 automatically generated on build now.
8270 * gendistlist.sh: Add `*.info'.
8271
8272 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
8273
8274 * kern/term.c: Fix indentation.
8275
8276 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
8277
8278 * util/hostdisk.c: Fix a comment.
8279
8280 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
8281
8282 Fix regression introduced in r2539.
8283
8284 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
8285 to 0xA1.
8286
8287 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
8288
8289 * util/grub.d/30_os-prober.in: Don't throw away stderr from
8290 os-prober. Under normal operation, it does not print anything to
8291 stderr; if it does, we need to debug it, and throwing away stderr
8292 makes that excessively difficult.
8293
8294 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
8297
8298 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
8299
8300 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
8301 AC_LANG_PROGRAM from autoconf.
8302 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
8303 prototypes (fixes warning).
8304
8305 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
8306 `--disable-werror' was used.
8307
8308 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
8309
8310 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
8311 uninitialized `lastaddr'.
8312
8313 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
8316
8317 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
8318
8319 * commands/test.c (get_fileinfo): Return immediately if
8320 grub_fs_probe fails.
8321
8322 2009-09-14 José Martínez <xosemp@gmail.com>
8323
8324 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
8325
8326 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
8327
8328 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
8329 output.
8330
8331 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
8332
8333 * configure.ac: Remove --enable-grub-pe2elf. Only build
8334 grub-pe2elf when needed by the build system itself.
8335 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
8336
8337 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8338
8339 * configure.ac: Bump version to 1.97~beta3.
8340 * docs/version.texi: Likewise.
8341
8342 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8343
8344 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
8345 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
8346 from here ...
8347 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
8348 (grub_linux_setup_video): ... to here (with some adjustments).
8349
8350 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8351
8352 Fix memory corruption issue (spotted by Colin Watson).
8353
8354 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
8355 causing returned size to be stored in an incorrect memory location.
8356 Fix use of uninitialized value when storing the returned size.
8357
8358 2009-09-12 Yves Blusseau <blusseau@zetam.org>
8359
8360 Change clean rules to properly remove files
8361
8362 * genmk.rb: add new clean rules
8363 * Makefile.in (clean): add the new targets
8364 (mostlyclean): likewise
8365
8366 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
8367
8368 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
8369 to grub_uint64_t.
8370 * fs/ntfs.c (init_file): Understand 64-bit sizes for
8371 non-resident files.
8372
8373 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
8374
8375 * configure.ac: Don't look for help2man when cross-compiling. Fixes
8376 part of bug #27349.
8377
8378 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
8379
8380 * util/grub-mkconfig.in: Make the created config mode 400 and
8381 print a warning if it fails.
8382
8383 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
8384
8385 * util/grub.d/40_custom.in: Ask user to type custom entries below
8386 comment, rather than below 'exec tail' line.
8387
8388 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
8389
8390 * util/grub.d/40_custom.in: Make sure that the explanatory text is
8391 visible in grub.cfg.
8392
8393 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
8394
8395 * util/grub.d/40_custom.in: Make it a little clearer how to use this
8396 file.
8397
8398 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
8399
8400 * docs/grub.cfg: Add an example menu entry for memtest86+.
8401
8402 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
8403
8404 * config.guess: Update to latest version from config git.
8405 * config.sub: Likewise.
8406
8407 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
8408
8409 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
8410 unknown-command case. Fixes bug #27320.
8411
8412 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
8413
8414 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
8415 `help' if the command exists.
8416
8417 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
8418
8419 * INSTALL: Require GCC 4.1.3 or later.
8420
8421 2009-09-06 Yves Blusseau <blusseau@zetam.org>
8422
8423 * Makefile.in (RMKFILES): add i386-qemu.rmk
8424 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
8425 $(srcdir)/stamp-h.in
8426
8427 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
8428
8429 * util/grub-probe.c (probe): Comment out buggy codepath, which
8430 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
8431 should be re-enabled after 1.97.
8432
8433 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
8434
8435 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
8436 find searches for.
8437
8438 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
8441 unnecessary calls to grub_error.
8442
8443 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
8444
8445 * NEWS: Mention `keystatus' and Unicode fonts.
8446
8447 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
8448
8449 * configure.ac: Bump version to 1.97~beta2.
8450 * docs/version.texi: Likewise.
8451
8452 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
8453
8454 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
8455 containing unwind information in some cases where it previously did
8456 not. Use -fno-dwarf2-cfi-asm if available to restore the old
8457 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
8458 discussion.
8459
8460 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
8461
8462 Embedding loadenv module into grub-emu
8463
8464 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
8465 commands/loadenv.c
8466 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
8467 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
8468 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
8469 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
8470 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
8471 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
8472
8473 2009-09-03 Magnus Granberg <zorry@ume.nu>
8474
8475 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
8476 include -fPIE in the default specs.
8477 * configure.ac: Check if pie_possible is yes and add -fno-PIE
8478 to TARGET_CFLAGS.
8479
8480 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
8481
8482 * INSTALL: Note that GNU Bison 2.3 or later is required.
8483
8484 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
8485
8486 * kern/i386/pc/startup.S: Fix typo.
8487
8488 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8489
8490 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
8491 according to GCS.
8492
8493 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
8494
8495 * docs/grub.texi (Naming convention): Describe one-based partition
8496 numbering.
8497 (Device syntax): Likewise.
8498 (File name syntax): Likewise.
8499 (Block list syntax): Likewise.
8500 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
8501 menu.lst.
8502 (File name syntax): Likewise.
8503 (Command-line and menu entry commands): Document acpi, blocklist,
8504 crc, export, insmod, keystatus, ls, set, and unset commands.
8505
8506 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
8507
8508 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
8509 to avoid implying that only one of --shift, --ctrl, or --alt may be
8510 used.
8511
8512 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
8513
8514 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
8515 rather than comparing against S_IFREG, which will almost never work.
8516
8517 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
8520 (write_blocklists): Likewise.
8521
8522 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
8523
8524 * script/lua/grub_lua.h (fputs): Supply a format string as the first
8525 argument to grub_printf.
8526
8527 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
8528
8529 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
8530 non GNU test.
8531
8532 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * kern/file.c (grub_file_read): Spelling fix
8535
8536 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
8539 loading of headers in some cases.
8540
8541 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
8542
8543 * configure.ac: Bump version to 1.97~beta1.
8544 * docs/version.texi: Likewise.
8545
8546 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8547
8548 * include/grub/i386/xnu.h: Add license header.
8549 include grub/err.h explicitly.
8550
8551 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
8552
8553 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
8554 to `ufs' in the vfs.root.mountfrom kernel parameter.
8555
8556 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
8557
8558 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
8559
8560 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
8561 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
8562
8563 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
8564 `ARRAY_SIZE' macro.
8565
8566 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8567
8568 * kern/file.c (grub_file_read): Check offset.
8569 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
8570 * fs/jfs.c (grub_jfs_read_file): Likewise.
8571 * fs/ntfs.c (grub_ntfs_read): Likewise.
8572 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
8573 * fs/minix.c (grub_minix_read_file): Correct offset check.
8574 * fs/ufs.c (grub_ufs_read_file): Likewise.
8575
8576 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
8577
8578 * term/i386/pc/console.c (bios_data_area): Cast
8579 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
8580
8581 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 1-bit optimised blitters.
8584
8585 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
8586 prototype.
8587 (grub_video_fbblit_replace_24bit_1bit): Likewise.
8588 (grub_video_fbblit_replace_16bit_1bit): Likewise.
8589 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8590 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
8591 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
8592 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
8593 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
8594 function.
8595 (grub_video_fbblit_replace_24bit_1bit): Likewise.
8596 (grub_video_fbblit_replace_16bit_1bit): Likewise.
8597 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8598 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
8599 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
8600 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
8601 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
8602 when possible.
8603 * video/video.c (grub_video_get_blit_format): Return
8604 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
8605
8606 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
8607
8608 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
8609 the first argument to grub_printf.
8610
8611 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
8612 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
8613
8614 Add `getkeystatus' terminal method. Add a new `keystatus' command
8615 to query it.
8616
8617 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
8618 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
8619 modifier key bitmasks.
8620 (struct grub_term_input): Add `getkeystatus' member.
8621 (grub_getkeystatus): Add prototype.
8622 * kern/term.c (grub_getkeystatus): New function.
8623
8624 * include/grub/i386/pc/memory.h
8625 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
8626 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
8627 Data Area layout.
8628 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
8629 (grub_console_term_input): Set `getkeystatus' member.
8630 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
8631 constants.
8632 (grub_usb_keyboard_getreport): Likewise.
8633 (grub_usb_keyboard_checkkey): Likewise.
8634 (grub_usb_keyboard_getkeystatus): New function.
8635 (grub_usb_keyboard_term): Set `getkeystatus' member.
8636
8637 * commands/keystatus.c: New file.
8638 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
8639 (keystatus_mod_SOURCES): New variable.
8640 (keystatus_mod_CFLAGS): Likewise.
8641 (keystatus_mod_LDFLAGS): Likewise.
8642 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
8643 commands/keystatus.c.
8644 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8645 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8646 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8647 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8648 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8649 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8650
8651 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 Split befs.mod and afs.mod into *_be.mod and *.mod
8654
8655 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
8656 (grub_fstest_SOURCES): Likewise.
8657 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
8658 (afs_be_mod_SOURCES): New variable.
8659 (afs_be_mod_CFLAGS): Likewise.
8660 (afs_be_mod_LDFLAGS): Likewise.
8661 (befs_be_mod_SOURCES): Likewise.
8662 (befs_be_mod_CFLAGS): Likewise.
8663 (befs_be_mod_LDFLAGS): Likewise.
8664 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
8665 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8666 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8667 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8668 (grub_emu_SOURCES): Likewise.
8669 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8670 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8671 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8672 * fs/afs_be.c: New file.
8673 * fs/befs_be.c: New file.
8674 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
8675 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
8676 (U16): Replaced with ...
8677 (grub_afs_to_cpu16): ...this. All users updated.
8678 (U32): Replaced with ...
8679 (grub_afs_to_cpu32): ...this. All users updated.
8680 (U64): Replaced with ...
8681 (grub_afs_to_cpu64): ...this. All users updated.
8682 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
8683 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
8684 (grub_afs_validate_sblock): Check only one endianness.
8685 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
8686 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
8687 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
8688 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
8689 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
8690 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
8691 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
8692 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
8693
8694 2009-08-26 Bean <bean123ch@gmail.com>
8695
8696 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
8697 64-bit number.
8698 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
8699 (grub_xfs_inode_block): Change return type to grub_uint64_t.
8700 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
8701
8702 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 NetBSD memory map support.
8705
8706 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
8707 (grub_netbsd_btinfo_mmap_header): New structure.
8708 (grub_netbsd_btinfo_mmap_entry): Likewise.
8709 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
8710
8711 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 Enable bsd.mod on coreboot.
8714
8715 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
8716 (bsd_mod_SOURCES): New variable.
8717 (bsd_mod_CFLAGS): Likewise.
8718 (bsd_mod_LDFLAGS): Likewise.
8719 (bsd_mod_ASFLAGS): Likewise.
8720 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
8721 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
8722
8723 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 Cleanup NetBSD root support.
8726
8727 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
8728 grub_bsd_get_device.
8729 Fix typo.
8730
8731 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
8732
8733 * util/grub.d/00_header.in: Move check for the video backend of
8734 gfxterm from here ...
8735 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
8736 a suitable video backend.
8737
8738 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 Fix breakage in grub-setup.
8741
8742 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
8743 "msdos_partition_map".
8744
8745 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 Fix breakage in normal/auth.c.
8748
8749 * normal/auth.c (grub_iswordseparator): New function.
8750
8751 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 Authentication support.
8754
8755 * commands/password.c: New file.
8756 * conf/common.rmk (pkglib_MODULES): Add password.mod.
8757 (password_mod_SOURCES): New variable.
8758 (password_mod_CFLAGS): Likewise.
8759 (password_mod_LDFLAGS): Likewise.
8760 (normal_mod_SOURCES): Add normal/auth.c.
8761 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
8762 normal/auth.c.
8763 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8764 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8765 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8766 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8767 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8768 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8769 * include/grub/auth.h: New file.
8770 * include/grub/err.h (grub_err_t): New enum value
8771 GRUB_ERR_ACCESS_DENIED.
8772 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
8773 'users'.
8774 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
8775 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
8776 users updated.
8777 * normal/auth.c: New file.
8778 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
8779 (grub_cmdline_run): Don't allow to go to command line without
8780 authentication.
8781 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
8782 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
8783 menuentry without superuser rights.
8784 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
8785 user isn't a superuser.
8786
8787 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 Save space by inlining misc.c functions.
8790
8791 * kern/misc.c (grub_iswordseparator): Made static.
8792 * kern/misc.c (grub_strcat): Moved from here ...
8793 * include/grub/misc.h (grub_strcat): ... here. Inlined.
8794 * kern/misc.c (grub_strncat): Moved from here ...
8795 * include/grub/misc.h (grub_strncat): ... here. Inlined.
8796 * kern/misc.c (grub_strcasecmp): Moved from here ...
8797 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
8798 * kern/misc.c (grub_strncasecmp): Moved from here ...
8799 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
8800 * kern/misc.c (grub_isalpha): Moved from here ...
8801 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
8802 * kern/misc.c (grub_isdigit): Moved from here ...
8803 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
8804 * kern/misc.c (grub_isgraph): Moved from here ...
8805 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
8806 * kern/misc.c (grub_tolower): Moved from here ...
8807 * include/grub/misc.h (grub_tolower): ... here. Inlined.
8808
8809 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8810
8811 * script/sh/function.c (grub_script_function_find): Cut error message
8812 not to flood terminal.
8813 * script/sh/lexer.c (grub_script_yylex): Remove command line length
8814 limit.
8815 * script/sh/script.c (grub_script_arg_add): Duplicate string.
8816
8817 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
8818
8819 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
8820 `report' grub_uint8_t *.
8821 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
8822 Use a 50-millisecond timeout rather than just repeating
8823 grub_usb_keyboard_getreport 50 times.
8824 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
8825
8826 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 Rename *_partition_map to part_*
8829
8830 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
8831 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
8832 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
8833 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
8834 All users updated.
8835 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
8836 All users updated.
8837 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
8838 * util/grub-probe.c (probe_partmap): Don't transform partition name
8839 to get module name.
8840
8841 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8842
8843 Fix OpenBSD and NetBSD support.
8844
8845 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
8846 memory address conflict.
8847 (OPENBSD_MMAP_ACPI): New definition.
8848 (OPENBSD_MMAP_NVS): Likewise.
8849 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
8850 and OPENBSD_MMAP_NVS.
8851 Add memory map terminator
8852 Explicit cast when calling grub_unix_real_boot.
8853 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
8854
8855 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 Let user specify NetBSD root device.
8858
8859 * loader/i386/bsd.c (netbsd_root): New variable.
8860 (netbsd_opts): New option 'root'.
8861 (NETBSD_ROOT_ARG): New macro.
8862 (grub_netbsd_boot): Use 'netbsd_root'.
8863 (grub_bsd_unload): Free 'netbsd_root'.
8864 (grub_cmd_netbsd): Fill 'netbsd_root'.
8865
8866 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 Support for 64-bit NetBSD.
8869
8870 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
8871 point when booting non-FreeBSD.
8872
8873 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 Support --no-smp and --no-acpi for NetBSD.
8876
8877 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
8878 (NETBSD_AB_NOACPI): Likewise.
8879 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
8880 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
8881
8882 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
8885 errors.
8886 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
8887 errors. Call grub_error when needed.
8888
8889 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 * commands/search.c (search_fs): Try searching without autoload first.
8892 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8893 filesystem module explicitly for faster booting.
8894
8895 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
8896
8897 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
8898
8899 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
8900
8901 * util/grub.d/30_os-prober.in: Disable os-prober if
8902 `GRUB_DISABLE_OS_PROBER' was set to true.
8903
8904 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
8905
8906 * partmap/pc.c: Rename to ...
8907 * partmap/msdos.c: ... this. Update all users.
8908 (grub_pc_partition_map): Rename to ...
8909 (grub_msdos_partition_map): ... this. Update all users.
8910
8911 * parttool/pcpart.c: Rename to ...
8912 * parttool/msdospart.c: ... this. Update all users.
8913
8914 * include/grub/pc_partition.h: Rename to ...
8915 * include/grub/msdos_partition.h: ... this. Update all users.
8916 (grub_pc_partition_bsd_entry): Rename to ...
8917 (grub_msdos_partition_bsd_entry): ... this. Update all users.
8918 (grub_pc_partition_disk_label): Rename to ...
8919 (grub_msdos_partition_disk_label): ... this. Update all users.
8920 (grub_pc_partition_entry): Rename to ...
8921 (grub_msdos_partition_entry): ... this. Update all users.
8922 (grub_pc_partition_mbr): Rename to ...
8923 (grub_msdos_partition_mbr): ... this. Update all users.
8924 (grub_pc_partition): Rename to ...
8925 (grub_msdos_partition): ... this. Update all users.
8926 (grub_pc_partition_is_empty): Rename to ...
8927 (grub_msdos_partition_is_empty): ... this. Update all users.
8928 (grub_pc_partition_is_extended): Rename to ...
8929 (grub_msdos_partition_is_extended): ... this. Update all users.
8930 (grub_pc_partition_is_bsd): Rename to ...
8931 (grub_msdos_partition_is_bsd): ... this. Update all users.
8932
8933 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
8934 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
8935 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
8936 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
8937 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
8938 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
8939 (gpt_mod_LDFLAGS): Rename to ...
8940 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
8941 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
8942 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
8943 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
8944 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
8945 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
8946 (part_gpt_mod_LDFLAGS): ... this.
8947 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
8948 `pcpart.mod' to `msdospart.mod'.
8949 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
8950 to ...
8951 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
8952 (msdospart_mod_LDFLAGS): ... this.
8953
8954 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
8957 (openbsd_opts): Likewise.
8958 (netbsd_opts): Likewise.
8959 (freebsd_flags): Added 0 terminator.
8960 (openbsd_flags): Likewise.
8961 (netbsd_flags): Likewise.
8962 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
8963 (grub_cmd_freebsd): Transformed into extended command.
8964 (grub_cmd_openbsd): Likewise.
8965 (grub_cmd_netbsd): Likewise.
8966 (cmd_freebsd): Changed type to grub_extcmd_t.
8967 (cmd_openbsd): Likewise.
8968 (cmd_netbsd): Likewise.
8969 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
8970 grub_cmd_openbsd as extended commands.
8971 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
8972 cmd_netbsd and cmd_openbsd
8973
8974 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
8977
8978 2009-08-21 Pavel Roskin <proski@gnu.org>
8979
8980 * Makefile.in (install-local): When checking if a file is in the
8981 build directory, use "test -e" to detect symlinks.
8982
8983 * Makefile.in (install-local): Remove all files in
8984 $(DESTDIR)$(pkglibdir) before installing new files there.
8985
8986 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
8987
8988 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
8989 grub-mkelfimage.
8990
8991 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
8992
8993 * util/grub-mkconfig.in: Don't use gfxterm by default if not
8994 explicitly specified by the user.
8995
8996 2009-08-18 Pavel Roskin <proski@gnu.org>
8997
8998 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
8999 grub_uint8_t pointer for data.
9000 * include/grub/fbutil.h (struct grub_video_fbblit_info):
9001 Likewise.
9002 * video/fb/fbutil.c: Remove unnecessary casts.
9003
9004 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9005
9006 VBE cleanup.
9007
9008 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
9009 (grub_vbe_set_video_mode): Save active mode info
9010 only after setting the mode.
9011 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
9012 second argument.
9013
9014 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9015
9016 Rename variables for clarity.
9017
9018 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
9019 (active_vbe_mode_info): ... this. All users updated.
9020 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
9021 All users updated.
9022 (initial_mode): Rename to ...
9023 (initial_vbe_mode): ... this. All users updated.
9024 (mode_in_use): Rename to ..
9025 (vbe_mode_in_use): ... this. All users updated.
9026 (mode_list): Rename to ..
9027 (vbe_mode_list): ... this. All users updated.
9028 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
9029 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
9030 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
9031 'mode_list_size' to 'vbe_mode_list_size'.
9032 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
9033 'best_mode_info' to 'best_vbe_mode_info' and
9034 'best_mode' to 'best_vbe_mode'
9035
9036 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9037
9038 Remove duplicate grub_video_fb_get_video_ptr.
9039
9040 * include/grub/fbutil.h (get_data_ptr): Rename to ...
9041 (grub_video_fb_get_video_ptr): ... this.
9042 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
9043 * video/fb/fbutil.c: Add comment about addressing.
9044 (get_data_ptr): Rename to ...
9045 (grub_video_fb_get_video_ptr): ... this. All users updated.
9046 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
9047
9048 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
9049
9050 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
9051 grub_dprintf() that was just added.
9052
9053 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
9054
9055 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
9056 (DEFAULT_VIDEO_MODE): Remove macros.
9057 (grub_linux_boot): Remove assumption that Linux has FB support,
9058 and use "text" as default video mode.
9059
9060 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
9063 grub_dprintf.
9064 * fs/fat.c (grub_fat_read_data): Likewise.
9065
9066 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9067
9068 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
9069 payload.
9070 (grub_module): Likewise.
9071
9072 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9073
9074 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
9075 mbi->cmdline but free playground.
9076
9077 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9078
9079 Handle group offset on UFS1.
9080
9081 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
9082 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
9083
9084 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 Split ufs.mod into ufs1.mod and ufs2.mod.
9087
9088 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
9089 (grub_fstest_SOURCES): Likewise.
9090 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
9091 (ufs_mod_SOURCES): Remove.
9092 (ufs_mod_CFLAGS): Likewise.
9093 (ufs_mod_LDFLAGS): Likewise.
9094 (ufs1_mod_SOURCES): New variable.
9095 (ufs1_mod_CFLAGS): Likewise.
9096 (ufs1_mod_LDFLAGS): Likewise.
9097 (ufs2_mod_SOURCES): New variable.
9098 (ufs2_mod_CFLAGS): Likewise.
9099 (ufs2_mod_LDFLAGS): Likewise.
9100 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
9101 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
9102 Likewise.
9103 (grub_emu_SOURCES): Likewise.
9104 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9105 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9106 (grub_setup_SOURCES): Likewise.
9107 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9108 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
9109 (grub_setup_SOURCES): Likewise.
9110 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
9111 Likewise.
9112 * fs/ufs2.c: New file.
9113 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
9114
9115 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 Framebuffer split.
9118
9119 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
9120 subsystem at the end.
9121 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
9122 (video_fb_mod_SOURCES): New variable.
9123 (video_fb_mod_CFLAGS): Likewise.
9124 (video_fb_mod_LDFLAGS): Likewise.
9125 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
9126 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
9127 * video/i386/pc/vbeblit.c: Moved from here ...
9128 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
9129 * video/i386/pc/vbefill.c: Moved from here ...
9130 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
9131 * video/i386/pc/vbeutil.c: Moved from here ...
9132 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
9133 * include/grub/i386/pc/vbeblit.h: Moved from here ...
9134 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
9135 * include/grub/i386/pc/vbefill.h: Moved from here ...
9136 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
9137 * include/grub/i386/pc/vbeutil.h: Moved from here ...
9138 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
9139 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
9140 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
9141 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
9142 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
9143 (grub_video_adapter): Added 'get_info_and_fini'.
9144 (grub_video_get_info_and_fini): New prototype.
9145 (grub_video_set_mode): make modestring const char *.
9146 * loader/i386/linux.c (grub_linux_setup_video): Use
9147 grub_video_get_info_and_fini.
9148 (grub_linux_boot): Move modesetting just before booting.
9149 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
9150 grub_video_get_info_and_fini.
9151 * video/i386/pc/vbe.c: Moved framebuffer part ...
9152 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
9153 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
9154 grub_video_fbstd_colors and grub_video_fb_set_palette.
9155 (grub_video_vbe_init): Clear 'framebuffer' variable and use
9156 grub_video_fb_init.
9157 (grub_video_vbe_fini): Use grub_video_fb_fini.
9158 (grub_video_vbe_setup): Use framebuffer.render_target instead of
9159 render_target and use grub_video_fb_set_active_render_target and
9160 grub_video_fb_set_palette.
9161 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
9162 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
9163 (grub_video_vbe_adapter): Use framebuffer.
9164 * video/video.c (grub_video_get_info_and_fini): New function.
9165 (grub_video_set_mode): Make modestring const char *.
9166 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
9167 values are already initialised.
9168
9169 2009-08-14 Pavel Roskin <proski@gnu.org>
9170
9171 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
9172 ABS and APPLE_CC.
9173 * boot/i386/pc/diskboot.S: Likewise.
9174 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
9175 sectors allow compilation on MacOSX.
9176 * conf/i386-pc.rmk: Enable unconditional compilation of
9177 lnxboot.img.
9178
9179 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
9180
9181 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
9182 * util/grub.d/00_header.in: Enter interruptible sleep if
9183 GRUB_HIDDEN_TIMEOUT is set.
9184
9185 2009-08-13 Yves Blusseau <blusseau@zetam.org>
9186
9187 * include/grub/symbol.h: Add the LOCAL macro.
9188 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
9189 starting with "L_".
9190
9191 2009-08-13 Pavel Roskin <proski@gnu.org>
9192
9193 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
9194 any modern compilers we support.
9195
9196 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
9197 Use local labels starting with "L_" so that Apple assembler
9198 knows they are local.
9199
9200 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
9201
9202 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
9203 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
9204 (bsd_kernel_types): ... this enum.
9205
9206 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
9207 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
9208 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
9209
9210 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
9211 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
9212 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
9213 messages.
9214
9215 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
9216
9217 * util/grub-dumpdevtree: Moved from here ...
9218 * util/i386/efi/grub-dumpdevtree: ... to here.
9219 (hexify): New function. Converts a string to its hex version.
9220 Generate hex versions of "efi" and "device-properties" by calling
9221 hexify() on the ASCII strings rather than by hardcoding numbers.
9222
9223 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
9224
9225 * fs/jfs.c: Update copyright year.
9226
9227 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
9228
9229 * util/grub.d/00_header.in: Fix a comment.
9230 * util/grub.d/10_linux.in: Likewise.
9231 * util/grub.d/10_windows.in: Likewise.
9232 * util/grub.d/10_hurd.in: Likewise.
9233
9234 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
9235
9236 * util/grub-mkconfig.in: Allow the user to specify the used font
9237 with GRUB_FONT.
9238
9239 2009-08-08 Pavel Roskin <proski@gnu.org>
9240
9241 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
9242 available, xfs.mod needs it now.
9243
9244 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
9245 the "g" modifier in sed when the intention is to strip something
9246 once. This fixes comparison of kernels with multiple dashes.
9247
9248 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
9249 on it. Add missing space before closing bracket. Fix
9250 misleading formatting.
9251
9252 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9253
9254 * docs/grub.texi: Major overhaul. Remove all sections that are
9255 specific to GRUB Legacy, or mostly composed of Legacy-specific
9256 information.
9257
9258 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9259
9260 * docs/version.texi: New file. Provides version information for
9261 grub.texi.
9262
9263 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9264
9265 * docs/grub.texi: Update CVS information to SVN.
9266 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
9267
9268 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
9269
9270 * util/grub-mkconfig.in: Remove a wrong `fi'.
9271
9272 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
9273
9274 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
9275 (grub_jfs_uuid): New function.
9276 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
9277
9278 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
9279
9280 * util/grub-mkconfig_lib.in (font_path): Move the functionality
9281 of it to ...
9282 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
9283 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
9284
9285 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9286
9287 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
9288 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
9289 Update all users.
9290
9291 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
9292 not just "vmlinu[zx]".
9293 Moved from here ...
9294 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
9295 all users.
9296
9297 * util/grub.d/10_linux.in (find_latest): Moved from here ...
9298 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
9299 all users.
9300
9301 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9302
9303 * util/grub.d/10_freebsd.in: Use an absolute device path for
9304 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
9305
9306 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
9307
9308 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
9309 handling of multiple abstraction modules.
9310
9311 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
9312
9313 Fix a bug resulting in black screen when loading Linux using a
9314 packed video mode.
9315
9316 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
9317 function.
9318
9319 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
9320 (grub_vbe_bios_getset_dac_palette_width): New function.
9321 (grub_vbe_bios_get_dac_palette_width)
9322 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
9323 grub_vbe_bios_getset_dac_palette_width()).
9324
9325 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
9326 check for return status.
9327 (grub_vbe_get_video_mode_info): When getting information for a packed
9328 mode (<= 8 bpp), obtain DAC palette width using
9329 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
9330 {red,green,blue}_mark_size.
9331
9332 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
9333
9334 * commands/search.c (options): Fix help output to match actual code.
9335
9336 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
9337
9338 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
9339 of homegrown code.
9340
9341 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9342
9343 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
9344 on XFS or ReiserFS.
9345
9346 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9347
9348 Support Apple partition map with sector size different from 512 bytes.
9349
9350 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
9351 (apple_partition_map_iterate): Respect 'aheader.blocksize'
9352 and 'apart.partmap_size'.
9353
9354 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9355 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
9356
9357 Fix cpuid command.
9358
9359 * commands/i386/cpuid.c (options): New variable.
9360 (grub_cmd_cpuid): Return real error.
9361 (GRUB_MOD_INIT(cpuid)): Declare options.
9362
9363 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
9366 valid.
9367
9368 2009-07-31 Bean <bean123ch@gmail.com>
9369
9370 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
9371 log2_inode.
9372 (grub_fshelp_node): Move inode field to the end.
9373 (grub_xfs_data): Remove inode field.
9374 (grub_xfs_inode_block): Calculate inode size using sblock.
9375 (grub_xfs_inode_offset): Likewise.
9376 (grub_xfs_read_inode): Calculate inode size using sblock.
9377 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
9378 (grub_xfs_iterate_dir): Calculate inode size using sblock.
9379 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
9380 to match inode size.
9381 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
9382 not accessible when data is null.
9383 (grub_xfs_open): Likewise.
9384
9385 2009-07-31 Bean <bean123ch@gmail.com>
9386
9387 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
9388 Don't change pv->disk if it's already set.
9389
9390 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
9391 (grub_raid_register): ... here.
9392 (grub_raid_rescan): Removed.
9393
9394 * include/grub/raid.h (grub_raid_rescan): Removed.
9395
9396 * util/grub-fstest.c: Remove include file <grub/raid.h>.
9397 (fstest): Replace grub_raid_rescan with module fini function followed
9398 by init function.
9399
9400 * util/grub-probe.c: Add include file <grub/raid.h>.
9401 (probe_raid_level): New function.
9402 (probe): Detect abstraction by walking the disk device, support two
9403 level of abstraction (LVM on RAID) when detecting partition map.
9404
9405 2009-07-31 Pavel Roskin <proski@gnu.org>
9406
9407 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
9408 to grub_zalloc(), it was erroneous.
9409 Reported by Bean <bean123ch@gmail.com>
9410
9411 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
9414 embedding zone, not only the first one.
9415
9416 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
9417
9418 * term/gfxterm.c (clear_char): New function.
9419 (grub_virtual_screen_setup): Use clear_char.
9420 (scroll_up): Likewise.
9421 (grub_virtual_screen_cls): Likewise.
9422
9423 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
9424
9425 * util/deviceiter.c (get_acceleraid_disk_name): New static
9426 function.
9427 (grub_util_iterate_devices): Handle Accelraid devices.
9428 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
9429
9430 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
9431
9432 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
9433 separator for the suggested gfxpayload string (';' collides with the
9434 parser and needs escaping).
9435
9436 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
9439 Clear direction flag before jumping to OS.
9440 (grub_multiboot2_real_boot): Likewise.
9441
9442 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
9443
9444 * util/i386/pc/grub-install: Fix parsing of --disk-module
9445 option.
9446
9447 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
9448
9449 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
9450 when embedding.
9451
9452 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
9453
9454 * util/grub-mkconfig.in (package_version): New variable.
9455 Use it do display the version.
9456
9457 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
9458
9459 * kern/file.c (grub_file_open): Revert to previous check with
9460 grub_errno.
9461
9462 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
9465 from help line. It's out of sync with code.
9466
9467 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9468
9469 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
9470 entries on failed boot.
9471
9472 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
9473
9474 * kern/file.c (grub_file_open): Fix an error check.
9475
9476 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
9477
9478 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
9479 partition map couldn't be identified.
9480
9481 2009-07-23 Pavel Roskin <proski@gnu.org>
9482
9483 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
9484 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
9485 case of little endian words becomes just an optimization.
9486 Respect const modifier.
9487 (md5_final): Use code that doesn't depend on endianness.
9488
9489 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
9490 to avoid loss of upper bits if align is unsigned and shorter
9491 than addr.
9492
9493 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 UUID support for UFS
9496
9497 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
9498 (grub_ufs_uuid): New function.
9499 (grub_ufs_fs): add .uuid
9500
9501 2009-07-21 Pavel Roskin <proski@gnu.org>
9502
9503 * kern/dl.c (grub_dl_check_header): Make static.
9504
9505 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
9506
9507 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
9508 add drivemap for Vista. It breaks Windows 7.
9509
9510 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
9511
9512 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
9513 128 bytes
9514
9515 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 Add BFS support
9518
9519 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
9520 (grub_fstest_SOURCES): Likewise.
9521 (pkglib_MODULES): Add befs.mod.
9522 (befs_mod_SOURCES): New variable.
9523 (befs_mod_CFLAGS): Likewise.
9524 (befs_mod_LDFLAGS): Likewise.
9525 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9526 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9527 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9528 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9529 (grub_setup_SOURCES): Likewise.
9530 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9531 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9532 (grub_setup_SOURCES): Likewise.
9533 * fs/befs.c: New file.
9534 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
9535 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
9536 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
9537 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
9538 (B_KEY_INDEX_ALIGN): New declaration.
9539 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
9540 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
9541 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
9542 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
9543 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
9544 (grub_afs_mount) [MODE_BFS]: Likewise.
9545 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
9546 (grub_afs_fs): Use GRUB_AFS_FSNAME
9547 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
9548 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
9549 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
9550 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
9551
9552 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
9553
9554 * util/getroot.c (find_root_device): Add support for MacOSX.
9555 * util/hostdisk.c: Likewise.
9556
9557 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 * font/font.c (find_glyph): Check whether a font is present to avoid
9560 segmentation fault.
9561
9562 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
9563
9564 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
9565
9566 2009-07-20 Pavel Roskin <proski@gnu.org>
9567
9568 * configure.ac: Trim excessively wordy excuses.
9569
9570 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9571
9572 Add symlink, mtime and label support to AtheFS.
9573
9574 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
9575 (grub_afs_iterate_dir): Handle symlinks.
9576 (grub_afs_open): Use grub_afs_read_symlink.
9577 (grub_afs_dir): Likewise.
9578 Pass mtime.
9579 (grub_afs_label): New function.
9580 (grub_afs_fs): Add grub_afs_label.
9581 (grub_afs_read_symlink): New function.
9582
9583 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9584
9585 Fix AtheFS support.
9586
9587 * fs/afs.c: Fix comments style.
9588 (grub_afs_blockrun): Declare as packed.
9589 (grub_afs_datastream): Likewise.
9590 (grub_afs_bnode): Likewise.
9591 (grub_afs_btree): Likewise.
9592 (grub_afs_sblock): Likewise.
9593 Declare `name' as char.
9594 (grub_afs_inode): Declare as packed.
9595 Change void *vnode to grub_uint32_t unused.
9596 (grub_afs_iterate_dir): Check that key_size is positive.
9597 (grub_afs_mount): Don't read superblock twice.
9598 (grub_afs_dir): Don't free node in case of error,
9599 grub_fshelp_find_file already handles this.
9600 (grub_afs_open): Likewise.
9601
9602 2009-07-19 Pavel Roskin <proski@gnu.org>
9603
9604 * Makefile.in: Remove LIBLZO and enable_lzo.
9605 * conf/i386-pc.rmk: Remove lzo support.
9606 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
9607 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
9608 support.
9609 * kern/i386/pc/lzo1x.S: Remove.
9610 * kern/i386/pc/startup.S: Remove lzo support.
9611 * util/i386/pc/grub-mkimage.c: Likewise.
9612
9613 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
9616 * fs/xfs.c (grub_xfs_dir): Likewise.
9617 * fs/afs.c (grub_afs_dir): Likewise.
9618 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9619 (grub_iso9660_open): Likewise.
9620 * fs/jfs.c (grub_jfs_open): Likewise.
9621 * fs/ext2.c (grub_ext2_dir): Likewise.
9622 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
9623 * script/sh/lexer.c (grub_script_yylex): Likewise.
9624
9625 2009-07-16 Pavel Roskin <proski@gnu.org>
9626
9627 * configure.ac: Never add "-c" to CFLAGS.
9628
9629 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
9630
9631 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
9632 grub_cv_cc_efiemu should be used.
9633
9634 * configure.ac: Typo fixes.
9635
9636 * kern/mm.c (grub_zalloc): New function.
9637 (grub_debug_zalloc): Likewise.
9638 * include/grub/mm.h: Declare grub_zalloc() and
9639 grub_debug_zalloc().
9640 * util/misc.c (grub_zalloc): New function.
9641 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
9642 instead of grub_malloc(), remove unneeded initializations.
9643 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
9644 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
9645 * commands/parttool.c (grub_cmd_parttool): Likewise.
9646 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
9647 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
9648 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
9649 * disk/usbms.c (grub_usbms_finddevs): Likewise.
9650 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
9651 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
9652 (grub_cmd_efiemu_pnvram): Likewise.
9653 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
9654 * fs/iso9660.c (grub_iso9660_mount): Likewise.
9655 (grub_iso9660_iterate_dir): Likewise.
9656 * fs/jfs.c (grub_jfs_opendir): Likewise.
9657 * fs/ntfs.c (list_file): Likewise.
9658 (grub_ntfs_mount): Likewise.
9659 * kern/disk.c (grub_disk_open): Likewise.
9660 * kern/dl.c (grub_dl_load_core): Likewise.
9661 * kern/elf.c (grub_elf_file): Likewise.
9662 * kern/env.c (grub_env_context_open): Likewise.
9663 (grub_env_set): Likewise.
9664 (grub_env_set_data_slot): Likewise.
9665 * kern/file.c (grub_file_open): Likewise.
9666 * kern/fs.c (grub_fs_blocklist_open): Likewise.
9667 * loader/i386/multiboot.c (grub_module): Likewise.
9668 * loader/xnu.c (grub_xnu_create_key): Likewise.
9669 (grub_xnu_create_value): Likewise.
9670 * normal/main.c (grub_normal_add_menu_entry): Likewise.
9671 (read_config_file): Likewise.
9672 * normal/menu_entry.c (make_screen): Likewise.
9673 * partmap/sun.c (sun_partition_map_iterate): Likewise.
9674 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
9675 * script/sh/script.c (grub_script_parse): Likewise.
9676 * video/bitmap.c (grub_video_bitmap_create): Likewise.
9677 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
9678 * video/readers/png.c (grub_png_output_byte): Likewise.
9679 (grub_video_reader_png): Likewise.
9680
9681 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 Enable all targets that can be built by default
9684
9685 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
9686 grub-mkfont and grub-fstest if they can be built
9687
9688 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 Fix hang and segmentation fault in grub-emu-usb
9691
9692 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
9693 * util/usb.c (grub_libusb_devices): likewise
9694 (grub_libusb_init): rename to ...
9695 (GRUB_MOD_INIT (libusb)):...this
9696 (grub_libusb_fini): rename to ..
9697 (GRUB_MOD_FINI (libusb)):...this
9698 * disk/usbms.c (grub_usbms_transfer): fix retry logic
9699 * include/grub/disk.h (grub_raid_init): removed, it's useless
9700 (grub_raid_fini): likewise
9701 (grub_lvm_init): likewise
9702 (grub_lvm_fini): likewise
9703 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
9704 by grub_init_all
9705
9706 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9707
9708 Fix libusb
9709
9710 * Makefile.in (LIBUSB): new macro
9711 * genmk.rb (Utility/print_tail): new method
9712 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
9713 (top level): call util.print_tail at the end.
9714
9715 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 Make FreeBSD accept zpool.cache
9718
9719 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
9720 type is /boot/zfs/zpool.cache
9721
9722 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9723
9724 Fix 64-bit efiemu
9725
9726 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
9727 correct wrong typedef
9728 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
9729
9730 2009-07-15 Pavel Roskin <proski@gnu.org>
9731
9732 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
9733 * kern/disk.c (struct grub_disk_cache): Likewise.
9734
9735 * commands/probe.c (options): Typo fix.
9736
9737 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
9738 Increase to 0x5a to accommodate FAT32. Adjust other offsets
9739 accordingly.
9740 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
9741
9742 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
9743 the end of "Error" to make the message more readable.
9744
9745 * boot/i386/pc/boot.S (kernel_segment): Remove.
9746 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
9747 for destination.
9748
9749 * boot/i386/pc/boot.S (boot_version): Remove.
9750 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9751 Remove.
9752
9753 * include/grub/i386/pc/boot.h: Sort all offsets.
9754 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
9755 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
9756 * boot/i386/pc/boot.S: Assert location of every offset listed in
9757 include/grub/i386/pc/boot.h.
9758
9759 2009-07-13 Pavel Roskin <proski@gnu.org>
9760
9761 * include/grub/i386/coreboot/machine.h: Rename
9762 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
9763 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
9764 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
9765
9766 * kern/dl.c: Force native word size to suppress warnings when
9767 compiling grub-emu.
9768
9769 * kern/device.c (grub_device_iterate): Change struct part_ent to
9770 hold the name, not a pointer to it. Use one grub_malloc() per
9771 partition, not two. Free partition_name if grub_malloc() fails.
9772 Set ents to NULL only before grub_partition_iterate() is called.
9773
9774 2009-07-11 Bean <bean123ch@gmail.com>
9775
9776 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
9777 childname.
9778
9779 2009-07-10 Bean <bean123ch@gmail.com>
9780 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
9781
9782 * kern/ieee1275/openfw.c (grub_children_iterate)
9783 (grub_devalias_iterate): Fix size evaluation for property or path
9784 strings, which was broken since r2132.
9785
9786 2009-07-07 Pavel Roskin <proski@gnu.org>
9787
9788 * commands/search.c (search_file): Merge into ...
9789 (search_fs): ... this. Accept search type as argument.
9790 (grub_cmd_search): Pass search type to search_fs().
9791
9792 * include/grub/util/console.h: New file.
9793 * util/console.c: Use it instead of grub/machine/console.h.
9794 * util/grub-emu.c: Likewise.
9795
9796 * lib/arg.c (find_long_option): Remove.
9797 (find_long): Add `len' argument, make `s' const char *.
9798 (grub_arg_parse): Parse long options in place, not in a
9799 temporary buffer.
9800
9801 2009-07-06 Pavel Roskin <proski@gnu.org>
9802
9803 * commands/search.c (search_fs): Fix potential NULL pointer
9804 dereference.
9805
9806 * commands/search.c (search_fs): Replace QUID macro with quid_fn
9807 function pointer.
9808
9809 2009-07-06 Daniel Mierswa <impulze@impulze.org>
9810
9811 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
9812 comparison.
9813
9814 2009-07-05 Pavel Roskin <proski@gnu.org>
9815
9816 * include/grub/i386/linux.h (struct linux_kernel_params):
9817 Restore padding3, it's still needed.
9818
9819 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
9820 FreeBSD.
9821 * util/osdetect.lua: Likewise.
9822
9823 2009-07-05 Bean <bean123ch@gmail.com>
9824
9825 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
9826
9827 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
9828 (grub_lua_getenv): Likewise.
9829 (grub_lua_setenv): Likewise.
9830 (save_errno): New function.
9831 (push_result): Likewise.
9832 (grub_lua_enum_device): Likewise.
9833 (grub_lua_enum_file): Likewise.
9834 (grub_lua_file_open): Likewise.
9835 (grub_lua_file_close): Likewise.
9836 (grub_lua_file_seek): Likewise.
9837 (grub_lua_file_read): Likewise.
9838 (grub_lua_file_getline): Likewise.
9839 (grub_lua_file_getsize): Likewise.
9840 (grub_lua_file_getpos): Likewise.
9841 (grub_lua_file_eof): Likewise.
9842 (grub_lua_file_exist): Likewise.
9843 (grub_lua_add_menu): Likewise.
9844
9845 * script/lua/grub_lua.h (isupper): New inline function.
9846 (islower): Likewise.
9847 (ispunct): Likewise.
9848 (isxdigit): Likewise.
9849 (strcspn): Change to normal function.
9850 (strpbkr): New function declaration.
9851 (memchr): Likewise.
9852
9853 * script/lua/grub_main.c (scan_str): New function.
9854 (strcspn): Likewise.
9855 (strpbrk): Likewise.
9856 (memchr): Likewise.
9857
9858 * script/lua/linit.c (lualibs): Enable the string library.
9859
9860 * util/osdetect.lua: New file.
9861
9862 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
9863
9864 * include/grub/i386/linux.h (struct linux_kernel_params): Add
9865 `capabilities' member.
9866
9867 2009-07-02 Pavel Roskin <proski@gnu.org>
9868
9869 * genparttoollist.sh: Add missing newline at the end.
9870
9871 2009-07-01 Pavel Roskin <proski@gnu.org>
9872
9873 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
9874
9875 * util/hostdisk.c (open_device): Remove `const' from
9876 `sysctl_size', as sysctlbyname() can change it (in this case it
9877 doesn't actually happen).
9878
9879 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
9880 using signed long int constants.
9881
9882 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
9883 constant to avoid a warning on FreeBSD.
9884
9885 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
9886 where it's needed.
9887
9888 * Makefile.in: Install include/grub/machine symlink.
9889
9890 * Makefile.in: When installing symlinks, use "cp -fR", which
9891 works on FreeBSD and MacOSX.
9892 From Yves Blusseau <cl7m42e02@sneakemail.com>
9893
9894 * kern/dl.c (grub_dl_resolve_symbol): Make static.
9895 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
9896
9897 * util/misc.c: Move grub_reboot() and grub_halt() ...
9898 * util/grub-emu.c: ... here. Make main_env static.
9899 * include/grub/util/misc.h: Remove main_env.
9900
9901 * kern/mm.c: Use correct format to print size_t.
9902
9903 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
9904 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
9905 * kern/powerpc/dl.c: Likewise.
9906 * kern/sparc64/dl.c: Likewise.
9907 * kern/x86_64/dl.c: Likewise.
9908
9909 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9910
9911 Fix grub-emu build on sparc64-ieee1275.
9912
9913 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
9914 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
9915
9916 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9917
9918 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
9919 (grub_reboot, grub_halt): New functions.
9920
9921 * util/i386/pc/misc.c: Delete. Update all users.
9922 * util/sparc64/ieee1275/misc.c: Likewise.
9923 * util/powerpc/ieee1275/misc.c: Likewise.
9924
9925 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9926
9927 * conf/i386.rmk (setjmp_mod_SOURCES)
9928 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
9929 * conf/common.rmk (setjmp_mod_SOURCES)
9930 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
9931 to use $(target_cpu).
9932 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
9933 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
9934 * conf/powerpc-ieee1275.rmk: Likewise.
9935 * conf/sparc64-ieee1275.rmk: Likewise.
9936
9937 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
9938 $(target_cpu) for kern/$(target_cpu)/dl.c.
9939 * conf/i386-efi.rmk: Likewise.
9940 * conf/i386-ieee1275.rmk: Likewise.
9941 * conf/x86_64-efi.rmk: Likewise.
9942 * conf/i386-coreboot.rmk: Likewise.
9943 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
9944 $(target_cpu) for kern/$(target_cpu)/dl.c and for
9945 kern/$(target_cpu)/cache.S.
9946 * conf/sparc64-ieee1275.rmk: Likewise.
9947
9948 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9949
9950 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
9951 type to `grub_uint8_t', and adjust `padding9' accordingly.
9952
9953 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9954
9955 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
9956
9957 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
9958 assembly in final jump, using register constraints.
9959
9960 (grub_linux_boot): For text mode, initialize `have_vga' using
9961 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
9962
9963 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
9964 right before the final jump.
9965
9966 Set `video_mode' to 0x3.
9967
9968 Document initialization of `video_page', `video_mode' and
9969 `video_ega_bx'.
9970
9971 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9972
9973 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
9974 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
9975 and set GRUB_LINUX_FLAG_QUIET appropriately.
9976
9977 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9978
9979 Fix build on Debian / sparc.
9980
9981 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
9982
9983 2009-06-28 Pavel Roskin <proski@gnu.org>
9984
9985 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
9986 fix a warning.
9987
9988 * util/grub.d/10_linux.in: Match SUSE style initrd names.
9989
9990 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9991
9992 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
9993 `err'.
9994
9995 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9996
9997 Revert r2338.
9998
9999 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
10000 file can't be opened. grub_file_open() is already supposed to set
10001 grub_errno / grub_errmsg appropriately.
10002 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10003
10004 2009-06-27 Pavel Roskin <proski@gnu.org>
10005 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10006
10007 * include/grub/dl.h: Include grub/elf.h.
10008 (struct grub_dl): Add symtab field.
10009 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
10010 GRUB_MODULES_MACHINE_READONLY.
10011 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
10012 of the header for read-only modules.
10013 (grub_dl_unload): Free mod->symtab for read-only modules.
10014 * kern/i386/dl.c: Use mod->symtab.
10015 * kern/powerpc/dl.c: Likewise.
10016 * kern/sparc64/dl.c: Likewise.
10017 * kern/x86_64/dl.c: Likewise.
10018
10019 * conf/i386-qemu.rmk: New file.
10020 * kern/i386/qemu/startup.S: Likewise.
10021 * kern/i386/qemu/mmap.c: Likewise.
10022 * boot/i386/qemu/boot.S: Likewise.
10023 * include/grub/i386/qemu/time.h: Likewise.
10024 * include/grub/i386/qemu/serial.h: Likewise.
10025 * include/grub/i386/qemu/kernel.h: Likewise.
10026 * include/grub/i386/qemu/console.h: Likewise.
10027 * include/grub/i386/qemu/boot.h: Likewise.
10028 * include/grub/i386/qemu/init.h: Likewise.
10029 * include/grub/i386/qemu/machine.h: Likewise.
10030 * include/grub/i386/qemu/loader.h: Likewise.
10031 * include/grub/i386/qemu/memory.h: Likewise.
10032
10033 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
10034 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
10035 [qemu] (pkglib_IMAGES): Add `boot.img'.
10036 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
10037 [qemu] (boot_img_FORMAT): New variables.
10038 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
10039 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
10040 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
10041 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10042 [qemu] (kernel_img_FORMAT): New variables.
10043
10044 * configure.ac: Recognise `i386-qemu'.
10045
10046 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
10047 (for no compression).
10048 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
10049 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
10050 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
10051 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
10052 ifdefs).
10053
10054 2009-06-27 Pavel Roskin <proski@gnu.org>
10055
10056 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
10057 read.
10058 * efiemu/prepare32.c: Likewise.
10059 * efiemu/prepare64.c: Likewise.
10060
10061 2009-06-26 Pavel Roskin <proski@gnu.org>
10062
10063 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
10064 * include/grub/elf.h: Define symbols without "32" or "64" based
10065 on GRUB_TARGET_WORDSIZE.
10066 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
10067 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
10068 ELF definitions.
10069 * efiemu/loadcore64.c: Likewise.
10070 * loader/i386/bsd32.c: Likewise.
10071 * loader/i386/bsd64.c: Likewise.
10072 * kern/dl.c: Remove own ELF definitions.
10073 * util/i386/efi/grub-mkimage.c: Likewise.
10074
10075 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
10076
10077 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
10078 segment 0x0 unconditionally, because the reference generated by
10079 GAS is an absolute address.
10080
10081 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10082
10083 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
10084 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
10085
10086 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10087
10088 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
10089 indexes. Check for -f explicitly.
10090 (search_file): Improve error message.
10091 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
10092
10093 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10094
10095 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
10096 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
10097
10098 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10099
10100 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
10101 * conf/i386-ieee1275.rmk: Likewise.
10102 * conf/i386-coreboot.rmk: Likewise.
10103
10104 * kern/i386/pc/startup.S (grub_stop): Remove function.
10105 * kern/i386/ieee1275/startup.S: Likewise.
10106 * kern/i386/coreboot/startup.S: Likewise.
10107 * kern/i386/misc.S (grub_stop): New function.
10108
10109 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10110
10111 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
10112 * kern/i386/realmode.S (real_to_prot): ... to here.
10113
10114 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10115
10116 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
10117 with `kernel.img'.
10118 (kernel_elf_SOURCES): Rename to ...
10119 (kernel_img_SOURCES): ... this.
10120 (kernel_elf_HEADERS): Rename to ...
10121 (kernel_img_HEADERS): ... this. Update all users.
10122 (kernel_elf_ASFLAGS): Rename to ...
10123 (kernel_img_ASFLAGS): ... this.
10124 (kernel_elf_CFLAGS): Rename to ...
10125 (kernel_img_CFLAGS): ... this.
10126 (kernel_elf_LDFLAGS): Rename to ...
10127 (kernel_img_LDFLAGS): ... this.
10128 * conf/i386-coreboot.rmk: Likewise.
10129 * conf/powerpc-ieee1275.rmk: Likewise.
10130
10131 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
10132 with "kernel.img".
10133
10134 2009-06-21 Pavel Roskin <proski@gnu.org>
10135
10136 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
10137 to match nested functions.
10138 * loader/sparc64/ieee1275/linux.c: Likewise.
10139
10140 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
10141
10142 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
10143
10144 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
10145 all i386 platforms.
10146
10147 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
10148
10149 Fix asm file handling on ELF, and remove workarounds.
10150
10151 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
10152 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
10153 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
10154 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
10155
10156 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
10157
10158 Load BSD ELF modules
10159
10160 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
10161 and loader/i386/bsd64.c
10162 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
10163 (FREEBSD_MODTYPE_ELF_MODULE): New definition
10164 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
10165 (grub_freebsd_load_elfmodule32): New declaration
10166 (grub_freebsd_load_elfmoduleobj64): Likewise
10167 (grub_freebsd_load_elf_meta32): Likewise
10168 (grub_freebsd_load_elf_meta64): Likewise
10169 (grub_freebsd_add_meta): Likewise
10170 (grub_freebsd_add_meta_module): Likewise
10171 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
10172 (grub_freebsd_add_meta_module): Likewise and move module-specific
10173 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
10174 (grub_cmd_freebsd): Add elf-kernel specific parts
10175 based on grub_freebsd_add_meta_module
10176 (grub_cmd_freebsd_module): Add type parsing moved from
10177 grub_freebsd_add_meta_module
10178 (grub_cmd_freebsd_module_elf): New function
10179 (cmd_freebsd_module_elf): New variable
10180 (GRUB_MOD_INIT): Register freebsd_module_elf
10181 * loader/i386/bsd32.c: New file
10182 * loader/i386/bsd64.c: Likewise
10183 * loader/i386/bsdXX.c: Likewise
10184 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
10185 (grub_elf64_load): Likewise
10186 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
10187 All users updated
10188 (grub_elf64_load_hook_t): Likewise
10189
10190 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
10191
10192 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
10193 variable.
10194 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
10195 don't write a menu entry for recovery mode.
10196
10197 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
10198
10199 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
10200 after it's no longer needed.
10201
10202 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
10203
10204 * include/grub/i386/loader.h (grub_linux_prot_size)
10205 (grub_linux_tmp_addr, grub_linux_real_addr)
10206 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
10207 GRUB_MACHINE_PCBIOS.
10208 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
10209 common grub_util_info() call to ...
10210 (generate_image): ... here.
10211 Fix use of uninitialized memory, comparison of signed with
10212 unsigned integers and memory leak.
10213 Remove bogus module address message.
10214
10215 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10216
10217 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
10218 grub_raid_register
10219 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
10220
10221 2009-06-19 Pavel Roskin <proski@gnu.org>
10222
10223 * configure.ac: Remove stray AC_MSG_CHECKING.
10224
10225 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
10226
10227 * disk/scsi.c (grub_scsi_open): use continue instead of big if
10228
10229 2009-06-18 Pavel Roskin <proski@gnu.org>
10230
10231 * conf/common.rmk: Add fs_file.mod.
10232 * disk/fs_file.c: New file.
10233 * include/grub/disk.h (enum grub_disk_dev_id): Add
10234 GRUB_DISK_DEVICE_FILE_ID.
10235
10236 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 Fix build with Apple's toolchain. Part 2
10239
10240 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
10241 a fake start
10242
10243 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10244
10245 Fix build with Apple's toolchain. Part 1
10246
10247 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
10248 for long calls
10249 * configure.ac: remove a leftover AC_MSG_RESULT
10250 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
10251 Apple's toolchain
10252
10253 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10254
10255 Fix warnings
10256
10257 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
10258 (decomp_block): initialize ch
10259 use grub_memcpy instead of memcpy
10260
10261 2009-06-17 Pavel Roskin <proski@gnu.org>
10262
10263 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
10264 version, use declarations needed to use vga_text as the startup
10265 console.
10266
10267 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
10268 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
10269 the kernel.
10270 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
10271 and grub_at_keyboard_fini(), it's done on module load and
10272 unload.
10273
10274 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
10275
10276 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
10277 file can't be found.
10278 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10279
10280 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
10281
10282 Fix newline handling
10283
10284 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
10285 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
10286 (grub_script_yylex): don't segfault on unterminated script
10287 newline terminates command and variable
10288
10289 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
10290
10291 avoid double grub_adjust_range call. Bug reported by David Simner
10292
10293 * kern/disk.c (grub_disk_write): change to raw disk access before
10294 calling disk_read
10295
10296 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
10297
10298 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
10299 spaces, for the benefit of help2man.
10300 * util/i386/efi/grub-mkimage.c (usage): Likewise.
10301
10302 2009-06-16 Pavel Roskin <proski@gnu.org>
10303
10304 * kern/i386/halt.c: Include grub/machine/init.h.
10305 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
10306
10307 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
10308
10309 * util/grub.d/30_os-prober.in: Use ${root} in the generated
10310 drivemap menuentry.
10311
10312 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
10313
10314 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
10315 `echo' command.
10316
10317 2009-06-16 Pavel Roskin <proski@gnu.org>
10318
10319 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
10320 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
10321 save %dx, we only need %dl and we never change it.
10322 * boot/i386/pc/cdboot.S: Don't set the root drive.
10323 * boot/i386/pc/pxeboot.S: Likewise.
10324 * include/grub/i386/pc/boot.h: Remove
10325 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
10326 GRUB_BOOT_MACHINE_DRIVE_CHECK.
10327 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
10328 * kern/i386/pc/init.c (make_install_device): Remove references
10329 to grub_root_drive.
10330 * kern/i386/pc/startup.S: Likewise.
10331 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
10332
10333 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 xnu_uuid command
10336
10337 * commands/xnu_uuid.c: new file
10338 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
10339 (xnu_uuid_mod_SOURCES): new variable
10340 (xnu_uuid_mod_CFLAGS): likewise
10341 (xnu_uuid_mod_LDFLAGS): likewise
10342 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
10343 * conf/i386-ieee1275.rmk: likewise
10344 * conf/i386-pc.rmk: likewise
10345 * conf/powerpc-ieee1275.rmk: likewise
10346 * conf/sparc64-ieee1275.rmk: likewise
10347 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
10348
10349 2009-06-16 Pavel Roskin <proski@gnu.org>
10350
10351 * configure.ac: Avoid '==' in test command, it's not portable.
10352
10353 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
10354
10355 Probe command
10356
10357 * commands/probe.c: new file
10358 * conf/common.rmk (pkglib_MODULES): add probe.mod
10359 (probe_mod_SOURCES): new variable
10360 (probe_mod_CFLAGS): likewise
10361 (probe_mod_LDFLAGS): likewise
10362 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
10363 * conf/i386-ieee1275.rmk: likewise
10364 * conf/i386-pc.rmk: likewise
10365 * conf/powerpc-ieee1275.rmk: likewise
10366 * conf/sparc64-ieee1275.rmk: likewise
10367
10368 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 Fix handling of string like \"hello\" and "a
10371 b"
10372
10373 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
10374 (grub_script_yylex): fix parsing of quoting, escaping and newline
10375
10376 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
10379 handling
10380
10381 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
10382
10383 * util/grub-mkconfig.in: Fix parsing of --output option.
10384
10385 2009-06-12 Pavel Roskin <proski@gnu.org>
10386
10387 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
10388 genmk.rb don't need to be generated or installed.
10389
10390 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 * commands/i386/pc/drivemap_int13h.S: add more comments
10393
10394 2009-06-11 Pavel Roskin <proski@gnu.org>
10395
10396 * Makefile.in (uninstall): Uninstall manuals.
10397
10398 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
10399 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
10400 and update-grub_lib in two places.
10401 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
10402
10403 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
10404 a compiler warning.
10405
10406 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
10407 `entry_lo' to fix variable shadowing.
10408
10409 2009-06-11 Christian Franke <franke@computer.org>
10410
10411 * kern/misc.c (__enable_execute_stack): Add missing return type
10412 to prevent gcc warning.
10413
10414 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
10415
10416 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
10417
10418 2009-06-11 Pavel Roskin <proski@gnu.org>
10419
10420 * Makefile.in: Don't rely on any scripts being executable.
10421 Always use $(SHELL) to run shell scripts.
10422
10423 * configure.ac: Always define ___main if using -nostdlib. This
10424 fixes tests on Cygwin.
10425
10426 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
10427
10428 UDF fix
10429
10430 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
10431 is in bytes and not in blocks
10432
10433 2009-06-11 Pavel Roskin <proski@gnu.org>
10434
10435 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
10436 warning.
10437
10438 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
10439
10440 * util/grub.d/30_os-prober.in: Fix a comment. Source
10441 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
10442 to set the root device. Place drivemap command in the generated
10443 chain entry.
10444
10445 2009-06-11 Pavel Roskin <proski@gnu.org>
10446
10447 * configure.ac: Remove host_m32. Issues with 64-bit utilities
10448 have long been resolved.
10449
10450 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
10451
10452 * util/grub.d/10_linux.in: Capitalise "Linux".
10453
10454 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
10455
10456 2009-06-11 Pavel Roskin <proski@gnu.org>
10457
10458 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
10459 fix a gcc warning and ensure that the function won't ever exit.
10460
10461 * kern/i386/ieee1275/init.c: Add missing prototype for
10462 grub_stop_floppy().
10463
10464 * loader/ieee1275/multiboot2.c [__i386__]: Include
10465 grub/cpu/multiboot.h.
10466
10467 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
10468 casts to short - they are not portable and cause warnings. Fix
10469 use of uninitialized values in input_buf. Use ARRAY_SIZE.
10470
10471 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 Drivemap fixes
10474
10475 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
10476 new function
10477 (grub_get_root_biosnumber_saved): new variable
10478 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
10479 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
10480 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
10481 %dx after the call if necessary
10482 * conf/common.rmk (pkglib_MODULES): remove boot.mod
10483 (boot_mod_SOURCES): remove
10484 (boot_mod_CFLAGS): remove
10485 (boot_mod_LDFLAGS): remove
10486 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
10487 (boot_mod_SOURCES): new variable
10488 (boot_mod_CFLAGS): likewise
10489 (boot_mod_LDFLAGS): likewise
10490 * conf/i386-efi.rmk: likewise
10491 * conf/i386-ieee1275.rmk: likewise
10492 * conf/i386-pc.rmk: likewise
10493 * conf/powerpc-ieee1275.rmk: likewise
10494 * conf/sparc64-ieee1275.rmk: likewise
10495 * conf/x86_64-efi.rmk: likewise
10496 * include/grub/i386/pc/biosnum.h: new file
10497 * lib/i386/pc/biosnum.c: likewise
10498 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
10499 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
10500 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
10501
10502 2009-06-10 Pavel Roskin <proski@gnu.org>
10503
10504 * io/gzio.c (test_header): Don't reuse one buffer for all data.
10505 Use separate variables. Read only the file size at the end, but
10506 not the checksum that we don't use.
10507
10508 * kern/file.c (grub_file_read): Use void pointer for the buffer.
10509 Adjust all callers.
10510
10511 * kern/ieee1275/openfw.c: Remove libc includes.
10512 * kern/ieee1275/cmain.c: Likewise.
10513 * include/grub/ieee1275/ieee1275.h: Likewise.
10514
10515 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
10516 compiler warnings.
10517
10518 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
10519
10520 * Makefile.in: Remove all trailing whitespace.
10521 * conf/i386-pc.rmk: Likewise.
10522 * conf/powerpc-ieee1275.rmk: Likewise.
10523 * conf/sparc64-ieee1275.rmk: Likewise.
10524 * docs/grub.texi: Likewise.
10525 * docs/texinfo.tex: Likewise.
10526 * disk/fs_uuid.c: Likewise.
10527 * disk/lvm.c: Likewise.
10528 * disk/scsi.c: Likewise.
10529 * disk/ata.c: Likewise.
10530 * disk/ieee1275/ofdisk.c: Likewise.
10531 * disk/i386/pc/biosdisk.c: Likewise.
10532 * disk/host.c: Likewise.
10533 * disk/raid.c: Likewise.
10534 * disk/efi/efidisk.c: Likewise.
10535 * disk/usbms.c: Likewise.
10536 * disk/memdisk.c: Likewise.
10537 * disk/loopback.c: Likewise.
10538 * kern/powerpc/dl.c: Likewise.
10539 * kern/device.c: Likewise.
10540 * kern/dl.c: Likewise.
10541 * kern/sparc64/dl.c: Likewise.
10542 * kern/ieee1275/ieee1275.c: Likewise.
10543 * kern/term.c: Likewise.
10544 * kern/fs.c: Likewise.
10545 * kern/i386/dl.c: Likewise.
10546 * kern/i386/pc/startup.S: Likewise.
10547 * kern/i386/pc/init.c: Likewise.
10548 * kern/i386/pc/mmap.c: Likewise.
10549 * kern/i386/pc/lzo1x.S: Likewise.
10550 * kern/i386/ieee1275/init.c: Likewise.
10551 * kern/i386/realmode.S: Likewise.
10552 * kern/i386/tsc.c: Likewise.
10553 * kern/partition.c: Likewise.
10554 * kern/corecmd.c: Likewise.
10555 * kern/file.c: Likewise.
10556 * kern/efi/efi.c: Likewise.
10557 * kern/efi/init.c: Likewise.
10558 * kern/efi/mm.c: Likewise.
10559 * kern/main.c: Likewise.
10560 * kern/err.c: Likewise.
10561 * kern/env.c: Likewise.
10562 * kern/disk.c: Likewise.
10563 * kern/generic/millisleep.c: Likewise.
10564 * kern/generic/rtc_get_time_ms.c: Likewise.
10565 * kern/misc.c: Likewise.
10566 * kern/parser.c: Likewise.
10567 * genmk.rb: Likewise.
10568 * configure.ac: Likewise.
10569 * boot/i386/pc/diskboot.S: Likewise.
10570 * boot/i386/pc/pxeboot.S: Likewise.
10571 * boot/i386/pc/boot.S: Likewise.
10572 * boot/i386/pc/lnxboot.S: Likewise.
10573 * boot/i386/pc/cdboot.S: Likewise.
10574 * parttool/pcpart.c: Likewise.
10575 * video/readers/tga.c: Likewise.
10576 * video/video.c: Likewise.
10577 * video/bitmap.c: Likewise.
10578 * lib/envblk.c: Likewise.
10579 * lib/i386/setjmp.S: Likewise.
10580 * fs/xfs.c: Likewise.
10581 * fs/afs.c: Likewise.
10582 * fs/fat.c: Likewise.
10583 * fs/ntfs.c: Likewise.
10584 * fs/udf.c: Likewise.
10585 * fs/affs.c: Likewise.
10586 * fs/iso9660.c: Likewise.
10587 * fs/hfs.c: Likewise.
10588 * fs/fshelp.c: Likewise.
10589 * fs/ext2.c: Likewise.
10590 * fs/jfs.c: Likewise.
10591 * fs/reiserfs.c: Likewise.
10592 * fs/hfsplus.c: Likewise.
10593 * fs/minix.c: Likewise.
10594 * fs/cpio.c: Likewise.
10595 * fs/sfs.c: Likewise.
10596 * fs/ufs.c: Likewise.
10597 * efiemu/prepare.c: Likewise.
10598 * efiemu/loadcore_common.c: Likewise.
10599 * efiemu/runtime/efiemu.sh: Likewise.
10600 * efiemu/runtime/efiemu.S: Likewise.
10601 * efiemu/runtime/efiemu.c: Likewise.
10602 * efiemu/pnvram.c: Likewise.
10603 * efiemu/main.c: Likewise.
10604 * efiemu/i386/pc/cfgtables.c: Likewise.
10605 * efiemu/i386/loadcore64.c: Likewise.
10606 * efiemu/i386/loadcore32.c: Likewise.
10607 * efiemu/loadcore.c: Likewise.
10608 * efiemu/symbols.c: Likewise.
10609 * efiemu/mm.c: Likewise.
10610 * include/grub/autoefi.h: Likewise.
10611 * include/grub/datetime.h: Likewise.
10612 * include/grub/term.h: Likewise.
10613 * include/grub/hfs.h: Likewise.
10614 * include/grub/lvm.h: Likewise.
10615 * include/grub/i386/tsc.h: Likewise.
10616 * include/grub/i386/linux.h: Likewise.
10617 * include/grub/i386/xnu.h: Likewise.
10618 * include/grub/i386/efiemu.h: Likewise.
10619 * include/grub/i386/pc/biosdisk.h: Likewise.
10620 * include/grub/i386/pc/memory.h: Likewise.
10621 * include/grub/i386/pc/vbe.h: Likewise.
10622 * include/grub/parttool.h: Likewise.
10623 * include/grub/video.h: Likewise.
10624 * include/grub/memory.h: Likewise.
10625 * include/grub/fs.h: Likewise.
10626 * include/grub/partition.h: Likewise.
10627 * include/grub/xnu.h: Likewise.
10628 * include/grub/efi/api.h: Likewise.
10629 * include/grub/efi/pe32.h: Likewise.
10630 * include/grub/efi/memory.h: Likewise.
10631 * include/grub/multiboot.h: Likewise.
10632 * include/grub/usbdesc.h: Likewise.
10633 * include/grub/multiboot2.h: Likewise.
10634 * include/grub/acpi.h: Likewise.
10635 * include/grub/efiemu/efiemu.h: Likewise.
10636 * include/grub/disk.h: Likewise.
10637 * include/grub/ieee1275/ieee1275.h: Likewise.
10638 * include/grub/net.h: Likewise.
10639 * include/grub/machoload.h: Likewise.
10640 * include/grub/macho.h: Likewise.
10641 * include/multiboot.h: Likewise.
10642 * genmoddep.awk: Likewise.
10643 * normal/main.c: Likewise.
10644 * normal/menu_entry.c: Likewise.
10645 * normal/menu_viewer.c: Likewise.
10646 * normal/completion.c: Likewise.
10647 * normal/cmdline.c: Likewise.
10648 * normal/misc.c: Likewise.
10649 * normal/datetime.c: Likewise.
10650 * bus/usb/usbtrans.c: Likewise.
10651 * bus/usb/ohci.c: Likewise.
10652 * bus/usb/uhci.c: Likewise.
10653 * bus/usb/usb.c: Likewise.
10654 * mmap/efi/mmap.c: Likewise.
10655 * mmap/i386/pc/mmap_helper.S: Likewise.
10656 * mmap/i386/pc/mmap.c: Likewise.
10657 * mmap/i386/mmap.c: Likewise.
10658 * mmap/i386/uppermem.c: Likewise.
10659 * mmap/mmap.c: Likewise.
10660 * commands/acpi.c: Likewise.
10661 * commands/echo.c: Likewise.
10662 * commands/blocklist.c: Likewise.
10663 * commands/loadenv.c: Likewise.
10664 * commands/usbtest.c: Likewise.
10665 * commands/boot.c: Likewise.
10666 * commands/parttool.c: Likewise.
10667 * commands/search.c: Likewise.
10668 * commands/cat.c: Likewise.
10669 * commands/i386/pc/play.c: Likewise.
10670 * commands/i386/pc/drivemap.c: Likewise.
10671 * commands/i386/pc/vbeinfo.c: Likewise.
10672 * commands/i386/pc/acpi.c: Likewise.
10673 * commands/i386/pc/vbetest.c: Likewise.
10674 * commands/ls.c: Likewise.
10675 * commands/cmp.c: Likewise.
10676 * commands/test.c: Likewise.
10677 * commands/efi/acpi.c: Likewise.
10678 * commands/gptsync.c: Likewise.
10679 * commands/help.c: Likewise.
10680 * partmap/amiga.c: Likewise.
10681 * partmap/apple.c: Likewise.
10682 * partmap/acorn.c: Likewise.
10683 * partmap/pc.c: Likewise.
10684 * partmap/sun.c: Likewise.
10685 * partmap/gpt.c: Likewise.
10686 * script/sh/lexer.c: Likewise.
10687 * script/sh/function.c: Likewise.
10688 * font/font.c: Likewise.
10689 * font/font_cmd.c: Likewise.
10690 * loader/powerpc/ieee1275/linux.c: Likewise.
10691 * loader/efi/chainloader.c: Likewise.
10692 * loader/multiboot_loader.c: Likewise.
10693 * loader/macho.c: Likewise.
10694 * loader/i386/multiboot.c: Likewise.
10695 * loader/i386/linux.c: Likewise.
10696 * loader/i386/pc/linux.c: Likewise.
10697 * loader/i386/pc/multiboot2.c: Likewise.
10698 * loader/i386/pc/chainloader.c: Likewise.
10699 * loader/i386/pc/xnu.c: Likewise.
10700 * loader/i386/bsd_trampoline.S: Likewise.
10701 * loader/i386/efi/linux.c: Likewise.
10702 * loader/i386/multiboot_elfxx.c: Likewise.
10703 * loader/i386/bsd_helper.S: Likewise.
10704 * loader/i386/bsd.c: Likewise.
10705 * loader/i386/linux_trampoline.S: Likewise.
10706 * loader/i386/xnu_helper.S: Likewise.
10707 * loader/i386/xnu.c: Likewise.
10708 * loader/i386/bsd_pagetable.c: Likewise.
10709 * loader/i386/multiboot_helper.S: Likewise.
10710 * loader/xnu.c: Likewise.
10711 * loader/xnu_resume.c: Likewise.
10712 * io/gzio.c: Likewise.
10713 * term/efi/console.c: Likewise.
10714 * term/terminfo.c: Likewise.
10715 * term/ieee1275/ofconsole.c: Likewise.
10716 * term/i386/pc/serial.c: Likewise.
10717 * term/i386/pc/vesafb.c: Likewise.
10718 * term/i386/pc/vga.c: Likewise.
10719 * term/usb_keyboard.c: Likewise.
10720 * term/gfxterm.c: Likewise.
10721 * aclocal.m4: Likewise.
10722 * util/lvm.c: Likewise.
10723 * util/grub.d/30_os-prober.in: Likewise.
10724 * util/grub.d/10_hurd.in: Likewise.
10725 * util/console.c: Likewise.
10726 * util/grub-macho2img.c: Likewise.
10727 * util/grub-probe.c: Likewise.
10728 * util/hostfs.c: Likewise.
10729 * util/i386/pc/grub-mkimage.c: Likewise.
10730 * util/i386/pc/grub-setup.c: Likewise.
10731 * util/i386/efi/grub-mkimage.c: Likewise.
10732 * util/grub-mkconfig.in: Likewise.
10733 * util/raid.c: Likewise.
10734 * util/resolve.c: Likewise.
10735 * util/grub-mkdevicemap.c: Likewise.
10736 * util/grub-emu.c: Likewise.
10737 * util/getroot.c: Likewise.
10738 * util/hostdisk.c: Likewise.
10739 * util/usb.c: Likewise.
10740 * util/grub-editenv.c: Likewise.
10741 * util/misc.c: Likewise.
10742
10743 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
10744
10745 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
10746 `genparttoollist.sh'.
10747 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
10748 Add `*.sh' to the list find searches for and change `mdate.sh'
10749 to `mdate-sh'.
10750
10751 2009-06-10 Pavel Roskin <proski@gnu.org>
10752
10753 * include/grub/multiboot2.h: Provide compatibility defines for
10754 multiboot2.h.
10755 * include/multiboot2.h: Include stdint.h only if needed, using
10756 angle brackets.
10757 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
10758 grub/multiboot2.h.
10759 * loader/ieee1275/multiboot2.c: Likewise.
10760 * loader/multiboot2.c: Likewise.
10761 * loader/multiboot_loader.c: Likewise.
10762
10763 * configure.ac: Use -nostdlib when probing for the target. It
10764 should not be required to have libc for the target.
10765
10766 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
10767 they fail without libc headers for the target.
10768 * include/grub/powerpc/libgcc.h: Use weak attribute for all
10769 exports.
10770 * include/grub/sparc64/libgcc.h: Likewise. Don't use
10771 preprocessor conditionals.
10772
10773 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
10774 build system doesn't need to be aware of the tar.c internals.
10775
10776 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
10777
10778 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
10779
10780 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
10781
10782 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
10783 disk limit to 26 for IDE, Virtio, Xen and SCSI.
10784
10785 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
10786
10787 * util/i386/pc/grub-install.in: Change the error message if UUIDs
10788 aren't available if ata.mod gets used.
10789
10790 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
10791
10792 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
10793 initialising controller.
10794 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
10795
10796 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10797
10798 * util/i386/pc/grub-install.in: Add a parameter --disk-module
10799 to choose between ata and biosdisk module on i386-pc.
10800
10801 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
10802
10803 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
10804 Subclass and Programming Interface fields in terms of the 3 byte
10805 Class Code register.
10806 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
10807
10808 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
10809 interface is OHCI. Add grub_dprintf for symmetry with
10810 bus/usb/uhci.c.
10811 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
10812 interface is UHCI. Add interf variable for programming
10813 interface. Print interface with class/subclass.
10814
10815 * bus/usb/ohci.c: Set interf with correct field.
10816
10817 * bus/usb/uhci.c: Remove unneeded doubled lines.
10818 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
10819 Remove whitespace inside comment.
10820
10821 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
10822
10823 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
10824 as fallback an equivalent option without depth.
10825
10826 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10827
10828 Not fail if unable to retrieve C/H/S on LBA disks
10829
10830 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
10831 if unable to retrieve C/H/S on LBA disks
10832
10833 2009-06-08 Pavel Roskin <proski@gnu.org>
10834
10835 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
10836 about aliasing.
10837
10838 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10839
10840 * Makefile.in (uninstall): Remove all $lib_DATA files.
10841
10842 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10843
10844 Bugfix: install on partitionless device
10845
10846 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
10847 is a whole disk
10848
10849 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10850
10851 * Makefile.in (uninstall): Remove all $include_DATA files.
10852
10853 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10854
10855 * commands/true.c: New file. Implement the true and false commands.
10856 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
10857 (true_mod_SOURCES): New variable.
10858 (true_mod_CFLAGS): Likewise.
10859 (true_mod_LDFLAGS): Likewise.
10860
10861 2009-06-05 Colin D Bennett <colin@gibibit.com>
10862
10863 Optimized font character lookup using binary search instead of linear
10864 search. Fonts now are required to have the character index ordered by
10865 code point.
10866
10867 * font/font.c (load_font_index): Verify that fonts have ordered
10868 character indices.
10869 (find_glyph): Use binary search instead of linear search to find a
10870 character in a font.
10871
10872 2009-06-05 Michael Scherer <misc@mandriva.org>
10873
10874 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
10875 uses case sensitive btree.
10876 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
10877 only for case insensitive filesystems.
10878
10879 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
10880
10881 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
10882 * conf/common.rmk (search_mod_CFLAGS): likewise
10883
10884 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
10887 compensate a compiler bug
10888
10889 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10890
10891 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
10892 instead of '\b'
10893
10894 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10895
10896 Definitions for creating asm symbols with Apple's CC
10897
10898 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
10899 [APPLE_CC] (VARIABLE): likewise
10900
10901 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10902
10903 Disable lnxboot.img when compiled
10904 with Apple's CC
10905
10906 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
10907 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
10908 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
10909 [! APPLE_CC] (CODE_LENG): skip
10910 [! APPLE_CC] (setup_sects): likewise
10911 [! APPLE_CC]: skip filling
10912
10913 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10914
10915 Address in trampolines based on 32-bit registers when compiled
10916 with Apple's CC
10917
10918 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
10919 for addresses
10920 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
10921
10922 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10923
10924 Avoid aliases when compiling with Apple's CC for PCBIOS machine
10925
10926 * kern/misc.c [APPLE_CC] (memcpy): new function
10927 [APPLE_CC] (memmove): likewise
10928 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
10929 (memcpy): define alias conditionally on !APPLE_CC
10930 (memset): likewise
10931 (abort): likewise
10932 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
10933 APPLE_CC are defined
10934 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
10935 (grub_assert_fail): make prototype conditional
10936
10937 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10938
10939 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
10940
10941 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
10942 grub-macho2img
10943 (CLEANFILES): add grub-macho2img
10944 (grub_macho2img_SOURCES): new variable
10945 * kern/i386/pc/startup.S (bss_start): new variable
10946 (bss_end): likewise
10947 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
10948 * util/grub-macho2img.c: new file
10949
10950 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 Use objconv when compiling with Apple's CC
10953
10954 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
10955 (efiemu64.o): likewise
10956 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
10957 when compiling with Apple's CC
10958 (efiemu64_s.o): likewise
10959 * configure.ac: check for objconv when compiling with Apple's CC
10960 * genmk.rb: use objconv for modules when compiled with Apple's CC
10961
10962 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10963
10964 Define segment as well as section when compiling with
10965 Apple's CC
10966
10967 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
10968 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
10969 (efiemu_convert_pointer): likewise
10970 (efiemu_set_virtual_address_map): likewise
10971 (efiemu_convert_pointer): likewise
10972 (efiemu_getcrc32): likewise
10973 (init_crc32_table): likewise
10974 (reflect): likewise
10975 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
10976 (GRUB_MOD_DEP): likewise
10977
10978 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 Allow a compilation without -mcmodel=large
10981
10982 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
10983 when compiled without -mcmodel=large
10984 (filter_memory_map): remove memory post 4 GiB when compiled
10985 without -mcmodel=large
10986 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
10987 TARGET_CFLAGS when -mcmodel=large isn't supported
10988
10989 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10990
10991 Remove nested functions in efiemu core
10992
10993 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
10994
10995 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
10998
10999 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
11000 temporary storage
11001 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
11002 using Apple's CC
11003 (grub_cpu_is_tsc_supported): likewise
11004 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
11005
11006 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11007
11008 Absolute addressing through constant with Apple's cc
11009
11010 * kern/i386/pc/startup.S: Define necessary constants
11011 and address through it when using ABS with Apple's CC
11012 * boot/i386/pc/diskboot.S: likewise
11013 * boot/i386/pc/boot.S: likewise
11014 * boot/i386/pc/lnxboot.S: likewise
11015 * boot/i386/pc/cdboot.S: likewise
11016 * mmap/i386/pc/mmap_helper.S: likewise
11017 * commands/i386/pc/drivemap_int13h.S: likewise
11018
11019 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11020
11021 Check if compiler is apple cc
11022
11023 * Makefile.in (ASFLAGS): new variable
11024 (TARGET_ASFLAGS): likewise
11025 (TARGET_MODULE_FORMAT): likewise
11026 (TARGET_APPLE_CC): likewise
11027 (OBJCONV): likewise
11028 (TARGET_IMG_CFLAGS): likewise
11029 (TARGET_CPPFLAGS): add includedir
11030 * configure.ac: call grub_apple_cc and grub_apple_target_cc
11031 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
11032 Check for linker script only if compiler isn't Apple's CC
11033 (TARGET_MODULE_FORMAT): set
11034 (TARGET_APPLE_CC): likewise
11035 (TARGET_ASFLAGS): likewise
11036 (ASFLAGS): likewise
11037 Check for objcopy only if compiler isn't Apple's CC
11038 Check for BSS symbol only if compiler isn't Apple's CC
11039 * genmk.rb: adapt nm options if we use Apple's utils
11040 * aclocal.m4 (grub_apple_cc): new test
11041 (grub_apple_target_cc): likewise
11042
11043 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11044
11045 Simplify sed expressions and improve awk
11046
11047 * Makefile.in (install-local): simplify sed expression
11048 * gencmdlist.sh: likewise
11049 * genmoddep.awk: avoid adding module as a dependency of itself
11050
11051 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 Add missing start symbols
11054
11055 * boot/i386/pc/boot.S: add start
11056 * boot/i386/pc/pxeboot.S: likewise
11057
11058 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 Fix wrong assumptions with grub-mkimage on EFI
11061
11062 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
11063 (relocate_addresses): consider both r_addend and value at offset
11064 (make_mods_section): zerofill modinfo and header
11065 (convert_elf): write prefix here
11066
11067 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11068
11069 Use .asciz instead of .string
11070
11071 * i386/pc/diskboot.S: use .asciz instead of .string
11072 * i386/pc/boot.S: likewise
11073 * include/grub/dl.h (GRUB_MOD_DEP): likewise
11074 (GRUB_MOD_NAME): likewise
11075
11076 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11077
11078 gfxpayload support
11079
11080 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
11081 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
11082 (grub_video_setup): remove
11083 (grub_video_set_mode): new prototype
11084 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
11085 (vid_mode): remove
11086 (linux_vesafb_res): compile only on PCBIOS
11087 (grub_linux_boot): support gfxpayload
11088 * loader/i386/pc/xnu.c (video_hook): new function
11089 (grub_xnu_set_video): support gfxpayload
11090 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
11091 (DEFAULT_VIDEO_HEIGHT): likewise
11092 (DEFAULT_VIDEO_FLAGS): likewise
11093 (DEFAULT_VIDEO_MODE): new definition
11094 (video_hook): new function
11095 (grub_gfxterm_init): use grub_video_set_mode
11096 * util/grub.d/30_os-prober.in: remove explicit modesetting before
11097 loading xnu
11098 * video/video.c (grub_video_setup): removed
11099 (grub_video_set_mode): new function based on grub_gfxterm_init and
11100 grub_video_setup
11101
11102 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11103
11104 Avoid calling biosdisk in drivemap
11105
11106 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
11107 (revparse_biosdisk): likewise
11108 (list_mappings): derive name from id directly
11109 (grub_cmd_drivemap): use tryparse_diskstring
11110
11111 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11112
11113 Script fixes
11114
11115 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
11116 (grub_lexer_param): add tokenonhold
11117 (grub_script_create_cmdline): remove cmdline. All callers updated
11118 (grub_script_function_create): make functionname
11119 grub_script_arg. All callers updated
11120 (grub_script_execute_argument_to_string): new prototype
11121 * kern/parser.c (state_transitions): reorder
11122 (grub_parser_cmdline_state): fix a bug and make more compact
11123 * script/sh/execute.c (grub_script_execute_argument_to_string):
11124 make global
11125 (grub_script_execute_cmdline): use new format
11126 * script/sh/function.c (grub_script_function_create): make functionname
11127 grub_script_arg. All callers updated
11128 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
11129 (grub_script_yylex): remove
11130 (grub_script_yylex2): renamed to ...
11131 (grub_script_yylex): ...renamed
11132 parse the expressions like a${b}c
11133 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
11134 (GRUB_PARSER_TOKEN_VAR): remove
11135 (GRUB_PARSER_TOKEN_NAME): likewise
11136 ("if"): declare as typeless
11137 ("while"): likewise
11138 ("function"): likewise
11139 ("else"): likewise
11140 ("then"): likewise
11141 ("fi"): likewise
11142 (text): remove
11143 (argument): likewise
11144 (script): accept empty scripts and make exit on error
11145 (arguments): use GRUB_PARSER_TOKEN_ARG
11146 (function): likewise
11147 (command): move error handling to script
11148 (menuentry): move grub_script_lexer_ref before
11149 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
11150 argument. All callers updated
11151
11152 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
11153
11154 Prevent GRUB from probing floppies during boot.
11155
11156 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
11157 * commands/search.c (options): Add --no-floppy.
11158 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
11159 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
11160 --no-floppy when searching for UUIDs.
11161
11162 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
11163
11164 Simplify the code duplication in commands/search.c.
11165
11166 * commands/search.c (search_label, search_fs_uuid): Merge into ...
11167 (search_fs): ... this. Update all users.
11168
11169 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
11170
11171 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
11172
11173 2009-05-28 Pavel Roskin <proski@gnu.org>
11174
11175 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
11176 Remove the original symlink explicitly.
11177
11178 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
11179 just one slash. That's how grub_fshelp_find_file() does it.
11180
11181 2009-05-26 Pavel Roskin <proski@gnu.org>
11182
11183 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
11184 to `str'.
11185
11186 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
11187 possibly unused.
11188
11189 2009-05-25 Christian Franke <franke@computer.org>
11190
11191 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
11192 register.
11193 (grub_atapi_identify): Add wait after drive select.
11194 (grub_ata_identify): Do more strict status register check before
11195 calling grub_atapi_identify (). Suppress error message if status
11196 register is 0x00 after command failure. Add status register
11197 check after PIO read to avoid bogus identify due to stuck DRQ.
11198 Thanks to Pavel Roskin for testing.
11199 (grub_device_initialize): Remove unsafe status register check.
11200 Thanks to 'phcoder' for problem report and patch.
11201 Prevent sign extension in debug message.
11202
11203 2009-05-23 Colin D Bennett <colin@gibibit.com>
11204
11205 Cleaned up `include/grub/normal.h'. Grouped prototypes by
11206 definition file, and functions defined in `normal/menu.c' have had
11207 their prototypes moved to `include/grub/menu.h' for consistency.
11208
11209 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
11210 from normal.h.
11211 (grub_menu_get_entry): Likewise.
11212 (grub_menu_get_timeout): Likewise.
11213 (grub_menu_set_timeout): Likewise.
11214 (grub_menu_execute_entry): Likewise.
11215 (grub_menu_execute_with_fallback): Likewise.
11216 (grub_menu_entry_run): Likewise.
11217
11218 * include/grub/normal.h: Re-ordered and grouped function
11219 prototypes by file that the function is defined in.
11220 (grub_menu_execute_callback): Removed; moved to menu.h.
11221 (grub_menu_get_entry): Likewise.
11222 (grub_menu_get_timeout): Likewise.
11223 (grub_menu_set_timeout): Likewise.
11224 (grub_menu_execute_entry): Likewise.
11225 (grub_menu_execute_with_fallback): Likewise.
11226 (grub_menu_entry_run): Likewise.
11227 (grub_menu_addentry): Renamed from this ...
11228 (grub_normal_add_menu_entry): ... to this.
11229
11230 * normal/main.c (grub_menu_addentry): Renamed from this ...
11231 (grub_normal_add_menu_entry): ... to this.
11232
11233 * script/sh/execute.c (grub_script_execute_menuentry): Update
11234 reference to renamed grub_menu_addentry function.
11235
11236 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
11237
11238 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
11239
11240 2009-05-22 Pavel Roskin <proski@gnu.org>
11241
11242 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
11243 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
11244 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
11245 compiling for the i386 targets, but not for the utilities.
11246
11247 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
11248 to grub_uint8_t.
11249 (grub_root_drive): Likewise.
11250 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
11251 remove alignment.
11252 (grub_root_drive): Change size to byte.
11253 (grub_start_addr): Remove.
11254 (grub_end_addr): Likewise.
11255 (grub_apm_bios_info): Likewise.
11256
11257 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
11258
11259 * normal/i386: Remove.
11260 * normal/powerpc: Likewise.
11261 * normal/sparc64: Likewise.
11262 * normal/x86_64: Likewise.
11263
11264 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11265
11266 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
11267 * loader/i386/linux_trampoline.S: Fix indentation
11268 * loader/i386/xnu_helper.S: Likewise
11269
11270 2009-05-18 Colin D Bennett <colin@gibibit.com>
11271
11272 Display error messages when parsing a Lua statement fails.
11273 Previously, executing a syntactically invalid statement like
11274 ")foo" or "bar;" would silently fail.
11275
11276 * script/lua/grub_main.c (handle_lua_error): New function.
11277 (grub_lua_parse_line): Improved reporting of Lua parser and
11278 execution errors.
11279
11280 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11281
11282 Remove -Werror which causes build to fail on some systems
11283
11284 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
11285 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
11286 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
11287
11288 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11289
11290 trampoline for linux on 64-bit platform
11291
11292 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
11293 loader/i386/efi/linux_trampoline.S
11294 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
11295 declaration
11296 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
11297 here
11298 * loader/i386/linux_trampoline.S: moved here
11299 * loader/i386/efi/linux.c (allocate_pages): reserve space for
11300 trampoline
11301 (jumpvector): removed
11302 (grub_linux_trampoline_start): new declaration
11303 (grub_linux_trampoline_end): likewise
11304 (grub_linux_boot): use trampoline when on 64-bit platform
11305 * loader/i386/linux.c: likewise
11306
11307 2009-05-16 Pavel Roskin <proski@gnu.org>
11308
11309 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
11310 const to avoid a warning.
11311 (grub_lua_setenv): Likewise.
11312 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
11313 lmsg to fix a warning.
11314
11315 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
11316
11317 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
11318 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11319 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
11320 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11321 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
11322 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11323 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
11324 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11325
11326 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
11327
11328 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
11329
11330 2009-05-16 Bean <bean123ch@gmail.com>
11331
11332 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
11333 (lua_mod_SOURCES): New variable.
11334 (lua_mod_CFLAGS): Likewise.
11335 (lua_mod_LDFLAGS): Likewise.
11336
11337 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
11338 (setjmp_mod_SOURCES): New variable.
11339 (setjmp_mod_CFLAGS): Likewise.
11340 (setjmp_LDFLAGS): Likewise.
11341
11342 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
11343 (setjmp_mod_SOURCES): New variable.
11344 (setjmp_mod_CFLAGS): Likewise.
11345 (setjmp_LDFLAGS): Likewise.
11346
11347 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
11348 (setjmp_mod_SOURCES): New variable.
11349 (setjmp_mod_CFLAGS): Likewise.
11350 (setjmp_LDFLAGS): Likewise.
11351
11352 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
11353 (setjmp_mod_SOURCES): New variable.
11354 (setjmp_mod_CFLAGS): Likewise.
11355 (setjmp_LDFLAGS): Likewise.
11356
11357 * normal/i386/setjmp.S: Moved from here ...
11358 * lib/i386/setjmp.S: ... Moved here
11359 * normal/x86_64/setjmp.S: Moved from here ...
11360 * lib/x86_64/setjmp.S: ... Moved here
11361 * normal/powerpc/setjmp.S: Moved from here ...
11362 * lib/powerpc/setjmp.S: ... Moved here
11363 * normal/sparc64/setjmp.S: Moved from here ...
11364 * lib/sparc64/setjmp.S: ... Moved here
11365
11366 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
11367 returns_twice in mingw.
11368
11369 * script/lua/grub_lib.c: New file.
11370 * script/lua/grub_lib.h: Likewise.
11371 * script/lua/grub_lua.h: Likewise.
11372 * script/lua/grub_main.c: Likewise.
11373 * script/lua/lapi.c: Likewise.
11374 * script/lua/lapi.h: Likewise.
11375 * script/lua/lauxlib.c: Likewise.
11376 * script/lua/lauxlib.h: Likewise.
11377 * script/lua/lbaselib.c: Likewise.
11378 * script/lua/lcode.c: Likewise.
11379 * script/lua/lcode.h: Likewise.
11380 * script/lua/ldblib.c: Likewise.
11381 * script/lua/ldebug.c: Likewise.
11382 * script/lua/ldebug.h: Likewise.
11383 * script/lua/ldo.c: Likewise.
11384 * script/lua/ldo.h: Likewise.
11385 * script/lua/ldump.c: Likewise.
11386 * script/lua/lfunc.c: Likewise.
11387 * script/lua/lfunc.h: Likewise.
11388 * script/lua/lgc.c: Likewise.
11389 * script/lua/lgc.h: Likewise.
11390 * script/lua/linit.c: Likewise.
11391 * script/lua/liolib.c: Likewise.
11392 * script/lua/llex.c: Likewise.
11393 * script/lua/llex.h: Likewise.
11394 * script/lua/llimits.h: Likewise.
11395 * script/lua/lmathlib.c: Likewise.
11396 * script/lua/lmem.c: Likewise.
11397 * script/lua/lmem.h: Likewise.
11398 * script/lua/loadlib.c: Likewise.
11399 * script/lua/lobject.c: Likewise.
11400 * script/lua/lobject.h: Likewise.
11401 * script/lua/lopcodes.c: Likewise.
11402 * script/lua/lopcodes.h: Likewise.
11403 * script/lua/loslib.c: Likewise.
11404 * script/lua/lparser.c: Likewise.
11405 * script/lua/lparser.h: Likewise.
11406 * script/lua/lstate.c: Likewise.
11407 * script/lua/lstate.h: Likewise.
11408 * script/lua/lstring.c: Likewise.
11409 * script/lua/lstring.h: Likewise.
11410 * script/lua/lstrlib.c: Likewise.
11411 * script/lua/ltable.c: Likewise.
11412 * script/lua/ltable.h: Likewise.
11413 * script/lua/ltablib.c: Likewise.
11414 * script/lua/ltm.c: Likewise.
11415 * script/lua/ltm.h: Likewise.
11416 * script/lua/lua.h: Likewise.
11417 * script/lua/luaconf.h: Likewise.
11418 * script/lua/lualib.h: Likewise.
11419 * script/lua/lundump.c: Likewise.
11420 * script/lua/lundump.h: Likewise.
11421 * script/lua/lvm.c: Likewise.
11422 * script/lua/lvm.h: Likewise.
11423 * script/lua/lzio.c: Likewise.
11424 * script/lua/lzio.h: Likewise.
11425
11426 2009-05-16 Bean <bean123ch@gmail.com>
11427
11428 * include/grub/kernel.h (grub_module_header_types): Add type
11429 OBJ_TYPE_CONFIG.
11430
11431 * kern/main.c (grub_load_config): New function.
11432 (grub_main): Call grub_load_config to read boot config.
11433
11434 * grub-mkimage (generate_image): New parameter config_path.
11435 (options): New option --config.
11436 (main): Parse --config option, and pass it to generate_image.
11437
11438 2009-05-14 Christian Franke <franke@computer.org>
11439
11440 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
11441 This fixes build on Cygwin.
11442
11443 2009-05-14 Pavel Roskin <proski@gnu.org>
11444
11445 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
11446 jump. This saves two bytes, so the typical case of 2 swapped
11447 drives would fit 32 bytes.
11448
11449 2009-05-13 Pavel Roskin <proski@gnu.org>
11450
11451 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
11452 grub_uint32_t to avoid a warning.
11453
11454 * loader/i386/linux.c (allocate_pages): When assigning
11455 real_mode_mem, cast through grub_size_t to fix a warning. The
11456 code already makes sure that the value would fit a pointer.
11457 (grub_linux_setup_video): Cast render_target->data to
11458 grub_size_t to fix a warning.
11459
11460 2009-05-13 Javier Martín <lordhabbit@gmail.com>
11461
11462 * commands/i386/pc/drivemap.c: New file - implement drivemap
11463 command.
11464 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
11465 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
11466
11467 2009-05-13 Pavel Roskin <proski@gnu.org>
11468
11469 * util/i386/pc/grub-setup.c (setup): Remove unused variable
11470 embedding_area_exists.
11471
11472 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
11473
11474 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
11475 it easier to understand / work with.
11476 Improve warning messages for cases where there's no embedding area,
11477 or when it is too small (or core.img too large).
11478
11479 2009-05-13 Pavel Roskin <proski@gnu.org>
11480
11481 * loader/i386/pc/multiboot2.c: Add necessary includes for
11482 grub_multiboot2_real_boot().
11483
11484 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
11485 PX record is always little-endian. We only need the lower 2
11486 bytes of the mode.
11487
11488 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
11489 facilitate code reuse.
11490 (grub_cpio_mount): Use "struct head", not a char buffer. This
11491 fixes a warning reported by gcc 4.4.
11492
11493 * kernel/disk.c (grub_disk_read): Use void pointer for the
11494 buffer.
11495 (grub_disk_write): Use const void pointer for the buffer.
11496 Adjust all callers. Remove unnecessary casts.
11497
11498 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
11499
11500 * util/i386/pc/grub-install.in: Update copyright year.
11501
11502 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11503
11504 gptsync
11505
11506 * commands/gptsync.c: new file
11507 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
11508 (gptsync_mod_SOURCES): new variable
11509 (gptsync_mod_CFLAGS): likewise
11510 (gptsync_mod_LDFLAGS): likewise
11511 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
11512 new definition
11513 (GRUB_PC_PARTITION_TYPE_HFS): likewise
11514 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
11515 * conf/i386-ieee1275.rmk: likewise
11516 * conf/i386-pc.rmk: likewise
11517 * conf/powerpc-ieee1275.rmk: likewise
11518
11519 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11520
11521 Fixed grub-emu
11522
11523 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
11524 (grub_dl_ref): likewise
11525
11526 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
11527
11528 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
11529 split in two functions (one for msdos and one for gpt).
11530
11531 2009-05-08 Pavel Roskin <proski@gnu.org>
11532
11533 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
11534 not modified.
11535
11536 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
11537 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
11538 Initialize them with -1. Add sanity check for bad1. Eliminate
11539 nerr variable.
11540
11541 2009-05-08 David S. Miller <davem@davemloft.net>
11542
11543 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
11544
11545 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
11546
11547 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
11548 existence.
11549
11550 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
11551
11552 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
11553 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
11554
11555 2009-05-05 David S. Miller <davem@davemloft.net>
11556
11557 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
11558
11559 2009-05-05 Pavel Roskin <proski@gnu.org>
11560
11561 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
11562 of grub_dl_ref() and grub_dl_unref().
11563 * commands/parttool.c: Remove preprocessor conditionals around
11564 grub_dl_ref() and grub_dl_unref().
11565 * fs/affs.c: Likewise.
11566 * fs/afs.c: Likewise.
11567 * fs/cpio.c: Likewise.
11568 * fs/ext2.c: Likewise.
11569 * fs/fat.c: Likewise.
11570 * fs/hfs.c: Likewise.
11571 * fs/hfsplus.c: Likewise.
11572 * fs/iso9660.c: Likewise.
11573 * fs/jfs.c: Likewise.
11574 * fs/minix.c: Likewise.
11575 * fs/ntfs.c: Likewise.
11576 * fs/reiserfs.c: Likewise.
11577 * fs/sfs.c: Likewise.
11578 * fs/udf.c: Likewise.
11579 * fs/ufs.c: Likewise.
11580 * fs/xfs.c: Likewise.
11581 * include/grub/dl.h: Likewise.
11582 * loader/xnu.c: Likewise.
11583
11584 2009-05-04 Pavel Roskin <proski@gnu.org>
11585
11586 * commands/acpi.c: Remove unused variable my_mod.
11587 * partmap/amiga.c: Likewise.
11588 * partmap/apple.c: Likewise.
11589 * partmap/gpt.c: Likewise.
11590 * partmap/pc.c: Likewise.
11591 * partmap/sun.c: Likewise.
11592 * term/gfxterm.c: Likewise.
11593 * term/i386/pc/vesafb.c: Likewise.
11594 * term/i386/pc/vga.c: Likewise.
11595
11596 2009-05-04 David S. Miller <davem@davemloft.net>
11597
11598 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
11599 pointer args to grub_ieee1275_get_property().
11600
11601 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
11602
11603 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
11604 devices, and do not traverse down under controller nodes.
11605
11606 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
11607 (grub_ofdisk_open): Use it to un-escape "," characters.
11608 * kern/disk.c (find_part_sep): New.
11609 (grub_disk_open): Use it to find the first non-escaped ','
11610 character in the disk name.
11611 * util/ieee1275/devicemap.c (escape_of_path): New.
11612 (grub_util_emit_devicemap_entry): Use it.
11613 * util/sparc64/ieee1275/grub-install.in: Update script to
11614 strip partition specifiers properly by not triggering on
11615 '\' escaped ',' characters.
11616
11617 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11618
11619 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
11620 to 0x300.
11621 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
11622 resolutions.
11623 (linux_vesafb_modes): Add a lot of additional modes to the list (based
11624 on documentation from Wikipedia).
11625
11626 2009-05-04 Pavel Roskin <proski@gnu.org>
11627
11628 * disk/ata.c: Spelling fixes.
11629 * disk/raid.c: Likewise.
11630 * disk/usbms.c: Likewise.
11631 * disk/dmraid_nvidia.c: Likewise.
11632 * kern/ieee1275/openfw.c: Likewise.
11633 * kern/ieee1275/init.c: Likewise.
11634 * kern/ieee1275/cmain.c: Likewise.
11635 * boot/i386/pc/cdboot.S: Likewise.
11636 * video/readers/png.c: Likewise.
11637 * video/i386/pc/vbe.c: Likewise.
11638 * fs/udf.c: Likewise.
11639 * fs/hfs.c: Likewise.
11640 * fs/reiserfs.c: Likewise.
11641 * efiemu/runtime/efiemu.c: Likewise.
11642 * efiemu/main.c: Likewise.
11643 * efiemu/mm.c: Likewise.
11644 * include/grub/elf.h: Likewise.
11645 * include/grub/xnu.h: Likewise.
11646 * include/grub/usbdesc.h: Likewise.
11647 * include/grub/usb.h: Likewise.
11648 * include/grub/script_sh.h: Likewise.
11649 * include/grub/lib/LzmaEnc.h: Likewise.
11650 * include/grub/efiemu/efiemu.h: Likewise.
11651 * include/grub/command.h: Likewise.
11652 * normal/menu.c: Likewise.
11653 * normal/main.c: Likewise.
11654 * normal/datetime.c: Likewise.
11655 * bus/usb/uhci.c: Likewise.
11656 * mmap/i386/uppermem.c: Likewise.
11657 * mmap/mmap.c: Likewise.
11658 * commands/acpi.c: Likewise.
11659 * commands/test.c: Likewise.
11660 * partmap/apple.c: Likewise.
11661 * font/font.c: Likewise.
11662 * loader/sparc64/ieee1275/linux.c: Likewise.
11663 * loader/macho.c: Likewise.
11664 * loader/i386/bsd_trampoline.S: Likewise.
11665 * loader/i386/bsd.c: Likewise.
11666 * loader/xnu.c: Likewise.
11667 * term/i386/pc/vesafb.c: Likewise.
11668 * term/usb_keyboard.c: Likewise.
11669 * util/resolve.c: Likewise.
11670 * util/getroot.c: Likewise.
11671
11672 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
11673
11674 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
11675
11676 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11677
11678 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
11679 build error.
11680
11681 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11682
11683 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
11684 parameter only available on BIOS.
11685
11686 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11687
11688 Removed wrong semicolon in declaration
11689
11690 * grub/misc.h (grub_dprintf): remove semicolon
11691
11692 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11693
11694 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
11695 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
11696 is done by grub_cmd_linux() now).
11697 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
11698 restore video to text mode.
11699 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
11700 indicates lack of "vga=" parameter. "vga=0" is mapped to
11701 `GRUB_LINUX_VID_MODE_NORMAL'.
11702
11703 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
11704
11705 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
11706 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
11707 and `normal/script.c'. Add `kern/rescue_reader.c',
11708 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
11709 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
11710 `grub_script.tab.c'.
11711
11712 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11713 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11714 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11715 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11716 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11717
11718 * Makefile.in: Remove duplicated 2008 in Copyright line.
11719
11720 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11721
11722 * util/misc.c (grub_util_warn): New function. Emits a warning
11723 unconditionally.
11724 * include/grub/util/misc.h (grub_util_warn): New declaration.
11725
11726 * util/i386/pc/grub-install.in: Understand --force and pass it down
11727 to grub-setup.
11728
11729 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
11730 down to setup().
11731 (setup): Improve error messages and add warnings when requested to
11732 install in odd layouts. Refuse to install using blocklists unless
11733 --force was set.
11734
11735 2009-05-04 martin f. krafft <madduck@madduck.net>
11736
11737 * disk/raid.c (grub_raid_scan_device): Improve debug message.
11738
11739 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11740
11741 Updated copyright year
11742
11743 * fs/hfsplus.c: updated copyright year
11744
11745 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 HFS+ UUID
11748
11749 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
11750 in the space previously used by unused3
11751 (grub_hfsplus_uuid): new function
11752 (grub_hfsplus_fs): added uuid field
11753
11754 2009-05-03 Pavel Roskin <proski@gnu.org>
11755
11756 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
11757 suppress warnings. It's no longer needed.
11758 * disk/host.c: Likewise.
11759 * disk/ata_pthru.c: Likewise.
11760 * disk/loopback.c: Likewise.
11761 * hook/datehook.c: Likewise.
11762 * parttool/pcpart.c: Likewise.
11763 * fs/i386/pc/pxe.c: Likewise.
11764 * fs/ntfscomp.c: Likewise.
11765 * efiemu/main.c: Likewise.
11766 * mmap/mmap.c: Likewise.
11767 * commands/crc.c: Likewise.
11768 * commands/hexdump.c: Likewise.
11769 * commands/hdparm.c: Likewise.
11770 * commands/acpi.c: Likewise.
11771 * commands/echo.c: Likewise.
11772 * commands/minicmd.c: Likewise.
11773 * commands/blocklist.c: Likewise.
11774 * commands/memrw.c: Likewise.
11775 * commands/loadenv.c: Likewise.
11776 * commands/usbtest.c: Likewise.
11777 * commands/lsmmap.c: Likewise.
11778 * commands/boot.c: Likewise.
11779 * commands/parttool.c: Likewise.
11780 * commands/configfile.c: Likewise.
11781 * commands/search.c: Likewise.
11782 * commands/ieee1275/suspend.c: Likewise.
11783 * commands/cat.c: Likewise.
11784 * commands/i386/pc/pxecmd.c: Likewise.
11785 * commands/i386/pc/play.c: Likewise.
11786 * commands/i386/pc/halt.c: Likewise.
11787 * commands/i386/pc/vbeinfo.c: Likewise.
11788 * commands/i386/pc/vbetest.c: Likewise.
11789 * commands/lspci.c: Likewise.
11790 * commands/date.c: Likewise.
11791 * commands/handler.c: Likewise.
11792 * commands/ls.c: Likewise.
11793 * commands/test.c: Likewise.
11794 * commands/cmp.c: Likewise.
11795 * commands/efi/loadbios.c: Likewise.
11796 * commands/efi/fixvideo.c: Likewise.
11797 * commands/halt.c: Likewise.
11798 * commands/help.c: Likewise.
11799 * commands/reboot.c: Likewise.
11800 * hello/hello.c: Likewise.
11801 * script/sh/main.c: Likewise.
11802 * loader/xnu.c: Likewise.
11803 * term/terminfo.c: Likewise.
11804 * term/i386/pc/serial.c: Likewise.
11805 * term/usb_keyboard.c: Likewise.
11806
11807 2009-05-03 David S. Miller <davem@davemloft.net>
11808
11809 * normal/menu.c: Include grub/parser.h
11810
11811 2009-05-03 Pavel Roskin <proski@gnu.org>
11812
11813 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
11814 not char*.
11815 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
11816 Suggested by Javier Martín <lordhabbit@gmail.com>
11817
11818 * util/i386/pc/grub-mkrescue.in: Allow for the case when
11819 efiemu??.o doesn't exist.
11820 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
11821 copying.
11822
11823 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
11824
11825 FreeBSD 64-bit support
11826
11827 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
11828 and loader/i386/bsd_trampoline.S
11829 (bsd_mod_ASFLAGS): new variable
11830 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
11831 (FREEBSD_MODTYPE_KERNEL64): likewise
11832 (grub_bsd64_trampoline_start): likewise
11833 (grub_bsd64_trampoline_end): likewise
11834 (grub_bsd64_trampoline_selfjump): likewise
11835 (grub_bsd64_trampoline_gdt): likewise
11836 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
11837 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
11838 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
11839 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
11840 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
11841 of "attrib" member
11842 * loader/i386/bsd_pagetable.c: new file
11843 * loader/i386/bsd_trampoline.S: likewise
11844 * loader/i386/bsd.c (ALIGN_QWORD): new macro
11845 (ALIGN_VAR): likewise
11846 (entry_hi): new variable
11847 (kern_end_mdofs): likewise
11848 (is_64bit): likewise
11849 (grub_freebsd_add_meta): use ALIGN_VAR
11850 (grub_e820_mmap): new declaration
11851 (grub_freebsd_add_mmap): new function
11852 (grub_freebsd_add_meta_module): support 64 bit kernels
11853 (grub_freebsd_list_modules): use ALIGN_VAR
11854 (gdt_descriptor): new declaration
11855 (grub_freebsd_boot): support 64 bit kernels
11856 (grub_bsd_elf64_hook): new function
11857 (grub_bsd_load_elf): support elf64
11858
11859 2009-05-03 Bean <bean123ch@gmail.com>
11860
11861 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
11862 after we get the result of if statement.
11863
11864 2009-05-03 Bean <bean123ch@gmail.com>
11865
11866 * Makefile.in (enable_efiemu): New variable.
11867
11868 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
11869 set.
11870 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
11871 path.
11872 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
11873 path, add -mno-red-zone option.
11874 (efiemu64_s.o): Likewise.
11875 (efiemu64.o): Use macro $^ for source file.
11876
11877 * configure.ac (--enable-efiemu): New option.
11878
11879 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11880
11881 xnu support
11882
11883 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
11884 (pkglib_MODULES): add xnu.mod
11885 (xnu_mod_SOURCES): new variable
11886 (xnu_mod_CFLAGS): likewise
11887 (xnu_mod_LDFLAGS): likewise
11888 (xnu_mod_ASFLAGS): likewise
11889 * conf/i386-pc.rmk: likewise
11890 * conf/x86_64-efi.rmk: likewise
11891 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
11892 new declaration
11893 * include/grub/i386/macho.h: new file
11894 * include/grub/i386/xnu.h: likewise
11895 * include/grub/macho.h: likewise
11896 * include/grub/machoload.h: likewise
11897 * include/grub/x86_64/macho.h: likewise
11898 * include/grub/x86_64/xnu.h: likewise
11899 * include/grub/xnu.h: likewise
11900 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
11901 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
11902 * loader/i386/efi/xnu.c: new file
11903 * loader/i386/pc/xnu.c: likewise
11904 * loader/i386/xnu.c: likewise
11905 * loader/i386/xnu_helper.S: likewise
11906 * loader/macho.c: likewise
11907 * loader/xnu.c: likewise
11908 * loader/xnu_resume.c: likewise
11909 * util/grub-dumpdevtree: likewise
11910 * include/grub/i386/pit.h: include grub/err.h
11911 (grub_pit_wait): export
11912 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
11913
11914 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 Efiemu
11917
11918 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
11919 _linux_efi, linux_efi.
11920 new files in grub-emu
11921 new targets efiemu32.o and efiemu64.o
11922 * loader/linux_normal_efiemu.c: likewise
11923 * loader/i386/efi/linux.c: added preliminary efiemu support
11924 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
11925 files to copy
11926 * include/grub/autoefi.h: new file
11927 * include/grub/i386/efiemu.h: likewise
11928 * include/grub/i386/pc/efiemu.h: likewise
11929 * include/grub/efi/api.h: add LL suffix when necessary
11930 new definitions relating to tables
11931 * include/grub/efiemu/efiemu.h: new file
11932 * include/grub/efiemu/runtime.h: likewise
11933 * efiemu/prepare.c: likewise
11934 * efiemu/loadcore_common.c: likewise
11935 * efiemu/loadcore64.c: likewise
11936 * efiemu/runtime/efiemu.sh: likewise
11937 * efiemu/runtime/efiemu.S: likewise
11938 * efiemu/runtime/efiemu.c: likewise
11939 * efiemu/runtime/config.h: likewise
11940 * efiemu/prepare32.c: likewise
11941 * efiemu/main.c: likewise
11942 * efiemu/modules/pnvram.c: likewise
11943 * efiemu/modules/i386: likewise
11944 * efiemu/modules/i386/pc: likewise
11945 * efiemu/modules/acpi.c: likewise
11946 * efiemu/i386/pc/cfgtables.c: likewise
11947 * efiemu/i386/loadcore64.c: likewise
11948 * efiemu/i386/loadcore32.c: likewise
11949 * efiemu/prepare64.c: likewise
11950 * efiemu/loadcore.c: likewise
11951 * efiemu/symbols.c: likewise
11952 * efiemu/mm.c: likewise
11953 * efiemu/loadcore32.c: likewise
11954
11955 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 ACPI spoofing
11958
11959 * commands/acpi.c: new file
11960 * commands/i386/pc/acpi.c: likewise
11961 * commands/efi/acpi.c: likewise
11962 * include/grub/acpi.h: likewise
11963 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
11964 (acpi_mod_SOURCES): new variable
11965 (acpi_mod_CFLAGS): likewise
11966 (acpi_mod_LDFLAGS): likewise
11967 * conf/i386-efi.rmk: likewise
11968 * conf/x86_64-efi.rmk: likewise
11969
11970 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 Missing part from mmap patch
11973
11974 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
11975 (grub_mmap_unregister)
11976 (grub_mmap_free_and_unregister): use grub_mmap_register
11977
11978 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11979
11980 Mmap services
11981
11982 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
11983 * loader/i386/linux.c (find_mmap_size): likewise
11984 (allocate_pages): likewise
11985 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
11986 (grub_fill_multiboot_mmap): likewise
11987 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
11988 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
11989 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
11990 (OPENBSD_MMAP_RESERVED): likewise
11991 * include/grub/i386/pc/memory.h: include grub/memory.h
11992 (grub_lower_mem): removed
11993 (grub_upper_mem): likewise
11994 (GRUB_MACHINE_MEMORY_ACPI): new definition
11995 (GRUB_MACHINE_MEMORY_NVS): likewise
11996 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
11997 (GRUB_MACHINE_MEMORY_HOLE): likewise
11998 (grub_machine_mmap_register): likewise
11999 (grub_machine_mmap_unregister): likewise
12000 (grub_machine_get_upper): likewise
12001 (grub_machine_get_lower): likewise
12002 (grub_machine_get_post64): likewise
12003 * include/grub/i386/efi/memory.h: new file
12004 * include/grub/x86_64/efi/memory.h: likewise
12005 * include/grub/efi/memory.h: likewise
12006 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
12007 (mmap_mod_SOURCES): new variable
12008 (mmap_mod_LDFLAGS): likewise
12009 (mmap_mod_ASFLAGS): likewise
12010 * conf/i386-coreboot.rmk: likewise
12011 * conf/i386-ieee1275.rmk: likewise
12012 * conf/i386-efi.rmk: likewise
12013 * conf/x86_64-efi.rmk: likewise
12014 * include/grub/types.h (UINT_TO_PTR): new macro
12015 (PTR_TO_UINT32): likewise
12016 (PTR_TO_UINT64): likewise
12017 * include/grub/memory.h: new file
12018 * mmap/i386/pc/mmap.c: likewise
12019 * mmap/i386/pc/mmap_helper.S: likewise
12020 * mmap/i386/uppermem.c: likewise
12021 * mmap/mmap.c: likewise
12022 * mmap/efi/mmap.c: likewise
12023 * kern/i386/coreboot/init.c (grub_machine_init): don't use
12024 grub_upper_mem
12025 * kern/i386/pc/init.c (grub_lower_mem): removed variable
12026 (grub_upper_mem): likewise
12027 (grub_machine_init): don't use grub_upper_mem,
12028 make grub_lower_mem local
12029 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
12030 grub_mmap_iterate and grub_mmap_get_upper
12031 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
12032
12033 2009-05-02 Bean <bean123ch@gmail.com>
12034
12035 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
12036 script/sh/parser.y.
12037 (pkglib_MODULES): Add normal.mod and sh.mod.
12038 (normal_SOURCES): New variable.
12039 (normal_mod_CFLAGS): Likewise.
12040 (normal_mod_LDFLAGS): Likewise.
12041 (sh_mod_SOURCES): Likewise.
12042 (sh_mod_CFLAGS): Likewise.
12043 (sh_mod_LDFLAGS): Likewise.
12044
12045 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
12046 script/sh/lexer.c_DEPENDENCIES.
12047 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
12048 kern/rescue_reader.c and kern/rescue_parser.c.
12049 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
12050 (grub_emu_SOURCES): Change source files.
12051 (pkglib_MODULES): Remove normal.mod.
12052 (normal_SOURCES): Removed.
12053 (normal_mod_CFLAGS): Likewise.
12054 (normal_mod_LDFLAGS): Likewise.
12055 * conf/i386-coreboot.rmk: Likewise.
12056 * conf/i386-efi.rmk: Likewise.
12057 * conf/i386-ieee1276.rmk: Likewise.
12058 * conf/powerpc-ieee1275.rmk: Likewise.
12059 * conf/sparc64-ieee1275.rmk: Likewise.
12060 * conf/x86_64-efi.rmk: Likewise.
12061
12062 * include/grub/command.h (grub_command_execute): New inline function.
12063
12064 * include/grub/menu.h (grub_menu_entry): Removed commands field.
12065
12066 * include/grub/normal.h: Remove <grub/setjmp.h>.
12067 (grub_fs_module_list): Moved to normal/autofs.c.
12068 (grub_exit_env): Removed.
12069 (grub_command_execute): Likewise.
12070 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
12071 parameter script.
12072 (read_command_list): New function declaration.
12073 (read_fs_list): Likewise.
12074
12075 * include/parser.h: Include <grub/reader.h>.
12076 (grub_parser_split_cmdline): Change type of getline parameter.
12077 (grub_parser): New structure.
12078 (grub_parser_class): New variable.
12079 (grub_parser_execute): New function declaration.
12080 (grub_register_rescue_parser): Likewise.
12081 (grub_parser_register): New inline function.
12082 (grub_parser_unregister): Likewise.
12083 (grub_parser_get_current): Likewise.
12084 (grub_parser_set_current): Likewise.
12085
12086 * include/grub/reader.h: New file.
12087 * kern/reader.c: Likewise.
12088 * kern/rescue_parser.c: Likewise.
12089 * kern/rescue_reader.c: Likewise.
12090 * normal/autofs.c: Likewise.
12091 * normal/dyncmd.c: Likewise.
12092
12093 * include/grub/rescue.h: Removed.
12094 * normal/command.h: Likewise.
12095
12096 * include/grub/script.h: Moved to ...
12097 * include/grub/script_sh.h: ... Moved here.
12098 * normal/execute.c: Moved to ...
12099 * script/sh/execute.c: ... Moved here.
12100 * normal/function.c: Moved to ...
12101 * script/sh/function.c: ... Moved here.
12102 * normal/lexer.c: Moved to ...
12103 * script/sh/lexer.c: ... Moved here.
12104 * normal/parser.y: Moved to ...
12105 * script/sh/parser.y: ... Moved here.
12106 * normal/script.c: Moved to ...
12107 * script/sh/script.c: ... Moved here.
12108
12109 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
12110 <grub/reader.h>.
12111 (grub_exit_env): Removed.
12112 (fs_module_list): Moved to normal/autofs.c.
12113 (grub_file_getline): Don't handle comment here.
12114 (free_menu): Skip removed field entry->commands.
12115 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
12116 script parameter.
12117 (read_config_file): Removed nested parameter, change getline function.
12118 (grub_enter_normal_mode): Removed.
12119 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
12120 (read_command_list): Likewise.
12121 (autoload_fs_module): Moved to normal/autofs.c.
12122 (read_fs_list): Likewise.
12123 (reader_nested): New variable.
12124 (grub_normal_execute): Run parser.sh to switch to sh parser.
12125 (grub_cmd_rescue): Removed.
12126 (cmd_normal): Removed.
12127 (grub_cmd_normal): Unregister itself at the beginning. Don't register
12128 rescue command.
12129 (grub_cmdline_run): New function.
12130 (grub_normal_reader_init): Likewise.
12131 (grub_normal_read_line): Likewise.
12132 (grub_env_write_pager): Likewise.
12133 (cmdline): New variable.
12134 (grub_normal_reader): Likewise.
12135 (GRUB_MOD_INIT): Register normal reader and set as current, register
12136 pager hook, register normal command with grub_register_command_prio,
12137 so that it won't show up in command.lst.
12138 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
12139 grub_fs_autoload_hook.
12140
12141 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
12142 (grub_menu_execute_entry): Replace grub_script_execute with
12143 grub_parser_execute, change parameter to grub_command_execute.
12144
12145 * normal/menu_text.c: Remove <grub/script.h>.
12146
12147 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
12148 and <grub/parser.h>.
12149 (run): Change editor_getline to use new parser interface. Change
12150 parameter to grub_command_execute.
12151
12152 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
12153 <grub/reader.h> and <grub/parser.h>.
12154 (grub_load_normal_mode): Execute normal command.
12155 (grub_main): Call grub_register_core_commands,
12156 grub_register_rescue_parser and grub_register_rescue_reader, use
12157 grub_reader_loop to enter input loop.
12158
12159 * kern/parser.c (grub_parser_split_cmdline): Change type of
12160 getline parameter.
12161 (grub_parser_class): New variable.
12162 (grub_parser_execute): New function.
12163
12164 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
12165 * loader/multiboot2.c: Likewise.
12166 * loader/sparc64/ieee1275/linux.c: Likewise.
12167
12168 * util/grub-emu.c (read_command_list): New dummy function.
12169
12170 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
12171
12172 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
12173 count to 16 for CCISS and IDA.
12174
12175 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
12176
12177 * normal/menu_text.c (grub_wait_after_message): Print a newline
12178 after waiting for user input.
12179
12180 * loader/i386/linux.c: Include `<grub/normal.h>'.
12181 (grub_cmd_linux): Improve the error message about `ask' mode, by
12182 waiting for user input so it's not missed (we can do this, since
12183 user requested interaction).
12184
12185 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12186
12187 Added missing lst to grub-mkrescue
12188
12189 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
12190 and ${input_dir}/parttool.lst
12191
12192 2009-04-30 David S. Miller <davem@davemloft.net>
12193
12194 * util/hostdisk.c (device_is_wholedisk): New function.
12195 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
12196 zero only if device_is_wholedisk() returns true.
12197
12198 * util/hostdisk.c (convert_system_partition_to_system_disk):
12199 Handle virtual disk devices named /dev/vdiskX as found on sparc
12200 and powerpc.
12201
12202 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
12203 lettered partition specifier is found, convert to numbered.
12204
12205 2009-04-29 David S. Miller <davem@davemloft.net>
12206
12207 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
12208 * include/grub/sparc64/ieee1275/memory.h: Likewise.
12209
12210 * normal/command.c: Add missing newline at end of file.
12211
12212 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
12213 warnings.
12214 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
12215 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
12216 grub_ofdisk_read): Likewise, and deal similarly with the fact that
12217 ihandles have a 32-bit type but need to be stored in a "void *".
12218
12219 2009-04-28 Pavel Roskin <proski@gnu.org>
12220
12221 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
12222 not disk. Adjust all dependencies.
12223 (grub_fs_uuid_close): Use grub_device_close(), not
12224 grub_disk_close().
12225
12226 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
12227 parent's partition, don't copy it by reference, as it gets freed
12228 on close.
12229
12230 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12231
12232 Preboot hooks support
12233
12234 * commands/boot.c (struct grub_preboot_t): new declaration
12235 (preboots_head): new variable
12236 (preboots_tail): likewise
12237 (grub_loader_register_preboot_hook): new function
12238 (grub_loader_unregister_preboot_hook): likewise
12239 (grub_loader_set): launch preboot hooks
12240 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
12241 (grub_loader_register_preboot_hook): new declaration
12242 (grub_loader_unregister_preboot_hook): likewise
12243
12244 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12245
12246 Warning fix
12247
12248 * disk/scsi.c (grub_scsi_open): added missing cast when
12249 calling grub_dprintf
12250
12251 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 Bug and warning fixes
12254
12255 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
12256 declaration
12257 * commands/test.c (test_parse): fixed bug with file tests and corrected
12258 declaration of find_file
12259
12260 2009-04-26 Pavel Roskin <proski@gnu.org>
12261
12262 * Makefile.in: Don't install empty manual pages if help2man is
12263 missing. Use help2man option for output, not shell redirection.
12264
12265 2009-04-26 David S. Miller <davem@davemloft.net>
12266
12267 * util/grub-mkdevicemap.c (make_device_map): Add missing
12268 NESTED_FUNC_ATTR to process_device().
12269
12270 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12271
12272 Test command
12273
12274 * commands/test.c: rewritten to use bash-like test
12275
12276 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12277
12278 Parttool autoloading and improvements
12279
12280 * Makefile.in (pkglib_DATA): add parttool.lst
12281 (parttool.lst): new target
12282 * genmk.rb: generate parttool-*
12283 (CLEANFILES): add #{parttool}
12284 (PARTTOOLFILES): new variable
12285 * genparttoollist.sh: new file
12286 * parttool/pcpart.c (grub_pcpart_boot): more feedback
12287 (grub_pcpart_type): likewise
12288 * commands/parttool.c (helpmsg): new variable
12289 (grub_cmd_parttool): output help if not enough arguments are supplied
12290 autoload modules
12291 (GRUB_MOD_INIT(parttool)): use helpmsg
12292
12293 2009-04-24 David S. Miller <davem@davemloft.net>
12294
12295 Avoiding opening same device multiple times in device iterator.
12296
12297 * kern/device.c: (grub_device_iterate): Define struct part_ent,
12298 and use it to build a list of partitions in iterate_disk() and
12299 iterate_partition().
12300
12301 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
12302 on disk->data.
12303
12304 * disk/ieee1275/nand.c (grub_nand_iterate): Return
12305 grub_devalias_iterate() result instead of unconditional 0.
12306 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
12307 Also, capture hook return value, either directly or via
12308 grub_children_iterate(), and propagate to caller.
12309 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
12310 grub_children_iterate): Return value is now 'int' instead of
12311 'grub_err_t'.
12312 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
12313 like a proper iterator, stopping when hooks return non-zero.
12314 (grub_devalias_iterate): Likewise.
12315
12316 2009-04-23 David S. Miller <davem@davemloft.net>
12317
12318 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
12319
12320 2009-04-22 David S. Miller <davem@davemloft.net>
12321
12322 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
12323 is larger than address_cells, use that value for address_cells too.
12324
12325 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
12326 IEEE1275_MAX_PATH_LEN): Define.
12327 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
12328 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
12329 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
12330 'devtype'. Explicitly NULL terminate devalias expansion.
12331
12332 * util/sparc64/ieee1275/misc.c: New file.
12333 * util/sparc64/ieee1275/grub-setup.c: New file.
12334 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
12335 * util/sparc64/ieee1275/grub-mkimage.c: New file.
12336 * util/sparc64/ieee1275/grub-install.in: New file.
12337 * util/ieee1275/ofpath.c: New file.
12338 * util/ieee1275/devicemap.c: New file.
12339 * util/devicemap.c: New file.
12340 * util/deviceiter.c: New file.
12341 * kern/sparc64/ieee1275/init.c: New file.
12342 * include/grub/util/ofpath.h: New file.
12343 * include/grub/util/deviceiter.h: New file.
12344 * util/grub-mkdevicemap.c: Include deviceiter.h.
12345 Implement using grub_util_emit_devicemap_entry and
12346 grub_util_iterate_devices.
12347 * conf/i386-corebook.rmk: Build util/deviceiter.c and
12348 util/devicemap.c into grub-mkdevicemap
12349 * conf/i386-efi.rmk: Likewise.
12350 * conf/i386-ieee1275.rmk: Likewise.
12351 * conf/i386-pc.rmk: Likewise.
12352 * conf/powerpc-ieee1275.rmk: Likewise.
12353 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
12354 images and installation utilities. Build kernel as image
12355 instead of as elf binary. Use common rules as much as possible.
12356
12357 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12358
12359 Correct GPT definition
12360
12361 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
12362 of "attrib" member
12363
12364 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
12365
12366 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
12367
12368 2009-04-19 David S. Miller <davem@davemloft.net>
12369
12370 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
12371 (grub_rescue_cmd_linux): Rename to...
12372 (grub_cmd_linux): and fix prototype.
12373 (grub_rescue_cmd_initrd): Rename to...
12374 (grub_cmd_initrd): and fix prototype.
12375 (cmd_linux, cmd_initrd): New.
12376 (GRUB_MOD_INIT(linux)): Use grub_register_command().
12377 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
12378
12379 2009-04-17 Pavel Roskin <proski@gnu.org>
12380
12381 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
12382 format.
12383 (grub_ohci_transfer): Likewise.
12384
12385 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
12386
12387 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
12388 return without a value. Fix inconsistent indentation.
12389
12390 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
12391 match struct grub_fs.
12392
12393 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
12394 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
12395 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
12396 * commands/lspci.c (grub_lspci_iter): Likewise.
12397
12398 2009-04-16 Bean <bean123ch@gmail.com>
12399
12400 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
12401 value.
12402
12403 2009-04-15 Pavel Roskin <proski@gnu.org>
12404
12405 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
12406 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
12407 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
12408 definitions.
12409
12410 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
12411
12412 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
12413 that no multiple data or metadata areas are supported and `Unknown
12414 metadata header'.
12415
12416 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
12417
12418 Move loader out of the kernel
12419
12420 * kern/loader.c: moved to ...
12421 * commands/boot.c: ... moved here
12422 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
12423 * commands/boot.c (grub_cmd_boot): moved here. All users updated
12424 * include/grub/kernel.h (grub_machine_fini): export
12425 * include/grub/loader.h (grub_loader_is_loaded): update declaration
12426 (grub_loader_set): likewise
12427 (grub_loader_unset): likewise
12428 (grub_loader_boot): likewise
12429 * conf/common.rmk: new module boot.mod
12430 (pkglib_MODULES): add boot.mod
12431 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
12432 (grub_emu_SOURCES): likewise
12433 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
12434 (grub_emu_SOURCES): likewise
12435 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
12436 (grub_emu_SOURCES): likewise
12437 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
12438 (grub_emu_SOURCES): likewise
12439 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
12440 (grub_emu_SOURCES): likewise
12441 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
12442 (grub_emu_SOURCES): likewise
12443 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
12444 (grub_emu_SOURCES): likewise
12445
12446 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
12447
12448 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
12449
12450 * kern/misc.c (grub_itoa): Removed function
12451 (grub_ltoa): likewise
12452 (grub_vsprintf): use grub_lltoa
12453
12454 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
12455
12456 Restore grub-emu
12457
12458 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
12459 * conf/i386-coreboot.rmk: likewise
12460 * conf/i386-ieee1275.rmk: likewise
12461 * conf/powerpc-ieee1275.rmk: likewise
12462
12463 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
12464
12465 * INSTALL: Add that `./autogen.sh' needs to be run before
12466 `./configure.'.
12467
12468 2009-04-14 Bean <bean123ch@gmail.com>
12469
12470 * Makefile.in (pkglib_DATA): Add handler.lst.
12471 (handler.lst): New rule.
12472
12473 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
12474 * conf/i386-coreboot.rmk: Likewise.
12475 * conf/i386-ieee1275.rmk: Likewise.
12476 * conf/i386-efi.rmk: Likewise.
12477 * conf/x86_64-efi.rmk: Likewise.
12478 * conf/powerpc-ieee1275.rmk: Likewise.
12479 * conf/sparc64-ieee1275.rmk: Likewise.
12480
12481 * genhandlerlist.sh: New file.
12482
12483 * genmk.rb: Add rules to generate handler.lst.
12484
12485 * include/grub/normal.h (grub_file_getline): New function definition.
12486 (read_handler_list): Likewise.
12487 (free_handler_list): Likewise.
12488
12489 * include/grub/term.h (grub_term_register_input): Add name parameter
12490 for auto generation of handler.lst.
12491 (grub_term_register_output): Likewise.
12492
12493 * normal/handler.c: New file.
12494
12495 * normal/main.c (get_line): Renamed to grub_file_getline.
12496 (read_config_file): Use the newly renamed grub_file_getline.
12497 (read_command_list): Likewise.
12498 (read_fs_list): Likewise.
12499 (grub_normal_execute): Call read_handler_list to parse handler.lst.
12500 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
12501
12502 * term/efi/console.c (grub_console_init): Add name parameter for auto
12503 generation of handler.lst.
12504 * term/gfxterm.c: Likewise.
12505 * term/i386/pc/at_keyboard.c: Likewise.
12506 * term/i386/pc/console.c: Likewise.
12507 * term/i386/pc/serial.c: Likewise.
12508 * term/i386/pc/vesafb.c: Likewise.
12509 * term/i386/pc/vga.c: Likewise.
12510 * term/i386/pc/vga_text.c: Likewise.
12511 * term/ieee1275/ofconsole.c: Likewise.
12512 * term/usb_keyboard.c: Likewise.
12513
12514 2009-04-14 Bean <bean123ch@gmail.com>
12515
12516 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
12517 properly with null character.
12518
12519 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
12520
12521 * configure: Remove.
12522 * config.h.in: Likewise.
12523 * stamp-h.in: Likewise.
12524 * DISTLIST: Likewise.
12525 * conf/common.mk: Likewise.
12526 * conf/i386-coreboot.mk: Likewise.
12527 * conf/i386-efi.mk: Likewise.
12528 * conf/i386-ieee1275.mk: Likewise.
12529 * conf/i386.mk: Likewise.
12530 * conf/i386-pc.mk: Likewise.
12531 * conf/powerpc-ieee1275.mk: Likewise.
12532 * conf/sparc64-ieee1275.mk: Likewise.
12533 * conf/x86_64-efi.mk: Likewise.
12534
12535 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
12536 develop on GRUB.
12537
12538 2009-04-14 John Stanley <jpsinthemix@verizon.net>
12539 David S. Miller <davem@davemloft.net>
12540
12541 * util/hostdisk.c (make_device_name): Fix buffer length
12542 calculations.
12543
12544 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
12545
12546 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
12547 <sys/param.h> and <sys/sysctl.h>.
12548 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
12549 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
12550 opening the device and reset them afterwards.
12551
12552 2009-04-13 Pavel Roskin <proski@gnu.org>
12553
12554 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
12555 Reported by John Stanley <jpsinthemix@verizon.net>
12556
12557 2009-04-13 Robert Millan <rmh@aybabtu.com>
12558
12559 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
12560 that name for menuentries when appropriate.
12561
12562 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
12563
12564 * util/grub.d/10_freebsd.in: Add a missing `fi'.
12565
12566 2009-04-13 Robert Millan <rmh@aybabtu.com>
12567
12568 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
12569 to Linux, simply abort telling the user it's no longer supported.
12570
12571 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
12572
12573 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
12574 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
12575 `freebsd_loadenv' only when devices.hints exist.
12576
12577 2009-04-13 Pavel Roskin <proski@gnu.org>
12578
12579 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
12580
12581 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
12582
12583 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
12584 partition number.
12585 (grub_drive): Likewise.
12586
12587 2009-04-13 David S. Miller <davem@davemloft.net>
12588
12589 * kern/sparc64/ieee1275/ieee1275.c: New file.
12590 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
12591 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
12592 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
12593 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
12594 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
12595 grub_ieee1275_alloc_physmem): Declare new exported functions.
12596
12597 * include/grub/sparc64/ieee1275/loader.h: New file.
12598 * include/grub/sparc64/ieee1275/memory.h: Likewise.
12599 * include/grub/sparc64/kernel.h: Likewise.
12600 * loader/sparc64/ieee1275/linux.c: Likewise.
12601
12602 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
12603 (grub_fstest_SOURCES): Likewise.
12604
12605 * util/hostdisk.c (make_device_name): Do not make any assumptions
12606 about the length of drive names.
12607
12608 * kern/dl.c (grub_dl_load_file): Close file immediately when
12609 we are done using it.
12610
12611 2009-04-12 David S. Miller <davem@davemloft.net>
12612
12613 * kern/misc.c (grub_ltoa): Fix cast when handling negative
12614 values. Noticed by Pavel Roskin.
12615
12616 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
12617 target compiler.
12618
12619 * genmk.rb: Add more flexible image type specification, also
12620 pass --strip-unneeded to objcopy.
12621 * conf/i386-pc.rmk: Use *_FORMAT.
12622 * conf/i386-pc.mk: Rebuilt.
12623
12624 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
12625 (OFDISK_HASH_SZ): Define.
12626 (ofdisk_hash): New hash table.
12627 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
12628 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
12629 instead of device phandle which is not unique.
12630
12631 * kern/sparc64/ieee1275/init.c: Delete, replace with...
12632 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
12633 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
12634 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
12635 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
12636 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
12637 GRUB_KERNEL_MACHINE_DATA_END): Define.
12638 (grub_kernel_image_size, grub_total_module_size): Declare.
12639
12640 2009-04-12 Pavel Roskin <proski@gnu.org>
12641
12642 * configure.ac: Change the logic when we check for target tools.
12643 Do it when the target is specified and it's different from the
12644 specified value of the host.
12645
12646 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
12647
12648 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
12649 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
12650 GNU/kFreeBSD. Check if a device is a character device. Use
12651 DIOCGMEDIASIZE to get the size.
12652 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
12653 support for GNU/kFreeBSD.
12654 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
12655 is a character device instead of a block device. Add support for
12656 FreeBSD device names.
12657
12658 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
12659 is a character device instead of a block device.
12660
12661 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
12662 is a character device instead of a block device.
12663
12664 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
12665
12666 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
12667 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
12668 FreeBSD. Check if a device is a character device. Use
12669 DIOCGMEDIASIZE to get the size.
12670 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
12671 support for FreeBSD.
12672 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
12673 is a character device instead of a block device. Add support for
12674 FreeBSD device names.
12675
12676 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
12677 a character device instead of a block device.
12678 (grub_util_check_char_device): New function.
12679
12680 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
12681 a character device instead of a block device.
12682
12683 * include/grub/util/getroot.h (grub_util_check_char_device): New
12684 prototype.
12685
12686 2009-04-11 David S. Miller <davem@davemloft.net>
12687
12688 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
12689 static libgcc.
12690 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
12691 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
12692 function, if present.
12693 (__bswapdi2): Likewise.
12694
12695 * include/grub/sparc64/ieee1275/boot.h: New file.
12696 * boot/sparc64/ieee1275/boot.S: Likewise.
12697 * boot/sparc64/ieee1275/diskboot.S: Likewise.
12698
12699 * kern/misc.c (grub_ltoa): New function.
12700 (grub_vsprintf): Use it to format 'long' integers.
12701
12702 2009-04-10 David S. Miller <davem@davemloft.net>
12703
12704 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
12705 slots are of type grub_ieee1275_cell_t.
12706 (grub_nand_read): Likewise.
12707 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
12708 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
12709 macros are used to compare values in arg/ret block of the call.
12710 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
12711 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
12712 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
12713 grub_ieee1275_instance_to_path, grub_ieee1275_write,
12714 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
12715 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
12716 grub_ieee1275_close, grub_ieee1275_set_property,
12717 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
12718 grub_ieee1275_cell_t.
12719 * kern/ieee1275/openfw.c (grub_map): Likewise.
12720 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
12721 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
12722
12723 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
12724 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
12725 (grub_devalias_iterate): Likewise.
12726
12727 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12728
12729 UFS improvements
12730
12731 * fs/ufs.c (INODE_NBLOCKS): new definition
12732 (struct grub_ufs_dirent): added fields for non-BSD dirents
12733 (grub_ufs_get_file_block): fixed double indirect handling
12734 (grub_ufs_lookup_symlink): use more robust way to determine whether
12735 symlink is inline
12736 (grub_ufs_find_file): support for non-BSD dirents
12737 (grub_ufs_dir): support for non-BSD dirents
12738
12739 2009-04-10 Bean <bean123ch@gnail.com>
12740
12741 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
12742 attribute, otherwise the size would be wrong for i386 platform.
12743
12744 * include/grub/pci.h (grub_pci_read_word): New inline function.
12745 (grub_pci_read_byte): Likewise.
12746 (grub_pci_write): Likewise.
12747 (grub_pci_write_word): Likewise.
12748 (grub_pci_write_byte): Likewise.
12749
12750 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
12751
12752 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
12753 (find_framebuf): Scan pci to locate the frame buffer address.
12754
12755 * commands/efi/fixvideo.c: New file.
12756
12757 * commands/efi/loadbios.c: Likewise.
12758
12759 * commands/memrw.c: Likewise.
12760
12761 * util/grub-dumpbios.in: Likewise.
12762
12763 * conf/common.rmk (grub-dumpbios): New utility.
12764 (pkglib_MODULES): New module memrw.mod.
12765 (memrw_mod_SOURCE): New macro.
12766 (memrw_mod_CFLAGS): Likewise.
12767 (memrw_mod_LDFLAGS): Likewise.
12768
12769 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
12770 fixvideo.mod.
12771 (loadbios_mod_SOURCE): New macro.
12772 (loadbios_mod_CFLAGS): Likewise.
12773 (loadbios_mod_LDFLAGS): Likewise.
12774 (fixvideo_mod_SOURCE): Likewise.
12775 (fixvideo_mod_CFLAGS): Likewise.
12776 (fixvideo_mod_LDFLAGS): Likewise.
12777
12778 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
12779 fixvideo.mod.
12780 (loadbios_mod_SOURCE): New macro.
12781 (loadbios_mod_CFLAGS): Likewise.
12782 (loadbios_mod_LDFLAGS): Likewise.
12783 (fixvideo_mod_SOURCE): Likewise.
12784 (fixvideo_mod_CFLAGS): Likewise.
12785 (fixvideo_mod_LDFLAGS): Likewise.
12786
12787 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
12788
12789 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
12790
12791 2009-04-07 David S. Miller <davem@davemloft.net>
12792
12793 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
12794 support for R_SPARC_OLO10 relocations. Fix compile warning for
12795 R_SPARC_WDISP30 case.
12796 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
12797
12798 2009-04-06 Pavel Roskin <proski@gnu.org>
12799
12800 * include/grub/misc.h (ARRAY_SIZE): New macro.
12801 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
12802 New macro.
12803 * loader/i386/linux.c (allocate_pages): Use free_pages().
12804 (grub_linux_unload): Don't use free_pages().
12805 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
12806 wrong index. Treat all other modes as text modes.
12807 (grub_cmd_linux): Initialize vid_mode unconditionally to
12808 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
12809
12810 * commands/help.c (print_command_help): Use cmd->prio, not
12811 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
12812
12813 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12814
12815 Parttool
12816
12817 * parttool/pcpart.c: new file
12818 * commands/parttool.c: likewise
12819 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
12820 (parttool_mod_SOURCES): new variable
12821 (parttool_mod_CFLAGS): likewise
12822 (parttool_mod_LDFLAGS): likewise
12823 (pcpart_mod_SOURCES): likewise
12824 (pcpart_mod_CFLAGS): likewise
12825 (pcpart_mod_LDFLAGS): likewise
12826 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
12827 and parttool/pcpart.c
12828 * conf/i386-efi.rmk: likewise
12829 * conf/i386-ieee1275.rmk: likewise
12830 * conf/i386-pc.rmk: likewise
12831 * conf/powerpc-ieee1275.rmk: likewise
12832 * conf/sparc64-ieee1275.rmk: likewise
12833 * conf/x86_64-ieee1275.rmk: likewise
12834
12835 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12836
12837 Support for mtime and further expandability of dir command
12838
12839 * include/grub/lib/datetime.h: moved to ...
12840 * include/grub/datetime.h: ... moved here and added
12841 declaration of grub_unixtime2datetime. All users updated
12842 * include/grub/fs.h: new syntax for dir and mtime functions in
12843 struct grub_fs
12844 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
12845 and GRUB_FSHELP_FLAGS_MASK
12846 * commands/ls.c (grub_ls_list_files): Write mtime in long format
12847 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
12848 (grub_ext2_mtime): new function
12849 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
12850 (grub_hfsplus_mtime): new function
12851 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
12852 (GRUB_UFS_ATTR_FILE): likewise
12853 (GRUB_UFS_ATTR_LNK): likewise
12854 (struct grub_ufs_sblock): new fields mtime
12855 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
12856 all users updated
12857 (grub_ufs_dir): mtime support
12858 (grub_ufs_mtime): new function
12859 * fs/affs.c (grub_affs_dir): use new dir syntax
12860 * fs/afs.c (grub_afs_dir): likewise
12861 * fs/cpio.c (grub_cpio_dir): likewise
12862 * fs/fat.c (grub_fat_find_dir): likewise
12863 * fs/hfs.c (grub_hfs_dir): likewise
12864 * fs/iso9660.c (grub_iso9660_dir): likewise
12865 * fs/jfs.c (grub_jfs_dir): likewise
12866 * fs/minix.c (grub_minix_dir): likewise
12867 * fs/ntfs.c (grub_ntfs_dir): likewise
12868 * fs/reiserfs.c (grub_reiserfs_dir): likewise
12869 * fs/sfs.c (grub_sfs_dir): likewise
12870 * fs/xfs.c (grub_xfs_dir): likewise
12871 * util/hostfs.c (grub_hostfs_dir): likewise
12872 * lib/datetime.c: moved to ...
12873 * normal/datetime.c: ... moved here
12874 (grub_unixtime2datetime): new function
12875 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
12876 * normal/completion.c (iterate_dir): use new dir syntax
12877 * normal/misc.c (grub_normal_print_device_info): tell the
12878 last modification time of a volume
12879 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
12880 * conf/common.rmk: added lib/datetime.c to ls.mod
12881 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
12882 (normal_mod_SOURCES): likewise
12883 (datetime_mod_SOURCES): Removed lib/datetime.c
12884 * conf/i386-efi.rmk: likewise
12885 * conf/i386-ieee1275.rmk: likewise
12886 * conf/i386-pc.rmk: likewise
12887 * conf/powerpc-ieee1275.rmk: likewise
12888 * conf/sparc64-ieee1275.rmk: likewise
12889 * conf/x86_64-efi.rmk: likewise
12890
12891 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12892
12893 Trim trailing spaces in FAT label and support mtools-like labels
12894
12895 * fs/fat.c (grub_fat_iterate_dir): New function based
12896 on grub_fat_find_dir
12897 (grub_fat_find_dir): use grub_fat_iterate_dir
12898 (grub_fat_label): likewise
12899
12900 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
12901
12902 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
12903 and command.h
12904 remove extraneous kernel_elf_HEADERS
12905
12906 2009-04-04 Bean <bean123ch@gnail.com>
12907
12908 * include/grub/util/misc.h: Add dummy function fsync for mingw.
12909
12910 * util/misc.c: Likewise.
12911
12912 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
12913
12914 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
12915 instead of grub_printf.
12916
12917 2009-04-03 Robert Millan <rmh@aybabtu.com>
12918
12919 * loader/i386/linux.c (grub_linux_setup_video): Fill
12920 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
12921 values from `mode info' structure instead of hardcoded
12922 values.
12923
12924 2009-04-01 Pavel Roskin <proski@gnu.org>
12925
12926 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
12927 unused now.
12928 * genmk.rb: Likewise.
12929 * configure.ac: Likewise.
12930
12931 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
12932
12933 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
12934 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
12935
12936 2009-04-01 David S. Miller <davem@davemloft.net>
12937
12938 * normal/sparc64/setjmp.S: Fix setjmp implementation.
12939 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
12940 (grub_setjmp): Mark with 'returns_twice' attribute.
12941 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
12942 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
12943 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
12944
12945 2009-04-01 Robert Millan <rmh@aybabtu.com>
12946
12947 Reapply fix from 2008-07-28 which was accidentally reverted; also
12948 perform the same fix to a similar check in same function.
12949
12950 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
12951 with the same number are found, just use issue a warning with
12952 grub_dprintf(), as this error has been reported to be non-fatal.
12953
12954 2009-03-31 Pavel Roskin <proski@gnu.org>
12955
12956 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
12957 for cross-compilation.
12958
12959 2009-03-30 Robert Millan <rmh@aybabtu.com>
12960
12961 Fix i386-ieee1275 build.
12962
12963 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
12964 Remove declaration.
12965
12966 2009-03-30 Pavel Roskin <proski@gnu.org>
12967
12968 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
12969 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
12970 zero-terminated, rely only on the strlen value. Fix comparison
12971 of strings differing in length.
12972
12973 2009-03-30 Robert Millan <rmh@aybabtu.com>
12974
12975 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
12976 checking for abi version. Improve error messages on BIOS to notify
12977 user about `linux16' command.
12978
12979 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12980
12981 Leak fixes
12982
12983 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
12984 in case of collision
12985 * disk/scsi.c (grub_scsi_open): free scsi in case of error
12986
12987 2009-03-29 Robert Millan <rmh@aybabtu.com>
12988
12989 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
12990 set `vid_mode' accordingly.
12991 (grub_linux_boot): Process `vid_mode' and set video mode.
12992
12993 2009-03-29 Robert Millan <rmh@aybabtu.com>
12994
12995 * util/grub.d/10_linux.in (linux_entry): New function.
12996 Factorize generation of Linux boot entries.
12997
12998 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
12999
13000 Make the format of Environment Block plain text. The boot loader
13001 part is not tested well yet.
13002
13003 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
13004 (buffer): Removed.
13005 (envblk): Likewise.
13006 (usage): Remove "info" and "clear". Add "unset". Update the
13007 description of "set", as this does not delete variables any
13008 longer.
13009 (create_envblk_file): Complete rewrite.
13010 (open_envblk_file): Likewise.
13011 (cmd_info): Removed.
13012 (cmd_list): Likewise.
13013 (cmd_set): Likewise.
13014 (cmd_clear): Likewise.
13015 (list_variables): New function.
13016 (write_envblk): Likewise.
13017 (set_variables): Likewise.
13018 (unset_variables): Likewise.
13019 (main): Complete rewrite.
13020
13021 * commands/loadenv.c (buffer): Removed.
13022 (envblk): Likewise.
13023 (open_envblk_file): New function.
13024 (read_envblk_file): Complete rewrite.
13025 (grub_cmd_load_env): Likewise.
13026 (grub_cmd_list_env): Likewise.
13027 (struct blocklist): New struct.
13028 (free_blocklists): New function.
13029 (check_blocklists): Likewise.
13030 (write_blocklists): Likewise.
13031 (grub_cmd_save_env): Complete rewrite.
13032
13033 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
13034 a plain text signature.
13035 (GRUB_ENVBLK_MAXLEN): Removed.
13036 (struct grub_envblk): Complete rewrite.
13037 (grub_envblk_find): Removed.
13038 (grub_envblk_insert): Likewise.
13039 (grub_envblk_open): New prototype.
13040 (grub_envblk_set): Likewise.
13041 (grub_envblk_delete): Put const to VALUE.
13042 (grub_envblk_iterate): Put const to NAME and VALUE.
13043 (grub_envblk_close): New prototype.
13044 (grub_envblk_buffer): New inline function.
13045 (grub_envblk_size): Likewise.
13046
13047 * lib/envblk.c: Include grub/mm.h.
13048 (grub_env_find): Removed.
13049 (grub_envblk_open): New function.
13050 (grub_envblk_close): Likewise.
13051 (escaped_value_len): Likewise.
13052 (find_next_line): Likewise.
13053 (grub_envblk_insert): Removed.
13054 (grub_envblk_set): New function.
13055 (grub_envblk_delete): Complete rewrite.
13056 (grub_envblk_iterate): Likewise.
13057
13058 2009-03-28 Robert Millan <rmh@aybabtu.com>
13059
13060 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
13061 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
13062 variables. Use 16-bit loader.
13063 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
13064 loader.
13065 * kern/i386/loader.S (grub_linux_boot): Rename to ...
13066 (grub_linux16_boot): ... this. Update all users.
13067 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
13068 (grub_linux_boot): ... this. Update all users.
13069
13070 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
13071 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
13072 commands to `linux16' and `initrd16'.
13073 (GRUB_MOD_FINI(linux)): Rename to ...
13074 (GRUB_MOD_FINI(linux16)): ... this.
13075
13076 2009-03-24 Pavel Roskin <proski@gnu.org>
13077
13078 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
13079 not just for compilation.
13080
13081 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
13082
13083 Move multiboot helper out of kernel
13084
13085 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
13086 `loader/i386/multiboot_helper.S'.
13087 * conf/i386-coreboot.rmk: Likewise
13088 * conf/i386-ieee1275.rmk: Likewise
13089
13090 * kern/i386/loader.S: Move multiboot helpers from here...
13091 * loader/i386/multiboot_helper.S: ...moved here
13092 * include/grub/i386/loader.h: Move declarations of multiboot
13093 helpers from here...
13094 * include/grub/i386/multiboot.h: ...moved here
13095 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
13096
13097 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13098
13099 * kern/env.c (grub_env_context_open): Added an argument to specify
13100 whether a new context inherits exported variables from current
13101 one. This is useful when making a sandbox to interpret a config
13102 file.
13103 All callers updated.
13104
13105 * include/grub/env.h (grub_env_context_open): Updated the prototype.
13106
13107 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13108
13109 * kern/env.c (grub_env_context_close): Fix memory leaks.
13110
13111 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13112
13113 * normal/main.c (grub_normal_execute): Added an argument
13114 BATCH to specify if an interactive interface should be provided
13115 after reading a config file.
13116 All callers updated.
13117 (read_command_list): Prevent being executed twice.
13118 (read_fs_list): Likewise.
13119
13120 * include/grub/normal.h (grub_normal_execute): Updated the
13121 prototype.
13122
13123 2009-03-22 Pavel Roskin <proski@gno.org>
13124
13125 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
13126 _start.
13127 * kern/i386/pc/startup.S: Likewise.
13128 * kern/i386/efi/startup.S: Likewise.
13129 * kern/i386/ieee1275/startup.S: Likewise.
13130 * kern/i386/coreboot/startup.S: Likewise.
13131 * kern/x86_64/efi/startup.S: Likewise.
13132
13133 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
13134 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
13135 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
13136
13137 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
13138
13139 Bugfixes in multiboot for bugs uncovered by solaris kernel.
13140
13141 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
13142 limit detection.
13143 Use vaddr of correct segment for entry_point.
13144
13145 2009-03-21 Bean <bean123ch@gmail.com>
13146
13147 * commands/blocklist.c: Add include file <grub/command.h>, remove
13148 <grub/normal.h> and <grub/arg.h>.
13149 (grub_cmd_blocklist): Use the new command interface.
13150 (GRUB_MOD_INIT): Likewise.
13151 (GRUB_MOD_FINI): Likewise.
13152 * commands/boot.c: Likewise.
13153 * commands/cat.c: Likewise.
13154 * commands/cmp.c: Likewise.
13155 * commands/configfile.c: Likewise.
13156 * commands/crc.c: Likewise.
13157 * commands/echo.c: Likewise.
13158 * commands/halt.c: Likewise.
13159 * commands/handler.c: Likewise.
13160 * commands/hdparm.c: Likewise.
13161 * commands/help.c: Likewise.
13162 * commands/hexdump.c: Likewise.
13163 * commands/loadenv.c: Likewise.
13164 * commands/ls.c: Likewise.
13165 * commands/lsmmap.c: Likewise.
13166 * commands/lspci.c: Likewise.
13167 * commands/loadenv.c: Likewise.
13168 * commands/read.c: Likewise.
13169 * commands/reboot.c: Likewise.
13170 * commands/search.c: Likewise.
13171 * commands/sleep.c: Likewise.
13172 * commands/test.c: Likewise.
13173 * commands/usbtest.c: Likewise.
13174 * commands/videotest.c: Likewise.
13175 * commands/i386/cpuid.c: Likewise.
13176 * commands/i386/pc/halt.c: Likewise.
13177 * commands/i386/pc/play.c: Likewise.
13178 * commands/i386/pc/pxecmd.c: Likewise.
13179 * commands/i386/pc/vbeinfo.c: Likewise.
13180 * commands/i386/pc/vbetest.c: Likewise.
13181 * commands/ieee1275/suspend.c: Likewise.
13182 * disk/loopback.c: Likewise.
13183 * font/font_cmd.c: Likewise.
13184 * hello/hello.c: Likewise.
13185 * loader/efi/appleloader.c: Likewise.
13186 * loader/efi/chainloader.c: Likewise.
13187 * loader/i386/bsd.c: Likewise.
13188 * loader/i386/efi/linux.c: Likewise.
13189 * loader/i386/ieee1275/linux.c: Likewise.
13190 * loader/i386/linux.c: Likewise.
13191 * loader/i386/pc/chainloader.c: Likewise.
13192 * loader/i386/pc/linux.c: Likewise.
13193 * loader/powerpc/ieee1275/linux.c: Likewise.
13194 * loader/multiboot_loader.c: Likewise.
13195 * term/gfxterm.c: Likewise.
13196 * term/i386/pc/serial.c: Likewise.
13197 * term/terminfo.c: Likewise.
13198
13199 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
13200 * term/i386/pc/vga.c: Likewise.
13201 * video/readers/jpeg.c: Likewise.
13202 * video/readers/png.c: Likewise.
13203 * video/readers/tga.c: Likewise.
13204
13205 * util/grub-fstest (cmd_loopback): Removed.
13206 (cmd_blocklist): Likewise.
13207 (cmd_ls): Likewise.
13208 (grub_register_command): Likewise.
13209 (grub_unregister_command): Likewise.
13210 (execute_command): Use grub_command_find to locate command and execute
13211 it.
13212
13213 * include/grub/efi/chainloader.h: Removed.
13214 * loader/efi/chainloader_normal.c: Likewise.
13215 * loader/i386/bsd_normal.c: Likewise.
13216 * loader/i386/pc/chainloader_normal.c: Likewise.
13217 * loader/i386/pc/multiboot_normal.c: Likewise.
13218 * loader/linux_normal.c: Likewise.
13219 * loader/multiboot_loader_normal.c: Likewise.
13220 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
13221
13222 * gencmdlist.sh: Scan new registration command grub_register_extcmd
13223 and grub_register_command_p1.
13224
13225 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
13226 kern/command.c, lib/arg.c and commands/extcmd.c.
13227 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
13228 (minicmd_mod_SOURCES): New variable.
13229 (minicmd_mod_CFLAGS): Likewise.
13230 (minicmd_mod_LDFLAGS): Likewise.
13231 (extcmd_mod_SOURCES): Likewise.
13232 (extcmd_mod_CFLAGS): Likewise.
13233 (extcmd_mod_LDFLAGS): Likewise.
13234 (boot_mod_SOURCES): Removed.
13235 (boot_mod_CFLAGS): Likewise.
13236 (boot_mod_LDFLAGS): Likewise.
13237
13238 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
13239 kern/corecmd.c.
13240 (kernel_img_HEADERS): Add command.h.
13241 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
13242 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
13243 and lib/arg.c.
13244 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
13245 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
13246 remove the corresponding normal mode command.
13247 (normal_mod_SOURCES): Remove normal/arg.c.
13248 * conf/i386-coreboot.rmk: Likewise.
13249 * conf/i386-efi.rmk: Likewise.
13250 * conf/i386-ieee1275.rmk: Likewise.
13251 * conf/powerpc-ieee1275.rmk: Likewise.
13252 * conf/x86_64-efi.rmk: Likewise.
13253
13254 * include/grub/arg.h: Move from here ...
13255 * include/grub/lib/arg.h: ... to here.
13256
13257 * normal/arg.c: Move from here ...
13258 * lib/arg.c: ... to here.
13259
13260 * commands/extcmd.c: New file.
13261 * commands/minicmd.c: Likewise.
13262 * include/grub/command.h: Likewise.
13263 * include/grub/extcmd.h: Likewise.
13264 * kern/command.c: Likewise.
13265 * kern/corecmd.c: Likewise.
13266
13267 * kern/list.c (grub_list_iterate): Return int instead of void.
13268 (grub_list_insert): New function.
13269 (grub_prio_list_insert): Likewise.
13270
13271 * kern/rescue.c (grub_rescue_command): Removed.
13272 (grub_rescue_command_list): Likewise.
13273 (grub_rescue_register_command): Likewise.
13274 (grub_rescue_unregister_command): Likewise.
13275 (grub_rescue_cmd_boot): Move to minicmd.c
13276 (grub_rescue_cmd_help): Likewise.
13277 (grub_rescue_cmd_info): Likewise.
13278 (grub_rescue_cmd_boot): Likewise.
13279 (grub_rescue_cmd_testload): Likewise.
13280 (grub_rescue_cmd_dump): Likewise.
13281 (grub_rescue_cmd_rmmod): Likewise.
13282 (grub_rescue_cmd_lsmod): Likewise.
13283 (grub_rescue_cmd_exit): Likewise.
13284 (grub_rescue_print_devices): Moved to corecmd.c.
13285 (grub_rescue_print_files): Likewise.
13286 (grub_rescue_cmd_ls): Likewise.
13287 (grub_rescue_cmd_insmod): Likewise.
13288 (grub_rescue_cmd_set): Likewise.
13289 (grub_rescue_cmd_unset): Likewise.
13290 (attempt_normal_mode): Use grub_command_find to get normal module.
13291 (grub_enter_rescue_mode): Use grub_register_core_commands to register
13292 commands, remove grub_rescue_register_command calls.
13293
13294 * normal/command.c (grub_register_command): Removed.
13295 (grub_unregister_command): Likewise.
13296 (grub_command_find): Likewise.
13297 (grub_iterate_commands): Likewise.
13298 (rescue_command): Likewise.
13299 (export_command): Moved to corecmd.c.
13300 (set_command): Removed.
13301 (unset_command): Likewise.
13302 (insmod_command): Likewise.
13303 (rmmod_command): Likewise.
13304 (lsmod_command): Likewise.
13305 (grub_command_init): Likewise.
13306
13307 * normal/completion.c (iterate_command): Use cmd->prio to check for
13308 active command.
13309 (complete_arguments): Use grub_extcmd_t structure to find options.
13310 (grub_normal_do_completion): Change function grub_iterate_commands to
13311 grub_command_iterate.
13312
13313 * normal/execute.c (grub_script_execute_cmd): No need to parse
13314 argument here.
13315
13316 * normal/main.c (grub_dyncmd_dispatcher): New function.
13317 (read_command_list): Register unload commands as dyncmd.
13318 (grub_cmd_normal): Use new command interface, register rescue,
13319 unregister normal at entry, register normal, unregister rescue at exit.
13320
13321 * include/grub/list.h (grub_list_test_t): New type.
13322 (grub_list_iterate): Return int instead of void.
13323 (grub_list_insert): New function.
13324 (GRUB_AS_NAMED_LIST_P): New macro.
13325 (GRUB_AS_PRIO_LIST): Likewise.
13326 (GRUB_AS_PRIO_LIST_P): Likewise.
13327 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
13328 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
13329 (grub_prio_list): New structure.
13330 (grub_prio_list_insert): New function.
13331 (grub_prio_list_remove): New inline function.
13332
13333 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
13334 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
13335 (GRUB_COMMAND_FLAG_MENU): Likewise.
13336 (GRUB_COMMAND_FLAG_BOTH): Likewise.
13337 (GRUB_COMMAND_FLAG_TITLE): Likewise.
13338 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
13339 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
13340 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
13341 (grub_command): Likewise.
13342 (grub_register_command): Likewise.
13343 (grub_command_find): Likewise.
13344 (grub_iterate_commands): Likewise.
13345 (grub_command_init): Likewise.
13346 (grub_arg_parse): Likewise.
13347 (grub_arg_show_help): Likewise.
13348
13349 * include/grub/rescue.h (grub_rescue_register_command): Removed.
13350 (grub_rescue_unregister_command): Likewise.
13351
13352 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
13353 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
13354 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
13355
13356 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
13357 grub_rescue_cmd_initrd.
13358 * include/grub/i386/loader.h: Likewise.
13359 * include/grub/x86_64/loader.h: Likewise.
13360
13361 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
13362
13363 2009-03-21 Bean <bean123ch@gmail.com>
13364
13365 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
13366 instead of stat in mingw environment.
13367
13368 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
13369
13370 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
13371
13372 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
13373 AC_CONFIG_LINKS.
13374
13375 2009-03-21 Bean <bean123ch@gmail.com>
13376
13377 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
13378 out of range error.
13379
13380 2009-03-18 Michel Dänzer <michel@daenzer.net>
13381
13382 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
13383 checking inode flags for EXT4_EXTENTS_FLAG.
13384
13385 2009-03-18 Robert Millan <rmh@aybabtu.com>
13386
13387 * loader/i386/linux.c: Include `<grub/video.h>' and
13388 `<grub/i386/pc/vbe.h>'..
13389 (grub_linux_setup_video): New function. Loosely based on the EFI one.
13390 (grub_linux32_boot): Attempt to configure video settings with
13391 grub_linux_setup_video().
13392 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
13393 to avoid grub_console_fini() which would step out of graphical mode
13394 unconditionally.
13395
13396 2009-03-14 Robert Millan <rmh@aybabtu.com>
13397
13398 Fix build on powerpc.
13399 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
13400
13401 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
13402
13403 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
13404 background image command.
13405
13406 2009-03-12 Colin D Bennett <colin@gibibit.com>
13407
13408 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
13409 (grub_gfxterm_putchar): Extract pairs of identical calls to
13410 draw_cursor out of conditional blocks.
13411
13412 2009-03-11 Pavel Roskin <proski@gnu.org>
13413
13414 * fs/hfs.c (grub_hfs_strncasecmp): New function.
13415 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
13416
13417 2009-03-11 Robert Millan <rmh@aybabtu.com>
13418
13419 * loader/i386/multiboot_elfxx.c
13420 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
13421
13422 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
13423
13424 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
13425 `kern/handler.c'.
13426
13427 2009-03-11 Robert Millan <rmh@aybabtu.com>
13428
13429 * loader/i386/multiboot.c (code_size): New variable.
13430 (grub_multiboot): Define offsets by adding to `code_size' rather
13431 than subtracting from `grub_multiboot_payload_size'. Provide
13432 4-byte alignment to MBI and others by increasing
13433 `boot_loader_name_length' appropriately.
13434
13435 * loader/i386/multiboot_elfxx.c
13436 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
13437
13438 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
13439
13440 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
13441 `fs/ext2.c'.
13442
13443 2009-03-08 Robert Millan <rmh@aybabtu.com>
13444
13445 Make loader/i386/linux.c usable on i386-pc again.
13446
13447 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
13448 memory to heap.
13449 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
13450 `#error' stanza.
13451
13452 2009-03-07 Bean <bean123ch@gmail.com>
13453
13454 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
13455 allocation.
13456
13457 2009-03-06 Robert Millan <rmh@aybabtu.com>
13458
13459 Fix display issue on terminals with screen size other than 80x25
13460 (e.g. gfxterm with resolution higher than 640x480).
13461
13462 * normal/main.c (grub_normal_init_page): Display title text in a
13463 position relative to the center of the terminal instead of relying
13464 on a hardcoded offset.
13465
13466 2009-03-04 Robert Millan <rmh@aybabtu.com>
13467
13468 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
13469 installed.
13470
13471 * Makefile.in (host_kernel): New variable.
13472 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
13473 scripts instead of just the windows one.
13474 * configure.ac: Initialize and AC_SUBST `host_kernel'.
13475
13476 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
13477
13478 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
13479 `kern/handler.c'.
13480 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13481 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13482 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13483 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13484 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13485 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13486
13487 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
13488
13489 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
13490 or if there's no space for the disk label and print the partition number on a
13491 invalid magic.
13492
13493 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
13494
13495 * util/misc.c: Include <time.h>.
13496 (grub_millisleep): New function.
13497
13498 2009-03-04 Bean <bean123ch@gmail.com>
13499
13500 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
13501 another option -mno-red-zone.
13502
13503 * commands/handler.c: Change module description.
13504
13505 * kern/handler.c: Add missing space at the end of description line.
13506
13507 * kern/list.c: Likewise.
13508
13509 2009-03-03 Robert Millan <rmh@aybabtu.com>
13510
13511 Move more components to the relocation area, and fix mbi pointer
13512 handling to use the destination rather than the origin (thanks to
13513 Vladimir Serbinenko for spotting).
13514
13515 * loader/i386/multiboot.c (mbi_dest): New variable.
13516 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
13517 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
13518 relocation area.
13519
13520 2009-03-01 Bean <bean123ch@gmail.com>
13521
13522 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
13523 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
13524 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
13525 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
13526
13527 * loader/i386/efi/linux.c (acpi_guid): New variable.
13528 (acpi_guid): Likewise.
13529 (EBDA_SEG_ADDR): New constant.
13530 (LOW_MEM_ADDR): Likewise.
13531 (FAKE_EBDA_SEG): Likewise.
13532 (fake_bios_data): New function.
13533 (grub_linux_boot): Call fake_bios_data.
13534
13535 2009-03-01 Bean <bean123ch@gmail.com>
13536
13537 * commands/terminal.c: Removed.
13538
13539 * commands/handler.c: New file.
13540
13541 * include/grub/list.h: Likewise.
13542
13543 * include/grub/handler.h: Likewise.
13544
13545 * kern/list.c: Likewise.
13546
13547 * kern/handler.c: Likewise.
13548
13549 * kern/term.h: Include header file <grub/handler.h>.
13550 (grub_term_input): Move next field to the beginning.
13551 (grub_term_output): Likewise.
13552 (grub_term_input_class): New variable.
13553 (grub_term_output_class): Likewise.
13554 (grub_term_register_input): Changed to inline function.
13555 (grub_term_register_output): Likewise.
13556 (grub_term_unregister_input): Likewise.
13557 (grub_term_unregister_output): Likewise.
13558 (grub_term_set_current_input): Likewise.
13559 (grub_term_set_current_output): Likewise.
13560 (grub_term_get_current_input): Likewise.
13561 (grub_term_get_current_output): Likewise.
13562 (grub_term_iterate_input): Removed.
13563 (grub_term_iterate_output): Likewise.
13564
13565 * kern/term.c (grub_term_list_input): Removed.
13566 (grub_term_list_output): Likewise.
13567 (grub_term_input_class): New variable.
13568 (grub_term_output_class): Likewise.
13569 (grub_cur_term_input): Change variable as macro.
13570 (grub_cur_term_output): Likewise.
13571 (grub_term_register_input): Removed.
13572 (grub_term_register_output): Likewise.
13573 (grub_term_unregister_input): Likewise.
13574 (grub_term_unregister_output): Likewise.
13575 (grub_term_set_current_input): Likewise.
13576 (grub_term_set_current_output): Likewise.
13577 (grub_term_iterate_input): Likewise.
13578 (grub_term_iterate_output): Likewise.
13579 (grub_term_get_current_input): Likewise.
13580 (grub_term_get_current_output): Likewise.
13581
13582 * util/grub-editenv.c: Include header file <grub/handler.h>.
13583 (grub_term_get_current_input): Removed.
13584 (grub_term_get_current_output): Likewise.
13585 (grub_term_input_class): New variable.
13586 (grub_term_output_class): Likewise.
13587
13588 * util/grub-fstest.c (grub_term_get_current_input): Removed.
13589 (grub_term_get_current_output): Likewise.
13590 (grub_term_input_class): New variable.
13591 (grub_term_output_class): Likewise.
13592
13593 * util/grub-probe.c (grub_term_get_current_input): Removed.
13594 (grub_term_get_current_output): Likewise.
13595 (grub_term_input_class): New variable.
13596 (grub_term_output_class): Likewise.
13597
13598 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
13599 (grub_term_get_current_output): Likewise.
13600 (grub_term_input_class): New variable.
13601 (grub_term_output_class): Likewise.
13602
13603 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
13604 (terminal_mod_SOURCES): Likewise.
13605 (terminal_mod_CFLAGS): Likewise.
13606 (terminal_mod_LDFLAGS): Likewise.
13607
13608 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
13609 handler.c.
13610 (kernel_img_SOURCES): Add list.c and handler.c.
13611 (kernel_img_HEADERS): Add list.h and handler.h.
13612
13613 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
13614 handler.c.
13615 (kernel_mod_SOURCES): Add list.c and handler.c.
13616 (kernel_mod_HEADERS): Add list.h and handler.h.
13617
13618 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
13619 handler.c.
13620 (kernel_elf_SOURCES): Add list.c and handler.c.
13621 (kernel_elf_HEADERS): Add list.h and handler.h.
13622
13623 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
13624 handler.c.
13625 (kernel_elf_SOURCES): Add list.c and handler.c.
13626 (kernel_elf_HEADERS): Add list.h and handler.h.
13627
13628 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
13629 handler.c.
13630 (kernel_mod_SOURCES): Add list.c and handler.c.
13631 (kernel_mod_HEADERS): Add list.h and handler.h.
13632
13633 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
13634 handler.c.
13635 (kernel_elf_SOURCES): Add list.c and handler.c.
13636 (kernel_elf_HEADERS): Add list.h and handler.h.
13637
13638 2009-02-27 Robert Millan <rmh@aybabtu.com>
13639
13640 Factorize elf32 / elf64 code in Multiboot loader. This will
13641 prevent it from getting out of sync again.
13642
13643 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
13644 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
13645 grub_multiboot_load_elf64): Move from here ...
13646 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
13647 grub_multiboot_load_elf): ... to here (new file).
13648
13649 2009-02-27 Robert Millan <rmh@aybabtu.com>
13650
13651 * util/grub.d/10_linux.in: Rename "single-user mode" to
13652 "recovery mode".
13653
13654 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
13655
13656 Don't leak in SCSI code.
13657 * disk/scsi.c (grub_scsi_close): free `scsi'.
13658
13659 2009-02-27 Robert Millan <rmh@aybabtu.com>
13660
13661 * loader/i386/pc/multiboot.c: Move from here ...
13662 * loader/i386/multiboot.c: ... to here. Update all users.
13663
13664 2009-02-27 Robert Millan <rmh@aybabtu.com>
13665
13666 Patch from Alexandre Bique <bique.alexandre@gmail.com>
13667 * util/i386/pc/grub-setup.c (setup): Fix directory path.
13668
13669 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
13670
13671 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
13672 b-tree.
13673
13674 2009-02-27 Robert Millan <rmh@aybabtu.com>
13675
13676 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
13677 `0x' qualifier as 0 when base is specified as parameter).
13678
13679 2009-02-24 Bean <bean123ch@gmail.com>
13680
13681 * configure.ac: Check for -mcmodel=large in x86_64 target.
13682
13683 * include/grub/efi/api.h (efi_call_10): New macro.
13684 (efi_wrap_10): New function.
13685
13686 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
13687 (GRUB_PE32_REL_BASED_HIGH): Likewise.
13688 (GRUB_PE32_REL_BASED_LOW): Likewise.
13689 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
13690 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
13691 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
13692 (GRUB_PE32_REL_BASED_SECTION): Likewise.
13693 (GRUB_PE32_REL_BASED_REL): Likewise.
13694 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
13695 (GRUB_PE32_REL_BASED_DIR64): Likewise.
13696 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
13697
13698 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
13699 issue.
13700
13701 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
13702 (efi_wrap_10): New function.
13703
13704 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
13705
13706 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
13707 MB/MBP model (NV chipset).
13708 (devdata_devs): Add devpath_5 to the list.
13709
13710 * load/i386/efi/linux.c (video_base): Remove variable.
13711 (RGB_MASK): New macro.
13712 (RGB_MAGIC): Likewise.
13713 (LINE_MIN): Likewise.
13714 (LINE_MAX): Likewise.
13715 (FBTEST_STEP): Likewise.
13716 (FBTEST_COUNT): Likewise.
13717 (fb_list): New variable.
13718 (grub_find_video_card): Remove function.
13719 (find_framebuf): New function.
13720 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
13721 line length.
13722
13723 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
13724 problem for x86_64.
13725
13726 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
13727
13728 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
13729
13730 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
13731 coding tool name.
13732
13733 2009-02-22 Robert Millan <rmh@aybabtu.com>
13734
13735 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
13736 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
13737 in our relocation, instead of using it directly from heap. Also
13738 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
13739
13740 2009-02-21 Robert Millan <rmh@aybabtu.com>
13741
13742 Implement USB keyboard support (based on patch by Marco Gerards)
13743
13744 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
13745 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
13746 (usb_keyboard_mod_LDFLAGS): New variables.
13747
13748 * term/usb_keyboard.c: New file.
13749
13750 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13751
13752 Corrected wrong declaration
13753
13754 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
13755
13756 2009-02-14 Christian Franke <franke@computer.org>
13757
13758 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
13759 (grub_lspci_iter): Print class code and programming interface byte.
13760
13761 2009-02-14 Christian Franke <franke@computer.org>
13762
13763 * gendistlist.sh: Ignore `.svn' directories.
13764
13765 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
13766
13767 * fs/fat.c: Add 2009 to Copyright line.
13768
13769 2009-02-14 Christian Franke <franke@computer.org>
13770
13771 * commands/hdparm.c: New file. Provides `hdparm' command
13772 which sends ATA commands via grub_disk_ata_pass_through ().
13773
13774 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
13775
13776 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
13777 and <grub/cpu/io.h> to include/grub/ata.h.
13778 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
13779 (GRUB_CDROM_SECTOR_SIZE): Remove.
13780 (GRUB_ATA_*): Move to include/grub/ata.h.
13781 (GRUB_ATAPI_*): Likewise.
13782 (enum grub_ata_commands): Likewise.
13783 (enum grub_ata_timeout_milliseconds): Likewise.
13784 (struct grub_ata_device): Likewise.
13785 (grub_ata_regset): Likewise.
13786 (grub_ata_regget): Likewise.
13787 (grub_ata_regset2): Likewise.
13788 (grub_ata_regget2): Likewise.
13789 (grub_ata_check_ready): Likewise.
13790 (grub_ata_wait_not_busy): Remove static, exported in
13791 include/grub/ata.h.
13792 (grub_ata_wait_drq): Likewise.
13793 (grub_ata_pio_read): Likewise.
13794
13795 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
13796 function for hdparm.mod.
13797
13798 * include/grub/ata.h: New file, contains declarations from
13799 disk/ata.c.
13800 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
13801
13802 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
13803 (grub_disk_ata_pass_through): New exported variable.
13804
13805 * kern/disk.c (grub_disk_ata_pass_through): New variable.
13806
13807 2009-02-13 Colin D Bennett <colin@gibibit.com>
13808
13809 Support multiple fallback entries, and provide an API to support
13810 executing default+fallback menu entries. Renamed the `terminal' menu
13811 viewer to `text'.
13812
13813 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
13814 variable declaration.
13815 (grub_menu_execute_callback): New structure declaration.
13816 (grub_menu_execute_callback_t): New typedef.
13817 (grub_menu_execute_with_fallback): New function declaration.
13818 (grub_menu_get_entry): Likewise.
13819 (grub_menu_get_timeout): Likewise.
13820 (grub_menu_set_timeout): Likewise.
13821
13822 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
13823
13824 * normal/menu.c (grub_wait_after_message): Moved to
13825 `normal/menu_text.c'.
13826 (draw_border): Likewise.
13827 (print_message): Likewise.
13828 (print_entry): Likewise.
13829 (print_entries): Likewise.
13830 (grub_menu_init_page): Likewise.
13831 (get_entry_number): Likewise.
13832 (print_timeout): Likewise.
13833 (run_menu): Likewise.
13834 (grub_menu_execute_entry): Likewise.
13835 (show_text_menu): Likewise.
13836 (get_and_remove_first_entry_number): New function.
13837 (grub_menu_execute_with_fallback): Likewise.
13838 (get_entry): Renamed to ...
13839 (grub_menu_get_entry): .. this and made it global.
13840 (get_timeout): Renamed to ...
13841 (grub_menu_get_timeout): ... this and made it global.
13842 (set_timeout): Renamed to ...
13843 (grub_menu_set_timeout): ... this and made it global.
13844 (grub_normal_terminal_menu_viewer): Renamed to ...
13845 (grub_normal_text_menu_viewer): ... this.
13846
13847 * normal/menu_text.c: New file. Extracted text-menu-specific code
13848 from normal/menu.c.
13849
13850 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
13851 (normal_mod_SOURCES): Likewise.
13852
13853 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13854 (normal_mod_SOURCES): Likewise.
13855
13856 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13857 (normal_mod_SOURCES): Likewise.
13858
13859 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
13860 (normal_mod_SOURCES): Likewise.
13861
13862 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13863 (normal_mod_SOURCES): Likewise.
13864
13865 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13866 (normal_mod_SOURCES): Likewise.
13867
13868 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13869 (normal_mod_SOURCES): Likewise.
13870
13871 2009-02-11 Robert Millan <rmh@aybabtu.com>
13872
13873 * util/grub.d/00_header.in: Update old reference to `font' command.
13874
13875 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
13876
13877 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
13878
13879 Based on patch from Javier Martín.
13880
13881 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
13882
13883 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
13884 to avoid false positives with FAT.
13885 (grub_fstest_SOURCES): Likewise.
13886 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13887 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13888 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13889 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13890 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13891 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13892
13893 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
13894
13895 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
13896 bpb.version_specific.fat12_or_fat16.fstype and
13897 bpb.version_specific.fat32.fstype.
13898
13899 2009-02-08 Robert Millan <rmh@aybabtu.com>
13900
13901 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
13902
13903 2009-02-08 Robert Millan <rmh@aybabtu.com>
13904
13905 * Makefile.in (host_os, host_cpu): New variables.
13906 (target_os): Remove. Update all users.
13907
13908 2009-02-08 Marco Gerards <marco@gnu.org>
13909
13910 * Makefile.in (enable_grub_emu_usb): New variable.
13911 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
13912 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
13913 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
13914 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
13915 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
13916 `usbtest.mod' and `usbms.mod'.
13917 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
13918 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
13919 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
13920 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
13921 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
13922 variables.
13923
13924 * disk/usbms.c: New file.
13925
13926 * include/grub/usb.h: Likewise.
13927
13928 * include/grub/usbtrans.h: Likewise.
13929
13930 * include/grub/usbdesc.h: Likewise.
13931
13932 * bus/usb/usbtrans.c: Likewise.
13933
13934 * bus/usb/ohci.c: Likewise.
13935
13936 * bus/usb/uhci.c: Likewise.
13937
13938 * bus/usb/usbhub.c: Likewise.
13939
13940 * bus/usb/usb.c: Likewise.
13941
13942 * commands/usbtest.c: Likewise.
13943
13944 * util/usb.c: Likewise.
13945
13946 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
13947
13948 * configure.ac: Test for libusb presence.
13949
13950 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
13951
13952 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
13953
13954 * kern/mm.c: Add more comments.
13955
13956 2009-02-08 Robert Millan <rmh@aybabtu.com>
13957
13958 Patch from Javier Martín.
13959 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
13960 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
13961
13962 2009-02-08 Robert Millan <rmh@aybabtu.com>
13963
13964 * fs/cpio.c: Split tar functionality to ...
13965 * fs/tar.c: ... here (new file). Update all users.
13966
13967 2009-02-07 Robert Millan <rmh@aybabtu.com>
13968
13969 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
13970 backward-incompatible features.
13971
13972 Based on patch from Javier Martín, with some adjustments.
13973
13974 2009-02-07 Michael Scherer <misc@mandriva.org>
13975
13976 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
13977
13978 2009-02-07 Robert Millan <rmh@aybabtu.com>
13979
13980 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
13981 position of `disk/lvm.c' to ensure grub_init_all() always picks it
13982 after the RAID stuff.
13983
13984 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
13985
13986 Fixes problem when running vbetest command as reported by
13987 Vladimir Serbinenko <phcoder@gmail.com>.
13988
13989 * (grub_vbe_set_video_mode): Fixed problem with text modes.
13990
13991 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
13992
13993 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
13994 /dev/md/NpN style mdraid devices.
13995
13996 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
13997
13998 * util/unifont2pff.rb: Remove.
13999
14000 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14001
14002 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
14003 `#'.
14004
14005 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14006
14007 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
14008 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14009 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14010 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14011 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14012 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14013 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14014
14015 2009-02-02 Christian Franke <franke@computer.org>
14016
14017 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
14018
14019 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
14020
14021 * INSTALL: Note that we now require at least autoconf 2.59 and
14022 that LZO is optional.
14023
14024 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
14025
14026 Base on patch on bug #24154 created by Tomas Tintera
14027 <trosos@seznam.cz>.
14028
14029 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
14030
14031 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
14032
14033 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
14034 <bero@arklinux.org>.
14035
14036 * normal/parser.y (script_init): Add missing semicolon.
14037
14038 2009-01-31 Colin D Bennett <colin@gibibit.com>
14039
14040 * normal/main.c: Add include to grub/menu_viewer.h.
14041 (free_menu_entry_classes): Added.
14042 (grub_normal_menu_addentry): Added class property handling.
14043 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
14044 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
14045
14046 * normal/menu_viewer.c: New file.
14047
14048 * normal/menu.c (run_menu_entry): Renamed to ...
14049 (grub_menu_execute_entry): ... this and made it as global.
14050 (grub_menu_run): Renamed to ...
14051 (show_text_menu): ... this and made it local.
14052 (show_text_menu): Adapt to new function names.
14053 (grub_normal_terminal_menu_viewer): New global variable.
14054
14055 * include/grub/menu.h: New file.
14056
14057 * include/grub/menu_viewer.h: New file.
14058
14059 * include/grub/normal.h: Added include to grub/menu.h.
14060 (grub_menu_entry): Moved to include/grub/menu.h.
14061 (grub_menu_entry_t): Likewise.
14062 (grub_menu): Likewise.
14063 (grub_menu_t): Likewise.
14064 (grub_normal_terminal_menu_viewer): Added.
14065 (grub_menu_execute_entry): Likewise.
14066 (grub_menu_run): Removed.
14067
14068 * DISTLIST: Added include/grub/menu.h.
14069 Added include/grub/menu_viewer.h.
14070 Added normal/menu_viewer.c.
14071
14072 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
14073
14074 * normal/execute.c (grub_script_execute_menuentry): Changed to use
14075 arglist for menutitle arguments.
14076
14077 * normal/main.c (grub_normal_menu_addentry): Likewise.
14078
14079 * normal/parser.y (menuentry): Likewise.
14080
14081 * normal/script.c (grub_script_create_cmdmenu): Likewise.
14082
14083 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
14084 (grub_script_create_cmdmenu): Likewise.
14085
14086 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
14087
14088 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
14089 changes.
14090
14091 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
14092
14093 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
14094
14095 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
14096
14097 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14098
14099 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14100
14101 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14102
14103 2009-01-30 Christian Franke <franke@computer.org>
14104
14105 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
14106 in option help text.
14107
14108 2009-01-27 Pavel Roskin <proski@gnu.org>
14109
14110 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
14111
14112 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
14113
14114 * commands/lsmmap.c: Add include to grub/machine/memory.h.
14115
14116 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
14117
14118 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
14119 unregister function.
14120
14121 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
14122
14123 * disk/scsi.c (grub_scsi_read): Fix sign problem.
14124
14125 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
14126
14127 * util/grub-mkfont.c (usage): Fix typo.
14128
14129 * util/elf/grub-mkimage.c (load_modules): Fix warning.
14130
14131 2009-01-26 Daniel Mierswa <impulze@impulze.org>
14132
14133 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
14134
14135 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
14136
14137 * kern/misc.c (grub_strcasecmp): New function.
14138 (grub_strcasecmp): Use grub_size_t instead of int for length.
14139 Fix return value.
14140 * include/grub/misc.h: Update function prototypes.
14141
14142 2009-01-26 Robert Millan <rmh@aybabtu.com>
14143
14144 * configure.ac: Fix cross-compilation check.
14145
14146 2009-01-22 Christian Franke <franke@computer.org>
14147
14148 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
14149 (precision) digit string. Allow `.format2' without `format1' (width).
14150 Limit input chars for `%s' output to `format2' if specified. This is
14151 compatible with standard printf ().
14152
14153 2009-01-22 Christian Franke <franke@computer.org>
14154
14155 * disk/ata.c (grub_ata_wait_status): Replace by ...
14156 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
14157 other status bits may be invalid while BSY is asserted.
14158 (grub_ata_check_ready): New function.
14159 (grub_ata_cmd): Removed.
14160 (grub_ata_wait_drq): New function.
14161 (grub_ata_strncpy): Remove inline.
14162 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
14163 and error check now done by grub_ata_wait_drq ().
14164 (grub_ata_pio_write): Likewise.
14165 (grub_atapi_identify): Set DEV before check for !BSY. Use
14166 grub_ata_wait_drq () to wait for data.
14167 (grub_ata_device_initialize): Add status register check to
14168 detect missing SATA slave devices. Add debug messages.
14169 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
14170 (grub_atapi_packet): Set DEV before check for !BSY. Replace
14171 transfer loop by grub_ata_pio_write ().
14172 (grub_ata_identify): Set DEV before check for !BSY. Use
14173 grub_ata_wait_drq () to wait for data.
14174 (grub_ata_setaddress): Set DEV before check for !BSY.
14175 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
14176 read/write in one loop. Fix invalid command on write. Fix incomplete
14177 command on (size % batch) == 0. Add missing error check after write of
14178 last block. Add debug messages.
14179 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
14180
14181 2009-01-19 Christian Franke <franke@computer.org>
14182
14183 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
14184 (GRUB_ATAPI_IREASON_*): Likewise.
14185 (grub_ata_pio_write): Fix timeout error return.
14186 (grub_atapi_identify): Add grub_ata_wait () after cmd.
14187 (grub_atapi_wait_drq): New function.
14188 (grub_atapi_packet): New parameter `size'.
14189 Use grub_atapi_wait_drq () and direct write instead of
14190 grub_ata_pio_write ().
14191 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
14192 reads the number of bytes requested by the device for each DRQ
14193 assertion.
14194 (grub_atapi_write): Remove old implementation, return not
14195 implemented instead.
14196
14197 2009-01-19 Christian Franke <franke@computer.org>
14198
14199 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
14200 of 512 to calculate data size.
14201 (grub_scsi_read12): Likewise.
14202 (grub_scsi_write10): Likewise.
14203 (grub_scsi_write12): Likewise.
14204 (grub_scsi_read): Adjust size according to blocksize.
14205 Add checks for invalid blocksize and unaligned transfer.
14206
14207 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
14208
14209 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
14210
14211 * term/gfxterm.c (write_char): Fix background rendering for wide
14212 width glyphs.
14213
14214 2009-01-19 Robert Millan <rmh@aybabtu.com>
14215
14216 * config.guess: Update to latest version from config git.
14217 * config.sub: Likewise.
14218
14219 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
14220
14221 * Makefile.in: Change font compilation to use new grub-mkfont instead
14222 of java version.
14223
14224 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
14225 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
14226 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14227 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14228 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
14229 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
14230 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
14231 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
14232 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
14233
14234 2009-01-16 Christian Franke <franke@computer.org>
14235
14236 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
14237 (enum grub_ata_timeout_milliseconds): New enum.
14238 (grub_ata_wait_status): Add parameter milliseconds.
14239 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
14240 recovery from timed-out commands.
14241 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
14242 return grub_errno instead of REG_ERROR.
14243 (grub_ata_pio_write): Add parameter milliseconds.
14244 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
14245 Pass milliseconds to grub_ata_wait_status () and
14246 grub_ata_pio_read ().
14247 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
14248 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
14249 grub_ata_wait_status (). Fix IDENTIFY timeout check.
14250 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
14251 It is not suitable for device detection, because DEV bit is ignored,
14252 the command may run too long, and not all devices set the signature
14253 properly.
14254 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
14255 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
14256 Fix device selection, DEV bit must be set first to address the registers
14257 of the correct device.
14258 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
14259 grub_ata_pio_read/write ().
14260 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
14261 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
14262
14263 2009-01-13 Carles Pina i Estany <carles@pina.cat>
14264
14265 * util/grub-editenv.c (main): Use fseeko(), not fseek().
14266
14267 2009-01-13 Bean <bean123ch@gmail.com>
14268
14269 * util/grub-mkfont.c (write_font): forget to remove some debug code.
14270
14271 2009-01-13 Bean <bean123ch@gmail.com>
14272
14273 * Makefile.in: (enable_grub_mkfont): New variable.
14274 (freetype_cflags): Likewise.
14275 (freetype_libs): Likewise.
14276
14277 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
14278 (grub_mkfont_SOURCES): New variable.
14279 (grub_mkfont_CFLAGS): Likewise.
14280 (grub_mkfont_LDFLAGS): Likewise.
14281
14282 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
14283 library if `--enable-grub-mkfont' is requested.
14284 (enable_grub_mkfont): New variable.
14285 (freetype_cflags): Likewise.
14286 (freetype_libs): Likewise.
14287
14288 * util/grub-mkfont.c: New file.
14289
14290 2009-01-12 Christian Franke <franke@computer.org>
14291
14292 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
14293 mode check. Fix setting of compat_use[].
14294
14295 2009-01-10 Robert Millan <rmh@aybabtu.com>
14296
14297 Update a few copyright years which we forgot to do in 2008 (only for
14298 files whose changes made in 2008 were copyright-significant)
14299
14300 * Makefile.in: Add 2008 to Copyright line.
14301 * disk/ieee1275/ofdisk.c: Likewise.
14302 * disk/efi/efidisk.c: Likewise.
14303 * kern/dl.c: Likewise.
14304 * kern/sparc64/ieee1275/init.c: Likewise.
14305 * kern/mm.c: Likewise.
14306 * kern/efi/mm.c: Likewise.
14307 * boot/i386/pc/boot.S: Likewise.
14308 * genfslist.sh: Likewise.
14309 * fs/iso9660.c: Likewise.
14310 * fs/hfs.c: Likewise.
14311 * fs/jfs.c: Likewise.
14312 * fs/minix.c: Likewise.
14313 * fs/ufs.c: Likewise.
14314 * gensymlist.sh.in: Likewise.
14315 * genkernsyms.sh.in: Likewise.
14316 * include/grub/misc.h: Likewise.
14317 * include/grub/types.h: Likewise.
14318 * include/grub/symbol.h: Likewise.
14319 * include/grub/elf.h: Likewise.
14320 * include/grub/kernel.h: Likewise.
14321 * include/grub/disk.h: Likewise.
14322 * include/grub/dl.h: Likewise.
14323 * include/grub/i386/linux.h: Likewise.
14324 * include/grub/i386/pc/biosdisk.h: Likewise.
14325 * include/grub/efi/api.h: Likewise.
14326 * include/grub/efi/pe32.h: Likewise.
14327 * include/grub/util/misc.h: Likewise.
14328 * normal/execute.c: Likewise.
14329 * normal/arg.c: Likewise.
14330 * normal/completion.c: Likewise.
14331 * normal/lexer.c: Likewise.
14332 * normal/parser.y: Likewise.
14333 * normal/misc.c: Likewise.
14334 * commands/i386/pc/vbeinfo.c: Likewise.
14335 * commands/hexdump.c: Likewise.
14336 * commands/terminal.c: Likewise.
14337 * commands/ls.c: Likewise.
14338 * commands/help.c: Likewise.
14339 * partmap/pc.c: Likewise.
14340 * loader/efi/chainloader.c: Likewise.
14341 * loader/multiboot_loader.c: Likewise.
14342 * loader/i386/pc/multiboot2.c: Likewise.
14343 * term/efi/console.c: Likewise.
14344 * term/i386/pc/serial.c: Likewise.
14345 * util/lvm.c: Likewise.
14346 * util/console.c: Likewise.
14347 * util/i386/efi/grub-mkimage.c: Likewise.
14348 * util/raid.c: Likewise.
14349
14350 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
14351
14352 * commands/videotest.c: Removed include to grub/machine/memory.h.
14353
14354 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
14355 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
14356 (video_mod_SOURCES): Removed.
14357 (video_mod_CFLAGS): Likewise.
14358 (video_mod_LDFLAGS): Likewise.
14359 (gfxterm_mod_SOURCES): Likewise.
14360 (gfxterm_mod_CFLAGS): Likewise.
14361 (gfxterm_mod_LDFLAGS): Likewise.
14362 (videotest_mod_SOURCES): Likewise.
14363 (videotest_mod_CFLAGS): Likewise.
14364 (videotest_mod_LDFLAGS): Likewise.
14365 (bitmap_mod_SOURCES): Likewise.
14366 (bitmap_mod_CFLAGS): Likewise.
14367 (bitmap_mod_LDFLAGS): Likewise.
14368 (tga_mod_SOURCES): Likewise.
14369 (tga_mod_CFLAGS): Likewise.
14370 (tga_mod_LDFLAGS): Likewise.
14371 (jpeg_mod_SOURCES): Likewise.
14372 (jpeg_mod_CFLAGS): Likewise.
14373 (jpeg_mod_LDFLAGS): Likewise.
14374 (png_mod_SOURCES): Likewise.
14375 (png_mod_CFLAGS): Likewise.
14376 (png_mod_LDFLAGS): Likewise.
14377
14378 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
14379 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
14380 (video_mod_SOURCES): Added.
14381 (video_mod_CFLAGS): Likewise.
14382 (video_mod_LDFLAGS): Likewise.
14383 (videotest_mod_SOURCES): Likewise.
14384 (videotest_mod_CFLAGS): Likewise.
14385 (videotest_mod_LDFLAGS): Likewise.
14386 (bitmap_mod_SOURCES): Likewise.
14387 (bitmap_mod_CFLAGS): Likewise.
14388 (bitmap_mod_LDFLAGS): Likewise.
14389 (tga_mod_SOURCES): Likewise.
14390 (tga_mod_CFLAGS): Likewise.
14391 (tga_mod_LDFLAGS): Likewise.
14392 (jpeg_mod_SOURCES): Likewise.
14393 (jpeg_mod_CFLAGS): Likewise.
14394 (jpeg_mod_LDFLAGS): Likewise.
14395 (png_mod_SOURCES): Likewise.
14396 (png_mod_CFLAGS): Likewise.
14397 (png_mod_LDFLAGS): Likewise.
14398 (gfxterm_mod_SOURCES): Likewise.
14399 (gfxterm_mod_CFLAGS): Likewise.
14400 (gfxterm_mod_LDFLAGS): Likewise.
14401
14402 * term/gfxterm.c: Removed include to grub/machine/memory.h,
14403 grub/machine/console.h.
14404
14405 2009-01-04 Jerone Young <jerone@gmail.com>
14406
14407 Make on screen instructions clearer
14408
14409 Based on patch created by Jidanni <jidanni@jidanni.org>
14410
14411 * normal/menu.c: print clearer instructions on the screen
14412
14413 2009-01-02 Colin D Bennett <colin@gibibit.com>
14414
14415 New font engine.
14416
14417 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
14418 build system and fixed gfxterm.c to work with different sized fonts.
14419
14420 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
14421
14422 * configure: Re-generated.
14423
14424 * DISTLIST: Removed font/manager.c.
14425 Added font/font.c.
14426 Added font/font_cmd.c.
14427
14428 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
14429 compilation.
14430
14431 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
14432
14433 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
14434
14435 * kern/term.c: Changed users of grub_utf8_to_ucs4.
14436
14437 * normal/menu.c: Likewise.
14438
14439 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
14440 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
14441
14442 * include/grub/font.h: Replaced with new file.
14443
14444 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
14445 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
14446 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
14447 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
14448 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
14449 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
14450 fg_red, fg_green, fg_blue, fg_alpha.
14451 (grub_video_adapter): Removed blit_glyph.
14452 (grub_video_blit_glyph): Removed.
14453
14454 * font/manager.c: Removed file.
14455
14456 * font/font.c: New file.
14457
14458 * font/font_cmd.c: Likewise.
14459
14460 * video/video.c (grub_video_blit_glyph): Removed.
14461
14462 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
14463 (grub_video_vbe_map_rgba): Likewise.
14464 (grub_video_vbe_unmap_color_int): Likewise.
14465 (grub_video_vbe_blit_glyph): Removed.
14466 (grub_video_vbe_adapter): Removed blit_glyph.
14467
14468 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
14469 (get_pixel): Likewise.
14470 (set_pixel): Likewise.
14471
14472 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
14473
14474 * term/gfxterm.c: Adapted to new font engine.
14475
14476 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
14477
14478 * term/i386/pc/vga.c: Likewise.
14479
14480 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
14481
14482 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
14483
14484 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14485
14486 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14487
14488 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
14489
14490 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
14491
14492 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
14493
14494 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
14495
14496 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
14497
14498 * util/grub.d/00_header.in: Changed to use new loadfont command.
14499
14500 * util/grub-mkconfig_lib.in: Changed font extension.
14501
14502 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
14503
14504 * util/getroot.c (grub_util_get_grub_dev): Add support for
14505 /dev/md/dNNpNN style partitionable mdraid devices.
14506
14507 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
14508
14509 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
14510 at a time limit of the PXE TFTP API correctly.
14511 (grub_pxefs_close): Likewise.
14512
14513 2008-11-29 Robert Millan <rmh@aybabtu.com>
14514
14515 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
14516 grub_ata_device_initialize() calls.
14517
14518 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
14519
14520 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
14521 iteration failed.
14522 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
14523
14524 2008-11-28 Robert Millan <rmh@aybabtu.com>
14525
14526 Fix build on powerpc-ieee1275. Based on patch created by
14527 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
14528 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
14529 `kern/ieee1275/mmap.c'.
14530 * include/grub/powerpc/ieee1275/memory.h: New file.
14531
14532 Provide grub-install on coreboot.
14533 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
14534 (grub_install_SOURCES): New variable.
14535 * util/i386/pc/grub-install.in: Add a few condition checks to make it
14536 usable on coreboot.
14537
14538 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
14539
14540 * util/grub-fstest.c (grub_term_get_current_input): Change return type
14541 to `grub_term_input_t'.
14542 (grub_term_get_current_output): Change return type to
14543 `grub_term_output_t'.
14544
14545 2008-11-22 Robert Millan <rmh@aybabtu.com>
14546
14547 Fix breakage on coreboot due to declaration mismatch.
14548 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
14549 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
14550 grub_vga_text_cls().
14551
14552 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
14553 comments. Avoid copying one more byte than necessary (just in case).
14554
14555 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
14556 to 0x200000 (avoids trouble with some OFW implementations, and matches
14557 with the one in Yaboot).
14558 Reported by Manoel Abranches
14559
14560 2008-11-20 Robert Millan <rmh@aybabtu.com>
14561
14562 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
14563 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
14564
14565 * util/grub-mkconfig_lib.in (grub_warn): New function.
14566 (convert_system_path_to_grub_path): Use grub_warn() when issuing
14567 warnings, to obtain consistent formatting.
14568 * util/grub.d/00_header.in: Likewise.
14569 * util/update-grub_lib.in: Likewise.
14570
14571 * loader/i386/linux.c (allocate_pages): Fix a warning.
14572 Move comment text to `#error' stanza.
14573
14574 Harmonize ieee1275's grub_available_iterate() with the generic
14575 grub_machine_mmap_iterate() interface (fixes a recently-introduced
14576 build problem on i386-ieee1275):
14577 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
14578 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
14579 parameter `type'. Update all users of this function.
14580 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
14581 `kern/ieee1275/mmap.c'.
14582 * kern/ieee1275/init.c
14583 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
14584 with ...
14585 (grub_machine_mmap_iterate): ... this.
14586 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
14587 return type to `grub_err_t'. Update all implementations of this
14588 function prototype.
14589 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
14590 Likewise.
14591
14592 Add `lsmmap' command (lists firmware-provided memory map):
14593 * commands/lsmmap.c: New file.
14594 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
14595 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
14596 variables.
14597 * conf/powerpc-ieee1275.rmk: Likewise.
14598 * conf/i386-coreboot.rmk: Likewise.
14599 * conf/i386-ieee1275.rmk: Likewise.
14600
14601 2008-11-19 Robert Millan <rmh@aybabtu.com>
14602
14603 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
14604 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
14605 constraints to initrd allocation (based on code from
14606 loader/i386/pc/linux.c). Without them, initrd was allocated too high
14607 for Linux to find it.
14608
14609 2008-11-14 Robert Millan <rmh@aybabtu.com>
14610
14611 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
14612 order to cope with duplicate slashes.
14613
14614 2008-11-14 Robert Millan <rmh@aybabtu.com>
14615
14616 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
14617 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
14618 don't want to mess with lower memory, because it is used in the Linux
14619 loader.
14620
14621 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
14622 an appropriate place in lower memory, between 0x10000 and 0x90000,
14623 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
14624 is in our heap (probably as a result of it being corrupted during
14625 decompression). Add #error instance with comment to explain why this
14626 loader isn't currently usable on PC/BIOS.
14627
14628 2008-11-14 Robert Millan <rmh@aybabtu.com>
14629
14630 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
14631 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
14632
14633 2008-11-12 Robert Millan <rmh@aybabtu.com>
14634
14635 Make loader/i386/linux.c buildable on i386-pc (although disabled).
14636
14637 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
14638 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
14639 from here ...
14640 * include/grub/i386/pc/memory.h: ... to here.
14641
14642 2008-11-12 Robert Millan <rmh@aybabtu.com>
14643
14644 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
14645 split).
14646
14647 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
14648 (grub_console_cur_color, grub_console_real_putchar)
14649 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
14650 (grub_console_setcolorstate, grub_console_setcolor)
14651 (grub_console_getcolor): Move from here ...
14652 * include/grub/i386/vga_common.h: ... to here (new file).
14653
14654 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
14655 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
14656 `<grub/i386/io.h>'.
14657 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
14658 `<grub/i386/vga_common.h>'.
14659
14660 2008-11-12 Robert Millan <rmh@aybabtu.com>
14661
14662 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
14663 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
14664 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
14665 variables.
14666 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
14667 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
14668
14669 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
14670 grub_console_init() with call to grub_vga_text_init().
14671 (grub_machine_fini): Replace call to
14672 grub_console_fini() with call to grub_vga_text_fini() and
14673 grub_at_keyboard_fini().
14674
14675 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
14676 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
14677 (grub_console_setcolorstate, grub_console_setcolor)
14678 (grub_console_getcolor): New function prototypes.
14679
14680 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
14681 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
14682 (grub_vga_text_setcursor): Static-ize.
14683 (grub_vga_text_term): New structure.
14684 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
14685
14686 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
14687 (grub_console_cur_color, grub_console_standard_color)
14688 (grub_console_normal_color, grub_console_highlight_color)
14689 (map_char, grub_console_putchar, grub_console_getcharwidth)
14690 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
14691 (grub_console_getcolor): Move from here ...
14692 * term/i386/vga_common.c: ... to here (same function names).
14693
14694 2008-11-12 Robert Millan <rmh@aybabtu.com>
14695
14696 Use newly-added Multiboot support in coreboot.
14697
14698 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
14699 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
14700
14701 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
14702 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
14703 (codestart): Store the MBI in `startup_multiboot_info' when we're
14704 being loaded using Multiboot.
14705
14706 * kern/i386/coreboot/init.c (grub_machine_init): Move
14707 grub_at_keyboard_init() call to beginning of function (useful for
14708 debugging). Call grub_machine_mmap_init() before attempting to use
14709 grub_machine_mmap_iterate().
14710 (grub_lower_mem, grub_upper_mem): Move from here ...
14711 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
14712 here (new file).
14713
14714 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
14715 function prototype.
14716
14717 2008-11-12 Robert Millan <rmh@aybabtu.com>
14718
14719 Fix a regression introduced by the at_keyboard.mod split. Because
14720 some terminals are default on some platforms and non-default on
14721 others, the first terminal being registered determines which is
14722 going to be default.
14723
14724 * kern/term.c (grub_term_register_input): If this is the first
14725 terminal being registered, set it as the current one.
14726 (grub_term_register_output): Likewise.
14727
14728 * term/efi/console.c (grub_console_init): Do not call
14729 grub_term_set_current_output() or grub_term_set_current_input().
14730 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
14731 * term/i386/pc/console.c (grub_console_init): Likewise.
14732 (grub_console_fini): Do not call grub_term_set_current_input()
14733 (but leave grub_term_set_current_output() to restore text mode).
14734
14735 2008-11-10 Robert Millan <rmh@aybabtu.com>
14736
14737 * util/grub.d/00_header.in: Add backward compatibility check for
14738 versions of terminal.mod that don't understand `terminal_input' or
14739 `terminal_output'.
14740
14741 2008-11-09 Robert Millan <rmh@aybabtu.com>
14742
14743 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
14744 `terminal_input' / `terminal_output', not `terminal'.
14745
14746 2008-11-08 Robert Millan <rmh@aybabtu.com>
14747
14748 * Makefile.in (include_DATA): Fix srcdir=. assumption.
14749 (DISTCLEANFILES): Add `build_env.mk'.
14750
14751 2008-11-08 Robert Millan <rmh@aybabtu.com>
14752
14753 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
14754 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14755 members. Update all users.
14756 * util/console.c (grub_ncurses_term): Split in ...
14757 (grub_ncurses_term_input): ... this, and ...
14758 (grub_ncurses_term_output): ... this. Update all users.
14759 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
14760
14761 2008-11-08 Robert Millan <rmh@aybabtu.com>
14762
14763 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
14764 (PKGDATA): Add $(pkgdata_SRCDIR).
14765 (pkglib_BUILDDIR): New variable.
14766 (pkgdata_SRCDIR): New variable.
14767 (build_env.mk): New target.
14768 (include_DATA): New variable.
14769 (install-local): Install $(include_DATA) files in $(includedir).
14770
14771 2008-11-07 Pavel Roskin <proski@gnu.org>
14772
14773 * gendistlist.sh: Use C locale for sorting to ensure consistent
14774 output on all systems.
14775
14776 * util/grub.d/00_header.in: Remove incorrect space before
14777 "serial".
14778
14779 2008-11-07 Robert Millan <rmh@aybabtu.com>
14780
14781 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
14782 per specification.
14783 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
14784 * loader/multiboot_loader.c (find_multi_boot2_header): New function
14785 (based on find_multi_boot1_header).
14786 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
14787 using find_multi_boot2_header(), and abort if neither Multiboot or
14788 Multiboot headers were found.
14789
14790 2008-11-07 Robert Millan <rmh@aybabtu.com>
14791
14792 Modularize at_keyboard.mod:
14793
14794 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
14795 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
14796 (at_keyboard_mod_LDFLAGS): New variables.
14797
14798 Actual terminal split:
14799
14800 * include/grub/term.h (struct grub_term): Split in ...
14801 (struct grub_term_input): ... this, and ...
14802 (struct grub_term_output): ... this. Update all users.
14803 (grub_term_set_current): Split in ...
14804 (grub_term_set_current_input): ... this, and ...
14805 (grub_term_set_current_output): ... this.
14806 (grub_term_get_current): Split in ...
14807 (grub_term_get_current_input): ... this, and ...
14808 (grub_term_get_current_output): ... this.
14809 (grub_term_register): Split in ...
14810 (grub_term_register_input): ... this, and ...
14811 (grub_term_register_output): ... this.
14812 (grub_term_unregister): Split in ...
14813 (grub_term_unregister_input): ... this, and ...
14814 (grub_term_unregister_output): ... this.
14815 (grub_term_iterate): Split in ...
14816 (grub_term_iterate_input): ... this, and ...
14817 (grub_term_iterate_output): ... this.
14818
14819 * kern/term.c (grub_term_list): Split in ...
14820 (grub_term_list_input): ... this, and ...
14821 (grub_term_list_output): ... this. Update all users.
14822 (grub_cur_term): Split in ...
14823 (grub_cur_term_input): ... this, and ...
14824 (grub_cur_term_output): ... this. Update all users.
14825 (grub_term_set_current): Split in ...
14826 (grub_term_set_current_input): ... this, and ...
14827 (grub_term_set_current_output): ... this.
14828 (grub_term_get_current): Split in ...
14829 (grub_term_get_current_input): ... this, and ...
14830 (grub_term_get_current_output): ... this.
14831 (grub_term_register): Split in ...
14832 (grub_term_register_input): ... this, and ...
14833 (grub_term_register_output): ... this.
14834 (grub_term_unregister): Split in ...
14835 (grub_term_unregister_input): ... this, and ...
14836 (grub_term_unregister_output): ... this.
14837 (grub_term_iterate): Split in ...
14838 (grub_term_iterate_input): ... this, and ...
14839 (grub_term_iterate_output): ... this.
14840
14841 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
14842 a check for input and one for output (and only attempt to get keys
14843 from user when input works).
14844
14845 * util/grub-probe.c (grub_term_get_current): Split in ...
14846 (grub_term_get_current_input): ... this, and ...
14847 (grub_term_get_current_output): ... this.
14848 * util/grub-fstest.c: Likewise.
14849 * util/i386/pc/grub-setup.c: Likewise.
14850 * util/grub-editenv.c: Likewise.
14851
14852 Portability adjustments:
14853
14854 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
14855 `term/i386/pc/at_keyboard.c'.
14856 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
14857 grub_keyboard_controller_init() (now handled by terminal .init).
14858 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
14859 grub_at_keyboard_init().
14860 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
14861 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
14862 at_keyboard.mod via input terminal interface).
14863 * include/grub/i386/coreboot/console.h: Convert into a stub for
14864 `<grub/i386/pc/console.h>'.
14865
14866 Migrate full terminals to new API:
14867
14868 * term/efi/console.c (grub_console_term): Split into ...
14869 (grub_console_term_input): ... this, and ...
14870 (grub_console_term_output): ... this. Update all users.
14871 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
14872 (grub_ofconsole_init): Split into ...
14873 (grub_ofconsole_init_input): ... this, and ...
14874 (grub_ofconsole_init_output): ... this.
14875 (grub_ofconsole_term): Split into ...
14876 (grub_ofconsole_term_input): ... this, and ...
14877 (grub_ofconsole_term_output): ... this. Update all users.
14878 * term/i386/pc/serial.c (grub_serial_term): Split into ...
14879 (grub_serial_term_input): ... this, and ...
14880 (grub_serial_term_output): ... this. Update all users.
14881 * term/i386/pc/console.c (grub_console_term): Split into ...
14882 (grub_console_term_input): ... this, and ...
14883 (grub_console_term_output): ... this. Update all users.
14884 (grub_console_term_input): Only enable it on PC/BIOS platform.
14885 (grub_console_init): Remove grub_keyboard_controller_init() call.
14886
14887 Migrate input terminals to new API:
14888
14889 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
14890 `i386' and `i386/pc' to enable build on x86_64 (this driver is
14891 i386-specific anyway).
14892 (grub_console_checkkey): Rename to ...
14893 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
14894 users.
14895 (grub_keyboard_controller_orig): New variable.
14896 (grub_console_getkey): Rename to ...
14897 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
14898 users.
14899 (grub_keyboard_controller_init): Static-ize. Save original
14900 controller value so that it can be restored ...
14901 (grub_keyboard_controller_fini): ... here (new function).
14902 (grub_at_keyboard_term): New structure.
14903 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
14904 functions.
14905
14906 Migrate output terminals to new API:
14907
14908 * term/i386/pc/vga.c (grub_vga_term): Change type to
14909 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14910 members. Update all users.
14911 * term/gfxterm.c (grub_video_term): Change type to
14912 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14913 members. Update all users.
14914 * include/grub/i386/pc/console.h (grub_console_checkkey)
14915 (grub_console_getkey): Do not export (no longer needed by gfxterm,
14916 etc).
14917
14918 Migrate `terminal' command and userland tools to new API:
14919
14920 * commands/terminal.c (grub_cmd_terminal): Split into ...
14921 (grub_cmd_terminal_input): ... this, and ...
14922 (grub_cmd_terminal_output): ... this.
14923 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
14924 `terminal_input' and `terminal_output'.
14925 * util/grub.d/00_header.in: Adjust `terminal' calls to new
14926 `terminal_input' / `terminal_output' API.
14927 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
14928 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
14929 provided ${GRUB_TERMINAL}, convert it).
14930
14931 2008-11-04 Robert Millan <rmh@aybabtu.com>
14932
14933 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
14934 for FreeBSD.
14935 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
14936
14937 2008-11-03 Bean <bean123ch@gmail.com>
14938
14939 * kern/elf.c (grub_elf32_load): Revert to previous code.
14940 (grub_elf64_load): Likewise.
14941
14942 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
14943
14944 2008-11-01 Robert Millan <rmh@aybabtu.com>
14945
14946 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
14947 (TARGET_CPPFLAGS): Likewise.
14948 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
14949
14950 2008-11-01 Carles Pina i Estany <carles@pina.cat>
14951
14952 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
14953
14954 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
14955
14956 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
14957 addition of objects until the code is not going to be able to fail.
14958
14959 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
14960
14961 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
14962 (add a missing NULL check, and correct them by moving the pointer
14963 operations after the actual check).
14964
14965 2008-10-29 Robert Millan <rmh@aybabtu.com>
14966
14967 * util/i386/pc/grub-install.in: Handle empty string as output from
14968 make_system_path_relative_to_its_root().
14969
14970 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
14971
14972 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
14973 circular metadata worst case scenario. If the metadata is circular
14974 then copy the wrap in place.
14975 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
14976 project lib/format_text/layout.h
14977 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
14978
14979 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
14980
14981 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
14982
14983 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
14984
14985 * util/update-grub_lib.in: Mention filename in warning message.
14986
14987 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
14988
14989 * NEWS: Update for rename of update-grub to grub-mkconfig.
14990
14991 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
14992
14993 * util/update-grub_lib.in: Copy to ...
14994 * util/grub-mkconfig_lib.in: ... this. Update all users.
14995 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
14996 * util/update-grub.in: Rename to ...
14997 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
14998 option. Add `--output' option to allow users to specify the generated
14999 configuration file. Default to stdout.
15000 (update_grub_dir): Rename to ...
15001 (grub_mkconfig_dir): ... this.
15002 (grub_cfg): Default to an empty string.
15003 * conf/common.rmk (update-grub): Rename to ...
15004 (grub-mkconfig): ... this.
15005 (update-grub_lib): Copy to ...
15006 (grub-mkconfig_lib): ... this.
15007 (update-grub_SCRIPTS): Copy to ...
15008 (grub-mkconfig_SCRIPTS): ... this. Update all users.
15009 (update-grub_DATA): Rename to ...
15010 (grub-mkconfig_DATA): ... this.
15011
15012 2008-09-28 Robert Millan <rmh@aybabtu.com>
15013
15014 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
15015 to `modified'. Add the real `created' field.
15016 (grub_iso9660_uuid): Use `modified' rather than `created' for
15017 constructing the UUID.
15018
15019 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
15020
15021 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
15022 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
15023
15024 2008-09-28 Bean <bean123ch@gmail.com>
15025
15026 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
15027 Thanks to Christian Franke for finding this bug.
15028
15029 2008-09-25 Robert Millan <rmh@aybabtu.com>
15030
15031 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
15032 instances of grub_util_get_disk_name() (see previous commit).
15033
15034 2008-09-25 Robert Millan <rmh@aybabtu.com>
15035
15036 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
15037 `util/i386/get_disk_name.c'.
15038 * conf/i386-efi.rmk: Likewise.
15039 * conf/x86_64-efi.rmk: Likewise.
15040 * conf/i386-coreboot.rmk: Likewise.
15041 * conf/i386-ieee1275.rmk: Likewise.
15042 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
15043 `util/ieee1275/get_disk_name.c'.
15044 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
15045 * util/ieee1275/get_disk_name.c: Remove file.
15046 * util/i386/get_disk_name.c: Remove file.
15047 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
15048 "hd%d" for device.map entries, rather than using
15049 grub_util_get_disk_name().
15050
15051 2008-09-24 Carles Pina i Estany <carles@pina.cat>
15052
15053 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
15054 warning.
15055 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
15056
15057 2008-09-24 Carles Pina i Estany <carles@pina.cat>
15058
15059 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
15060 Changed to 0x5100.
15061 (GRUB_TERM_PPAGE): Changed to 0x4900.
15062
15063 2008-09-24 Robert Millan <rmh@aybabtu.com>
15064
15065 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
15066 macros (they were i386-pc specific).
15067 * include/grub/sparc64/ieee1275/console.h: Likewise.
15068 * include/grub/efi/console.h: Likewise.
15069
15070 2008-09-22 Bean <bean123ch@gmail.com>
15071
15072 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
15073 resident and in attribute list.
15074
15075 * include/grub/ntfs.h (BMP_LEN): Removed.
15076
15077 2008-09-22 Bean <bean123ch@gmail.com>
15078
15079 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
15080 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
15081
15082 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
15083 error occurs, as grub_disk_open will call grub_disk_close, which will
15084 call p->close (scsi).
15085
15086 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
15087
15088 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
15089 (AC_PREREQ): Bumped to 2.59.
15090 (AC_TRY_COMPILE): Replace obsolete macro with ...
15091 (AC_COMPILE_IFELSE): ... this.
15092 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
15093 (AC_LINK_IFELSE): ... this.
15094
15095 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
15096
15097 * autogen.sh: Add a call to `gendistlist.sh'.
15098
15099 2008-09-19 Christian Franke <franke@computer.org>
15100
15101 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
15102 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
15103 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
15104 Export __enable_execute_stack() to modules.
15105 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
15106 New function.
15107
15108 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
15109
15110 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
15111 Sort the list.
15112
15113 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
15114
15115 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
15116 #include <grub/util/hostdisk.h>.
15117
15118 2008-09-08 Robert Millan <rmh@aybabtu.com>
15119
15120 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
15121 segments when their filesz is zero (grub_file_read() interprets
15122 zero-size as "read until EOF", which results in memory corruption).
15123 Use `lowest_segment' rather than 0 for calculating the current
15124 segment load address.
15125
15126 2008-09-08 Robert Millan <rmh@aybabtu.com>
15127
15128 * util/hostdisk.c (open_device): Replace a grub_util_info() call
15129 with grub_dprintf("hostdisk", ...), as it was so verbose that it
15130 clobbered useful information.
15131
15132 2008-09-08 Robert Millan <rmh@aybabtu.com>
15133
15134 * include/grub/util/biosdisk.h: Move to ...
15135 * include/grub/util/hostdisk.h: ... here. Update all users.
15136 * util/biosdisk.c: Move to ...
15137 * util/hostdisk.c: ... here. Update all users.
15138
15139 2008-09-07 Robert Millan <rmh@aybabtu.com>
15140
15141 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
15142 variables.
15143 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
15144 and length can be stored directly in the `mbi->mmap_addr' and
15145 `mbi->mmap_length' struct fields.
15146
15147 2008-09-07 Robert Millan <rmh@aybabtu.com>
15148
15149 * conf/i386.rmk: New file. Provides declaration for building
15150 `cpuid.mod'.
15151 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
15152 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
15153 variables.
15154 Include `conf/i386.mk'.
15155 * conf/i386-efi.rmk: Likewise.
15156 * conf/x86_64-efi.rmk: Likewise.
15157 * conf/i386-coreboot.rmk: Likewise.
15158 * conf/i386-ieee1275.rmk: Likewise.
15159
15160 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
15161
15162 Based on patch created by Colin D Bennett <colin@gibibit.com>.
15163 Adds optimization support for BGR based modes.
15164
15165 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
15166 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
15167 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15168 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15169 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15170 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15171 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15172 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15173 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15174 (grub_video_i386_vbeblit_index_index): Likewise.
15175 (grub_video_i386_vbeblit_replace_directN): Added.
15176 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
15177 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
15178 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
15179 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
15180 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
15181 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
15182 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
15183 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
15184 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
15185 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
15186 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
15187 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
15188 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
15189
15190 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
15191 (grub_video_i386_vbefill_R8G8B8): Likewise.
15192 (grub_video_i386_vbefill_index): Likewise.
15193 (grub_video_i386_vbefill_direct32): Added.
15194 (grub_video_i386_vbefill_direct24): Likewise.
15195 (grub_video_i386_vbefill_direct16): Likewise.
15196 (grub_video_i386_vbefill_direct8): Likewise.
15197
15198 * include/grub/video.h (grub_video_blit_format): Removed
15199 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
15200 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
15201 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
15202 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
15203 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
15204
15205 * video/video.c (grub_video_get_blit_format): Updated to use new
15206 blit formats. Added handling for 16 bit color modes.
15207
15208 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
15209 fillers.
15210 (common_blitter): Updated to use new blitters.
15211
15212 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
15213 Removed.
15214 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
15215 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15216 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15217 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15218 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15219 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15220 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15221 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15222 (grub_video_i386_vbeblit_index_index): Likewise.
15223 (grub_video_i386_vbeblit_replace_directN): Added.
15224 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
15225 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
15226 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
15227 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
15228 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
15229 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
15230 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
15231 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
15232 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
15233 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
15234 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
15235 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
15236 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
15237
15238 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
15239 (grub_video_i386_vbefill_R8G8B8): Likewise.
15240 (grub_video_i386_vbefill_index): Likewise.
15241 (grub_video_i386_vbefill_direct32): Added.
15242 (grub_video_i386_vbefill_direct24): Likewise.
15243 (grub_video_i386_vbefill_direct16): Likewise.
15244 (grub_video_i386_vbefill_direct8): Likewise.
15245
15246 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
15247 types.
15248
15249 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
15250 types.
15251
15252 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
15253 blitter types.
15254
15255 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
15256 types.
15257
15258 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
15259
15260 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
15261 RAID level 1.
15262
15263 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
15264
15265 * fs/iso9660.c (grub_iso9660_date): New structure.
15266 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
15267 (grub_iso9660_uuid): New function.
15268
15269 2008-09-05 Bean <bean123ch@gmail.com>
15270
15271 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
15272
15273 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
15274 insensitive bit for names in Win32 and Win32 & DOS namespace.
15275
15276 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
15277
15278 * include/grub/types.h (LONG_MAX): Likewise.
15279
15280 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
15281
15282 * util/getroot.c: Include <config.h>.
15283 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
15284 add support for /dev/md/N devices and handle LVM double dash escaping.
15285
15286 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
15287
15288 * config.guess: Update to latest version from config git.
15289 * config.sub: Likewise.
15290
15291 2008-09-03 Robert Millan <rmh@aybabtu.com>
15292
15293 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
15294 `disk->total_sectors'.
15295
15296 2008-09-01 Colin D Bennett <colin@gibibit.com>
15297
15298 * include/grub/normal.h: Fixed incorrect comment for
15299 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
15300
15301 2008-09-01 Colin D Bennett <colin@gibibit.com>
15302
15303 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
15304 values with defines.
15305
15306 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
15307 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
15308 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
15309 (GRUB_VBE_MODEATTR_COLOR): Likewise.
15310 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
15311 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
15312 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
15313 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
15314 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
15315 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
15316 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
15317 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
15318 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
15319 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
15320 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
15321 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
15322 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
15323 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
15324 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
15325
15326 2008-08-31 Robert Millan <rmh@aybabtu.com>
15327
15328 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
15329 declaration.
15330 (grub_multiboot): Fix a few warnings.
15331
15332 2008-08-31 Robert Millan <rmh@aybabtu.com>
15333
15334 * loader/i386/pc/multiboot.c: Update comment not to say that
15335 boot_device support is unimplemented.
15336
15337 2008-08-31 Robert Millan <rmh@aybabtu.com>
15338
15339 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
15340 or memory map support are unimplemented.
15341
15342 2008-08-31 Colin D Bennett <colin@gibibit.com>
15343
15344 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
15345
15346 2008-08-31 Colin D Bennett <colin@gibibit.com>
15347
15348 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
15349 total video memory in 'vbeinfo' output; show color format details for
15350 each video mode.
15351
15352 2008-08-30 Pavel Roskin <proski@gnu.org>
15353
15354 * util/genmoddep.c: Remove for real this time.
15355 * DISTLIST: Remove util/genmoddep.c.
15356
15357 2008-08-30 Robert Millan <rmh@aybabtu.com>
15358
15359 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
15360 as required by Multiboot spec (it was already 4-byte aligned, but
15361 only by chance).
15362
15363 2008-08-29 Pavel Roskin <proski@gnu.org>
15364
15365 * kern/powerpc/ieee1275/crt0.S: Rename to ...
15366 * kern/powerpc/ieee1275/startup.S: ... this.
15367 * conf/powerpc-ieee1275.rmk: Adjust for the above.
15368 * DISTLIST: Likewise.
15369
15370 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
15371 grub/cpu/kernel.h. Add start label for consistency with other
15372 platforms. Add grub_prefix immediately after start. Add jump
15373 to the code after grub_prefix.
15374 * include/grub/powerpc/kernel.h: Provide valid values for
15375 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
15376
15377 2008-08-29 Bean <bean123ch@gmail.com>
15378
15379 * configure.ac: Change host_os to cygwin for mingw.
15380 (asprintf): New check for function.
15381
15382 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
15383 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
15384
15385 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
15386 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
15387 sync, sleep and grub_util_get_disk_size for mingw.
15388
15389 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
15390 to get size in mingw.
15391 (open_device): Use flag O_BINARY if it's defined.
15392 (find_root_device): Add dummy code for mingw.
15393
15394 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
15395 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
15396 (get_scsi_disk_name): Return 0 for mingw.
15397
15398 * util/hostfs.c: #include <grub/util/misc.h>.
15399 (grub_hostfs_open): Use "rb" flag to open file, use
15400 grub_util_get_disk_size to get disk size for mingw.
15401
15402 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
15403 (asprintf): New function if HAVE_ASPRINTF is not set.
15404 (sync): New function for mingw.
15405 (sleep): Likewise.
15406 (grub_util_get_disk_size): Likewise.
15407
15408 2008-08-28 Pavel Roskin <proski@gnu.org>
15409
15410 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15411 kern/time.c.
15412
15413 2008-08-28 Robert Millan <rmh@aybabtu.com>
15414
15415 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
15416
15417 2008-08-28 Robert Millan <rmh@aybabtu.com>
15418
15419 Change find_grub_drive() syntax so it doesn't prevent it from
15420 detecting NULL names as errors.
15421
15422 * util/biosdisk.c (find_grub_drive): Move free slot search code
15423 from here ...
15424 (find_free_slot): ... to here.
15425 (read_device_map): Use find_free_slot() to search for free slots.
15426
15427 2008-08-27 Marco Gerards <marco@gnu.org>
15428
15429 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
15430 (scsi_mod_SOURCES): New variable.
15431 (scsi_mod_CFLAGS): Likewise
15432 (scsi_mod_LDFLAGS): Likewise.
15433
15434 * disk/scsi.c: New file.
15435
15436 * include/grub/scsi.h: Likewise.
15437
15438 * include/grub/scsicmd.h: Likewise.
15439
15440 * disk/ata.c: Include <grub/scsi.h>.
15441 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
15442 instead.
15443 (grub_ata_iterate): Skip ATAPI devices.
15444 (grub_ata_open): Only handle ATAPI devices.
15445 (struct grub_atapi_read): Removed.
15446 (grub_atapi_readsector): Likewise.
15447 (grub_ata_read): No longer handle ATAPI devices.
15448 (grub_ata_write): Likewise.
15449 (grub_atapi_iterate): New function.
15450 (grub_atapi_read): Likewise.
15451 (grub_atapi_write): Likewise.
15452 (grub_atapi_open): Likewise.
15453 (grub_atapi_close): Likewise.
15454 (grub_atapi_dev): New variable.
15455 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
15456 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
15457
15458 * include/grub/disk.h (enum grub_disk_dev_id): Add
15459 `GRUB_DISK_DEVICE_SCSI_ID'.
15460
15461 2008-08-26 Robert Millan <rmh@aybabtu.com>
15462
15463 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
15464 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
15465 descriptive.
15466
15467 2008-08-23 Bean <bean123ch@gmail.com>
15468
15469 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
15470 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
15471 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
15472 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
15473 dm_nv.mod.
15474 (raid5rec_mod_SOURCES): New macro.
15475 (raid5rec_mod_CFLAGS): Likewise.
15476 (raid5rec_mod_LDFLAGS): Likewise.
15477 (raid6rec_mod_SOURCES): Likewise.
15478 (raid6rec_mod_CFLAGS): Likewise.
15479 (raid6rec_mod_LDFLAGS): Likewise.
15480 (mdraid_mod_SOURCES): Likewise.
15481 (mdraid_mod_CFLAGS): Likewise.
15482 (mdraid_mod_LDFLAGS): Likewise.
15483 (dm_nv_mod_SOURCES): Likewise.
15484 (dm_nv_mod_CFLAGS): Likewise.
15485 (dm_nv_mod_LDFLAGS): Likewise.
15486
15487 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
15488 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
15489 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
15490
15491 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
15492 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
15493
15494 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15495
15496 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15497
15498 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15499
15500 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15501
15502 * disk/raid5_recover.c: New file.
15503
15504 * disk/raid6_recover.c: Likewise.
15505
15506 * disk/mdraid_linux.c: Likewise.
15507
15508 * disk/dmraid_nvidia.c: Likewise.
15509
15510 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
15511 ULONG_MAX.
15512
15513 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
15514 calculate the size of raid device.
15515 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
15516 different layout of raid5.
15517 (grub_raid_scan_device): Remove code specific to mdraid.
15518 (grub_raid_list): New variable.
15519 (free_array): New function.
15520 (grub_raid_register): Likewise.
15521 (grub_raid_unregister): Likewise.
15522 (grub_raid_rescan): Likewise.
15523 (GRUB_MOD_INIT): Don't iterate device here.
15524 (GRUB_MOD_FINI): Use free_array to release resource.
15525
15526 * include/grub/raid.h: Remove macro and structure specific to mdraid.
15527 (grub_raid5_recover_func_t): New function variable type.
15528 (grub_raid6_recover_func_t): Likewise.
15529 (grub_raid5_recover_func): New variable.
15530 (grub_raid6_recover_func): Likewise.
15531 (grub_raid_register): New function.
15532 (grub_raid_unregister): Likewise.
15533 (grub_raid_rescan): Likewise.
15534 (grub_raid_block_xor): Likewise.
15535
15536 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
15537 (CMD_CRC): New macro.
15538 (part): Removed.
15539 (read_file): Handle device as well as file.
15540 (cmd_crc): New function.
15541 (fstest): Handle multiple disks.
15542 (options): Remove part, raw and long, add root and diskcount.
15543 (usage): Add crc, remove -p, -r, -l, add -r and -c.
15544 (main): Find the first non option entry and ignore subsequent options,
15545 add handling for the new options, support multiple disks.
15546
15547 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
15548
15549 2008-08-23 Bean <bean123ch@gmail.com>
15550
15551 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
15552
15553 * genfslist.sh: Ignore kernel.mod.
15554
15555 * genpartmaplist.sh: Likewise.
15556
15557 2008-08-23 Robert Millan <rmh@aybabtu.com>
15558
15559 * util/getroot.c (find_root_device): Skip anything that starts with
15560 a dot, not just directories. This avoids things like /dev/.tmp.md0.
15561
15562 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
15563
15564 * util/update-grub.in (GRUB_GFXMODE): Export variable.
15565 * util/grub.d/00_header.in: Allow the administrator to change default
15566 gfxmode via ${GRUB_GFXMODE}.
15567
15568 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
15569
15570 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
15571
15572 2008-08-21 Robert Millan <rmh@aybabtu.com>
15573
15574 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
15575 loader.
15576 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
15577 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
15578
15579 2008-08-20 Carles Pina i Estany <carles@pina.cat>
15580
15581 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
15582 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
15583
15584 2008-08-19 Robert Millan <rmh@aybabtu.com>
15585
15586 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
15587 (struct grub_virtual_screen): Remove `cursor_color'.
15588 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
15589 initialization.
15590 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
15591
15592 2008-08-18 Robert Millan <rmh@aybabtu.com>
15593
15594 Unify (identical) linux_normal.c files.
15595 * loader/i386/efi/linux_normal.c: Move from here ...
15596 * loader/linux_normal.c: ... to here. Update all users.
15597 * loader/i386/pc/linux_normal.c: Delete. Update all users.
15598 * loader/i386/ieee1275/linux_normal.c: Likewise.
15599
15600 2008-08-18 Robert Millan <rmh@aybabtu.com>
15601
15602 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
15603 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
15604 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
15605 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
15606 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
15607 New macros.
15608 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
15609 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
15610 (GRUB_LINUX_CL_END_OFFSET): ... to here.
15611 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
15612 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
15613 (GRUB_EFI_CL_END_OFFSET): Rename to ...
15614 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
15615 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
15616 Initialize `params->video_cursor_x' and `params->video_cursor_y'
15617 portably using grub_getxy().
15618 Replace `-EFI' with `-bzImage' in boot message.
15619
15620 2008-08-17 Robert Millan <rmh@aybabtu.com>
15621
15622 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
15623
15624 2008-08-17 Robert Millan <rmh@aybabtu.com>
15625
15626 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
15627
15628 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
15629 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
15630 (grub_machine_mmap_iterate): New function declaration.
15631 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
15632 structure.
15633 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
15634 macros.
15635
15636 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
15637 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
15638 Move e820 parsing from here ...
15639 * kern/i386/pc/mmap.c: New file.
15640 (grub_machine_mmap_iterate): ... to here.
15641
15642 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
15643 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
15644 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
15645 (grub_available_iterate): Redeclare to return `void', and redeclare
15646 its hook to use grub_uint64_t as addr and size parameters, and rename
15647 to ...
15648 (grub_machine_mmap_iterate): ... this. Update all users.
15649
15650 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
15651 to make it more readable. Rename to ...
15652 (grub_machine_mmap_iterate): ... this.
15653
15654 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
15655 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
15656 (grub_multiboot): Allocate an extra region after the payload, and fill
15657 it with a Multiboot memory map. Adjust a.out loader to calculate size
15658 with the extra space.
15659 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
15660 with the extra space.
15661
15662 2008-08-17 Carles Pina i Estany <carles@pina.cat>
15663
15664 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
15665
15666 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
15667
15668 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
15669 mdate-sh to the list `find' searches for.
15670 * DISTLIST: Regenerated.
15671
15672 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
15673
15674 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
15675 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
15676 genmoddep.awk, gensymlist.sh.in.
15677 (DISTDIRS): Add bus, docs, hook, lib.
15678 * DISTLIST: Regenerated.
15679 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
15680
15681 2008-08-16 Robert Millan <rmh@aybabtu.com>
15682
15683 * disk/raid.c (grub_raid_init): Handle/report errors set by
15684 grub_device_iterate().
15685 * disk/lvm.c (grub_lvm_init): Likewise.
15686
15687 2008-08-15 Bean <bean123ch@gmail.com>
15688
15689 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15690 and datehook.mod.
15691 (datetime_mod_SOURCES): New macro.
15692 (datetime_mod_CFLAGS): Likewise.
15693 (datetime_mod_LDFLAGS): Likewise.
15694 (date_mod_SOURCES): Likewise.
15695 (date_mod_CFLAGS): Likewise.
15696 (date_mod_LDFLAGS): Likewise.
15697 (datehook_mod_SOURCES): Likewise.
15698 (datehook_mod_CFLAGS): Likewise.
15699 (datehook_mod_LDFLAGS): Likewise.
15700
15701 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15702 and datehook.mod.
15703 (datetime_mod_SOURCES): New macro.
15704 (datetime_mod_CFLAGS): Likewise.
15705 (datetime_mod_LDFLAGS): Likewise.
15706 (date_mod_SOURCES): Likewise.
15707 (date_mod_CFLAGS): Likewise.
15708 (date_mod_LDFLAGS): Likewise.
15709 (datehook_mod_SOURCES): Likewise.
15710 (datehook_mod_CFLAGS): Likewise.
15711 (datehook_mod_LDFLAGS): Likewise.
15712
15713 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15714 and datehook.mod.
15715 (datetime_mod_SOURCES): New macro.
15716 (datetime_mod_CFLAGS): Likewise.
15717 (datetime_mod_LDFLAGS): Likewise.
15718 (date_mod_SOURCES): Likewise.
15719 (date_mod_CFLAGS): Likewise.
15720 (date_mod_LDFLAGS): Likewise.
15721 (datehook_mod_SOURCES): Likewise.
15722 (datehook_mod_CFLAGS): Likewise.
15723 (datehook_mod_LDFLAGS): Likewise.
15724
15725 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15726 and datehook.mod.
15727 (datetime_mod_SOURCES): New macro.
15728 (datetime_mod_CFLAGS): Likewise.
15729 (datetime_mod_LDFLAGS): Likewise.
15730 (date_mod_SOURCES): Likewise.
15731 (date_mod_CFLAGS): Likewise.
15732 (date_mod_LDFLAGS): Likewise.
15733 (datehook_mod_SOURCES): Likewise.
15734 (datehook_mod_CFLAGS): Likewise.
15735 (datehook_mod_LDFLAGS): Likewise.
15736
15737 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15738 and datehook.mod.
15739 (datetime_mod_SOURCES): New macro.
15740 (datetime_mod_CFLAGS): Likewise.
15741 (datetime_mod_LDFLAGS): Likewise.
15742 (date_mod_SOURCES): Likewise.
15743 (date_mod_CFLAGS): Likewise.
15744 (date_mod_LDFLAGS): Likewise.
15745 (datehook_mod_SOURCES): Likewise.
15746 (datehook_mod_CFLAGS): Likewise.
15747 (datehook_mod_LDFLAGS): Likewise.
15748
15749 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
15750
15751 * commands/date.c: New file.
15752
15753 * hook/datehook.c: Likewise.
15754
15755 * include/grub/lib/datetime.h: Likewise.
15756
15757 * include/grub/i386/cmos.h: Likewise.
15758
15759 * lib/datetime.c: Likewise.
15760
15761 * lib/i386/datetime.c: Likewise.
15762
15763 * lib/efi/datetime.c: Likewise.
15764
15765 2008-08-14 Robert Millan <rmh@aybabtu.com>
15766
15767 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
15768 (grub_mkelfimage_SOURCES): New variable.
15769 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
15770
15771 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
15772 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
15773 * conf/powerpc-ieee1275.rmk: Likewise.
15774 * conf/i386-ieee1275.rmk: Likewise.
15775
15776 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
15777 * kern/i386/coreboot/init.c: Likewise.
15778
15779 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
15780 with `<grub/cpu/kernel.h>'.
15781 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
15782 to ...
15783 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
15784 * kern/i386/coreboot/startup.S: Likewise.
15785
15786 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
15787 (GRUB_MOD_GAP): Remove.
15788 * include/grub/powerpc/kernel.h: New file.
15789 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
15790 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
15791 * include/grub/i386/kernel.h: New file.
15792 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
15793 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
15794 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
15795
15796 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
15797 `grub-mkelfimage'.
15798 Use --directory when invoking grub_mkimage.
15799
15800 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
15801 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
15802 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
15803 and GRUB_KERNEL_CPU_PREFIX.
15804
15805 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
15806
15807 * include/grub/err.h (grub_err_printf): New function prototype.
15808 * util/misc.c (grub_err_printf): New function.
15809 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
15810 grub_printf.
15811 * kern/err.c (grub_print_error): Use grub_err_printf.
15812
15813 2008-08-13 Robert Millan <rmh@aybabtu.com>
15814
15815 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
15816
15817 2008-08-13 Robert Millan <rmh@aybabtu.com>
15818
15819 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
15820 boot entry.
15821
15822 2008-08-12 Robert Millan <rmh@aybabtu.com>
15823
15824 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
15825 of the relocation code from here ...
15826 (grub_multiboot): ... to here.
15827 (forward_relocator, backward_relocator): Move from here ...
15828 * kern/i386/loader.S (grub_multiboot_forward_relocator)
15829 (grub_multiboot_backward_relocator): ... to here.
15830 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
15831 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
15832 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
15833 (grub_multiboot_forward_relocator_end)
15834 (grub_multiboot_backward_relocator)
15835 (grub_multiboot_backward_relocator_end): New variables.
15836
15837 2008-08-12 Bean <bean123ch@gmail.com>
15838
15839 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
15840
15841 2008-08-11 Robert Millan <rmh@aybabtu.com>
15842
15843 * kern/i386/linuxbios/startup.S: Move from here ...
15844 * kern/i386/coreboot/startup.S: ... to here.
15845
15846 * kern/i386/linuxbios/init.c: Move from here ...
15847 * kern/i386/coreboot/init.c: ... to here.
15848
15849 * kern/i386/linuxbios/table.c: Move from here ...
15850 * kern/i386/coreboot/mmap.c: ... to here.
15851
15852 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
15853
15854 2008-08-11 Robert Millan <rmh@aybabtu.com>
15855
15856 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
15857 errors. Leave it to the upper layer to handle them.
15858
15859 2008-08-09 Christian Franke <franke@computer.org>
15860
15861 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
15862 * conf/common.rmk: Install `grub-pe2elf' only if requested.
15863 Install `grub.d/10_windows' only on Cygwin.
15864 * configure.ac: Add subst of `target_os'.
15865 Check `target_os' also before setting TARGET_OBJ2ELF.
15866 Add `--enable-grub-pe2elf'.
15867
15868 2008-08-08 Robert Millan <rmh@aybabtu.com>
15869
15870 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15871 (grub_last_time): Change type to grub_uint64_t.
15872 (grub_disk_open): Migrate code from to using grub_get_time_ms().
15873 (grub_disk_close): Likewise.
15874
15875 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15876 (run_menu): Migrate code from to using grub_get_time_ms().
15877
15878 * util/misc.c (grub_get_time_ms): New function.
15879
15880 2008-08-08 Marco Gerards <marco@gnu.org>
15881
15882 * disk/ata.c (grub_ata_regget): Change return type to
15883 `grub_uint8_t'.
15884 (grub_ata_regget2): Likewise.
15885 (grub_ata_wait_status): New function.
15886 (grub_ata_wait_busy): Removed function, updated all users to use
15887 `grub_ata_wait_status'.
15888 (grub_ata_wait_drq): Likewise.
15889 (grub_ata_cmd): New function.
15890 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
15891 error handling.
15892 (grub_ata_pio_write): Add error handling.
15893 (grub_atapi_identify): Likewise.
15894 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
15895 handling.
15896 (grub_ata_identify): Use `grub_ata_cmd' and improve error
15897 handling. Actually use the detected registers. Reorder the
15898 detection logic such that it is easier to read.
15899 (grub_ata_pciinit): Do not assign the same ID to each controller.
15900 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
15901 handling.
15902 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
15903
15904 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
15905
15906 2008-08-08 Marco Gerards <marco@gnu.org>
15907
15908 * NEWS: Update.
15909
15910 2008-08-07 Bean <bean123ch@gmail.com>
15911
15912 * include/grub/x86_64/pci.h: New file.
15913
15914 2008-08-07 Christian Franke <franke@computer.org>
15915
15916 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
15917 (TIMER2_GATE): Likewise.
15918 (grub_pit_wait): Add enable/disable of the timer2 gate
15919 bit of port 0x61. This fixes a possible infinite loop.
15920
15921 2008-08-07 Bean <bean123ch@gmail.com>
15922
15923 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
15924 kern/i386/tsc.c and kern/i386/pit.c.
15925
15926 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
15927 x86_64 platform.
15928
15929 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
15930 <grub/i386/tsc.h>.
15931
15932 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
15933
15934 2008-08-07 Bean <bean123ch@gmail.com>
15935
15936 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
15937
15938 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
15939
15940 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
15941 multiple inclusion. Add #include <grub/types.h>.
15942
15943 2008-08-06 Christian Franke <franke@computer.org>
15944
15945 * conf/common.rmk: Build and install `10_windows'.
15946 * util/grub.d/10_windows.in: New script.
15947
15948 2008-08-06 Pavel Roskin <proski@gnu.org>
15949
15950 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
15951
15952 2008-08-06 Robert Millan <rmh@aybabtu.com>
15953
15954 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
15955 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
15956
15957 2008-08-06 Bean <bean123ch@gmail.com>
15958
15959 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
15960 (grub_pxefs_fs_int): Remove dummy definition.
15961 (grub_pxefs_open): Use data->block_size to store the current block
15962 size setting.
15963 (grub_pxefs_read): Use block size stored in data->block_size. As the
15964 value of grub_pxe_blksize can be changed after the file is opened.
15965
15966 2008-08-06 Bean <bean123ch@gmail.com>
15967
15968 * fs/i386/pc/pxe.c (curr_file): new variable.
15969 (grub_pxefs_open): Simply the handling of pxe file system. Don't
15970 require the dummy internal file system anymore.
15971 (grub_pxefs_read): Removed.
15972 (grub_pxefs_close): Likewise.
15973 (grub_pxefs_fs_int): Likewise.
15974 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
15975 connection when we switch file.
15976 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
15977
15978 2008-08-06 Robert Millan <rmh@aybabtu.com>
15979
15980 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
15981 `halt.mod'.
15982 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
15983 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
15984
15985 * kern/i386/halt.c: New file.
15986 * kern/i386/reboot.c: Likewise.
15987 * include/grub/i386/reboot.h: Likewise.
15988 * include/grub/i386/halt.h: Likewise.
15989
15990 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
15991 Include `<grub/cpu/halt.h>'.
15992 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
15993 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
15994
15995 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
15996 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
15997 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
15998 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
15999 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
16000 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
16001 from here ...
16002 * include/grub/i386/at_keyboard.h: ... to here.
16003
16004 2008-08-05 Robert Millan <rmh@aybabtu.com>
16005
16006 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
16007 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
16008 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
16009 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16010 `kern/generic/millisleep.c'.
16011
16012 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
16013 instead of grub_get_rtc().
16014 (grub_tsc_init): Initialize `tsc_boot_time'.
16015
16016 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
16017 (grub_machine_init): Use grub_tsc_init() rather than
16018 installing an RTC-based handler via grub_install_get_time_ms().
16019
16020 * kern/i386/pit.c: New file.
16021 * include/grub/i386/pit.h: Likewise.
16022
16023 2008-08-05 Bean <bean123ch@gmail.com>
16024
16025 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
16026
16027 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
16028 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
16029 (pxe_mod_SOURCES): New macro.
16030 (pxe_mod_CFLAGS): Likewise.
16031 (pxe_mod_LDFLAGS): Likewise.
16032 (pxecmd_mod_SOURCES): Likewise.
16033 (pxecmd_mod_CFLAGS): Likewise.
16034 (pxecmd_mod_LDFLAGS): Likewise.
16035
16036 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
16037 (grub_pxe_call): Likewise.
16038
16039 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
16040
16041 * commands/i386/pc/pxecmd.c: New file.
16042
16043 * fs/i386/pc/pxe.c: Likewise.
16044
16045 * include/grub/i386/pc/pxe.h: Likewise.
16046
16047 2008-08-05 Bean <bean123ch@gmail.com>
16048
16049 * util/console.c (grub_console_cur_color): New variable.
16050 (grub_console_standard_color): Likewise.
16051 (grub_console_normal_color): Likewise.
16052 (grub_console_highlight_color): Likewise.
16053 (color_map): Likewise.
16054 (use_color): Likewise.
16055 (NUM_COLORS): New macro.
16056 (grub_ncurses_setcolorstate): Handle color properly.
16057 (grub_ncurses_setcolor): Don't change color here, just remember the
16058 settings, color will be set in grub_ncurses_setcolorstate.
16059 (grub_ncurses_getcolor): New function.
16060 (grub_ncurses_init): Initialize color pairs.
16061 (grub_ncurses_term): New member grub_ncurses_getcolor.
16062
16063 2008-08-05 Colin D Bennett <colin@gibibit.com>
16064
16065 High resolution timer support. Implemented for x86 CPUs using TSC.
16066 Extracted generic grub_millisleep() so it's linked in only as needed.
16067 This requires a Pentium compatible CPU; if the RDTSC instruction is
16068 not supported, then it falls back on the generic grub_get_time_ms()
16069 implementation that uses the machine's RTC.
16070
16071 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
16072 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16073 `kern/generic/millisleep.c'.
16074
16075 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
16076 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
16077
16078 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
16079 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
16080
16081 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16082
16083 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16084 `kern/generic/millisleep.c'.
16085
16086 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16087
16088 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
16089
16090 * kern/generic/rtc_get_time_ms.c: New file.
16091
16092 * kern/generic/millisleep.c: New file.
16093
16094 * kern/misc.c: Don't include
16095 <kern/time.h> anymore.
16096 (grub_millisleep_generic): Removed.
16097
16098 * commands/sleep.c (grub_interruptible_millisleep): Uses
16099 grub_get_time_ms() instead of grub_get_rtc().
16100
16101 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
16102 function.
16103 (grub_cpu_is_cpuid_supported): New inline function.
16104 (grub_cpu_is_tsc_supported): New inline function.
16105 (grub_tsc_init): New function prototype.
16106 (grub_tsc_get_time_ms): New function prototype.
16107
16108 * kern/i386/tsc.c (grub_get_time_ms): New file.
16109
16110 * include/grub/time.h: Include <grub/types.h.
16111 (grub_millisleep_generic): Removed.
16112 (grub_get_time_ms): New prototype.
16113 (grub_install_get_time_ms): New prototype.
16114 (grub_rtc_get_time_ms): New prototype.
16115
16116 * kern/time.c (grub_get_time_ms): New function.
16117 (grub_install_get_time_ms): New function.
16118
16119 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
16120 <grub/time.h> anymore.
16121 (grub_millisleep): Removed.
16122 (grub_machine_init): Call grub_tsc_init.
16123
16124 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
16125 get_time_ms() implementation.
16126
16127 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
16128 (ieee1275_get_time_ms): New function.
16129 (grub_machine_init): Install get_time_ms() implementation.
16130
16131 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
16132 (grub_machine_init): Call grub_tsc_init().
16133 (grub_millisleep): Removed.
16134
16135 * kern/ieee1275/init.c (grub_millisleep): Removed.
16136 (grub_machine_init): Install ieee1275_get_time_ms()
16137 implementation.
16138 (ieee1275_get_time_ms): New function.
16139 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
16140 real work.
16141
16142 2008-08-05 Marco Gerards <marco@gnu.org>
16143
16144 * disk/ata.c: Include <grub/pci.h>.
16145 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
16146 (grub_ata_initialize): Rewritten.
16147 (grub_ata_device_initialize): New function.
16148
16149 2008-08-04 Pavel Roskin <proski@gnu.org>
16150
16151 * kern/main.c: Include grub/mm.h.
16152
16153 2008-08-04 Robert Millan <rmh@aybabtu.com>
16154
16155 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
16156 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
16157 corruption problem).
16158
16159 2008-08-04 Robert Millan <rmh@aybabtu.com>
16160
16161 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
16162 warnings introduced in my last commit.
16163
16164 2008-08-03 Robert Millan <rmh@aybabtu.com>
16165
16166 Make PCI available on all i386 architectures.
16167
16168 * include/grub/i386/pc/pci.h: Move from here ...
16169 * include/grub/i386/pci.h: ... to here.
16170
16171 * include/grub/i386/pc/pci.h: Remove.
16172 * include/grub/i386/efi/pci.h: Remove.
16173 * include/grub/x86_64/efi/pci.h: Remove.
16174
16175 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
16176 `<grub/cpu/pci.h>'.
16177
16178 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
16179 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
16180 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
16181
16182 * conf/i386-ieee1275.rmk: Likewise.
16183
16184 2008-08-03 Robert Millan <rmh@aybabtu.com>
16185
16186 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
16187 (grub_console_setcursor): Make it possible to set cursor off.
16188
16189 2008-08-03 Robert Millan <rmh@aybabtu.com>
16190
16191 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
16192 of modules instead of assuming which platform provides what.
16193 * util/update-grub.in: Likewise.
16194
16195 2008-08-03 Robert Millan <rmh@aybabtu.com>
16196
16197 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
16198 instead of `grub_install_dos_part' to determine whether a drive needs
16199 to be prepended to prefix (`grub_install_dos_part' is not reliable,
16200 because it can be overridden when loading GRUB via Multiboot).
16201
16202 2008-08-02 Robert Millan <rmh@aybabtu.com>
16203
16204 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
16205
16206 2008-08-02 Robert Millan <rmh@aybabtu.com>
16207
16208 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
16209 of informational grub_dprintf() calls.
16210
16211 2008-08-02 Robert Millan <rmh@aybabtu.com>
16212
16213 * disk/memdisk.c (memdisk_size): Don't initialize.
16214 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
16215
16216 * include/grub/i386/pc/kernel.h
16217 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
16218 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
16219 (grub_memdisk_image_size, grub_arch_memdisk_addr)
16220 (grub_arch_memdisk_size): Remove.
16221
16222 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
16223 field (was only used to transfer a constant). Add `type' field to
16224 support multiple module types.
16225 (grub_module_iterate): New function.
16226
16227 * kern/device.c (grub_device_open): Do not hide error messages
16228 when grub_disk_open() fails. Use grub_print_error() instead.
16229
16230 * kern/i386/pc/init.c (grub_arch_modules_addr)
16231 (grub_arch_memdisk_size): Remove functions.
16232 (grub_arch_modules_addr): Return the module address in high memory
16233 (now that it isn't copied anymore).
16234
16235 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
16236 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
16237 decompression routine (grub_total_module_size already includes that
16238 now). Don't copy modules back to low memory.
16239
16240 * kern/main.c: Include `<grub/mm.h>'.
16241 (grub_load_modules): Split out (and use) ...
16242 (grub_module_iterate): ... this function, which iterates through
16243 module objects and runs a hook.
16244 Comment out grub_mm_init_region() call, as it would cause non-ELF
16245 modules to be overwritten.
16246
16247 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
16248 the memdisk image in its own region, make it part of the module list.
16249 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
16250 (main): Parse --memdisk|-m option, and pass user-provided path as
16251 parameter to generate_image().
16252 (add_segments): Pass `memdisk_path' down to load_modules().
16253 (load_modules): Embed memdisk image in module section when requested.
16254 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
16255 `header.type' instead of `header.offset'.
16256
16257 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
16258 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
16259 (memdisk_mod_LDFLAGS): New variables.
16260 * conf/i386-coreboot.rmk: Likewise.
16261 * conf/i386-ieee1275.rmk: Likewise.
16262
16263 2008-08-02 Robert Millan <rmh@aybabtu.com>
16264
16265 * loader/i386/pc/multiboot.c (playground, forward_relocator)
16266 (backward_relocator): New variables. Used to allocate and relocate
16267 the payload, respectively.
16268 (grub_multiboot_load_elf32): Load into heap instead of requested
16269 address, install the appropriate relocator code in each bound of
16270 the payload, and set the entry point such that
16271 grub_multiboot_real_boot() will jump to one of them.
16272
16273 * kern/i386/loader.S (grub_multiboot_payload_size)
16274 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
16275 (grub_multiboot_payload_entry_offset): New variables.
16276 (grub_multiboot_real_boot): Set cpu context to what the relocator
16277 expects, and jump to the relocator instead of the payload.
16278
16279 * include/grub/i386/loader.h (grub_multiboot_payload_size)
16280 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
16281 (grub_multiboot_payload_entry_offset): Export.
16282
16283 2008-08-01 Bean <bean123ch@gmail.com>
16284
16285 * normal/menu_entry.c (editor_getline): Don't return the original
16286 string as result, as it will be released by lexer once it has done
16287 using it.
16288
16289 2008-08-01 Robert Millan <rmh@aybabtu.com>
16290
16291 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
16292 within menuentries, not before them.
16293 util/grub.d/10_hurd.in: Likewise.
16294
16295 2008-08-01 Bean <bean123ch@gmail.com>
16296
16297 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
16298 (bufio_mod_SOURCES): New macro.
16299 (bufio_mod_CFLAGS): Likewise.
16300 (bufio_mod_LDFLAGS): Likewise.
16301
16302 * include/grub/bufio.h: New file.
16303
16304 * io/bufio.c: Likewise.
16305
16306 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
16307 (grub_video_reader_png): Use grub_buffile_open to open file.
16308
16309 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
16310 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
16311
16312 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
16313 (grub_video_reader_tga): Use grub_buffile_open to open file.
16314
16315 * font/manager.c: Include <grub/bufio.h>.
16316 (add_font): Use grub_buffile_open to open file.
16317
16318 2008-07-31 Robert Millan <rmh@aybabtu.com>
16319
16320 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
16321 ELF segments, use a macro for arbitrarily accessing any of them instead
16322 of preparing a pointer that allows access to one at a time.
16323 (grub_multiboot_load_elf64): Likewise.
16324
16325 2008-07-31 Bean <bean123ch@gmail.com>
16326
16327 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
16328 GRUB_KERNEL_MACHINE_DATA_END.
16329
16330 2008-07-30 Robert Millan <rmh@aybabtu.com>
16331
16332 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
16333 Increase from 0x50 to 0x60.
16334 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
16335 use UUIDs to identify the root drive for them. If that's not
16336 possible, abort.
16337 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
16338 check, for cross-disk installs.
16339
16340 2008-07-30 Robert Millan <rmh@aybabtu.com>
16341
16342 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
16343 is non-empty, use it to set the `prefix' environment variable instead
16344 of the usual approach.
16345 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
16346 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
16347 environment variable instead of dummy make_install_device().
16348
16349 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
16350 (start): Insert a data section, with `grub_prefix' variable.
16351 * kern/i386/linuxbios/startup.S: Likewise.
16352
16353 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
16354 New variable reference.
16355 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
16356 New macro. Defines offset of `grub_prefix' within startup.S (relative
16357 to `start').
16358 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
16359 section within startup.S (relative to `start').
16360 * include/grub/i386/coreboot/kernel.h: Likewise.
16361
16362 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
16363 Overwrite grub_prefix with its contents, at the beginning of the
16364 first segment.
16365 (main): Understand -p|--prefix.
16366
16367 2008-07-30 Robert Millan <rmh@aybabtu.com>
16368
16369 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
16370
16371 2008-07-30 Robert Millan <rmh@aybabtu.com>
16372
16373 * term/i386/pc/vga_text.c (grub_console_cls): Use
16374 grub_console_gotoxy() to go back to beginning of the screen.
16375 Found by Patrick Georgi <patrick.georgi@coresystems.de>
16376
16377 2008-07-29 Christian Franke <franke@computer.org>
16378
16379 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
16380 Add conversion of emulated mount points on Cygwin.
16381
16382 2008-07-29 Christian Franke <franke@computer.org>
16383
16384 * util/update-grub.in: Add a check for admin
16385 group on Cygwin.
16386 Remove old `grub.cfg.new' before creation.
16387 Add `-f' to `mv' to handle the different filesystem
16388 semantics of Windows.
16389
16390 2008-07-29 Bean <bean123ch@gmail.com>
16391
16392 * normal/main.c (get_line): Fix buffer overflow bug.
16393
16394 2008-07-28 Robert Millan <rmh@aybabtu.com>
16395
16396 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
16397 (struct grub_apple_header): New struct. Describes the layout of
16398 the partmap header.
16399 (apple_partition_map_iterate): Check the header magic as well as the
16400 partition magic (which was already being checked).
16401
16402 2008-07-28 Pavel Roskin <proski@gnu.org>
16403
16404 * genmk.rb: Add a warning to the beginning of the output that
16405 it's a generated file and should not be edited.
16406
16407 2008-07-28 Robert Millan <rmh@aybabtu.com>
16408
16409 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
16410 with the same number are found, just use issue a warning with
16411 grub_dprintf(), as this error has been reported to be non-fatal.
16412
16413 2008-07-27 Robert Millan <rmh@aybabtu.com>
16414
16415 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
16416 information.
16417
16418 2008-07-27 Bean <bean123ch@gmail.com>
16419
16420 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
16421 (grub_fat_find_dir): Ignore case when comparing filename.
16422
16423 2008-07-27 Bean <bean123ch@gmail.com>
16424
16425 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
16426 smallino, as it's more descriptive, and i8count can be confused with
16427 the other field count.
16428 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
16429 inode type.
16430
16431 2008-07-27 Bean <bean123ch@gmail.com>
16432
16433 * commands/crc.c: New file.
16434
16435 * lib/crc.c: Likewise.
16436
16437 * include/grub/lib/crc.h: Likewise.
16438
16439 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
16440
16441 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
16442 (hexdump): Move this function to ...
16443
16444 * lib/hexdump.c: ... here.
16445
16446 * include/grub/hexdump.h: Renamed to ...
16447
16448 * include/grub/lib/hexdump.h: ... this.
16449
16450 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
16451
16452 * util/grub-editenv.c: Likewise.
16453
16454 * include/envblk.h: Renamed to ...
16455
16456 * include/lib/envblk.h: ... this.
16457
16458 * util/envblk.c: Renamed to ...
16459
16460 * lib/envblk.c: ... this.
16461
16462 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
16463 lib/hexdump.c.
16464 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
16465 (pkglib_MODULES): Add crc.mod.
16466 (hexdump_mod_SOURCES): Add lib/hexdump.c.
16467 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
16468 (crc_mod_SOURCES): New macro.
16469 (crc_mod_CFLAGS): Likewise.
16470 (crc_mod_LDFLAGS): Likewise.
16471
16472 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
16473
16474 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16475
16476 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16477
16478 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16479
16480 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16481
16482 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
16483
16484 * commands/help.c: Include <grub/term.h>.
16485 (TERM_WIDTH): Removed. Updated all users.
16486
16487 2008-07-27 Pavel Roskin <proski@gnu.org>
16488
16489 * util/getroot.c (find_root_device): Rephrase a comment to avoid
16490 spurious warnings about a comment within a comment.
16491
16492 2008-07-25 Robert Millan <rmh@aybabtu.com>
16493
16494 * util/getroot.c (find_root_device): Skip devices that match
16495 /dev/dm-[0-9]. This lets the real device be found for any type of
16496 abstraction (LVM, EVMS, RAID..).
16497 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
16498 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
16499 device is found first, find_root_device() will now skip it.
16500
16501 2008-07-24 Pavel Roskin <proski@gnu.org>
16502
16503 * include/grub/types.h: Use __builtin_bswap32() and
16504 __builtin_bswap64() with gcc 4.3 and newer.
16505
16506 2008-07-24 Christian Franke <franke@computer.org>
16507
16508 * util/i386/pc/grub-install.in: If `--debug' is specified,
16509 pass `--verbose' to grub-setup.
16510 Abort script if make_system_path_relative_to_its_root() fails.
16511
16512 2008-07-24 Bean <bean123ch@gmail.com>
16513
16514 * configure.ac: Fixed a bug caused by the previous cygwin patch,
16515 variable `target_platform' should be `platform'.
16516
16517 2008-07-24 Bean <bean123ch@gmail.com>
16518
16519 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
16520 (grub_png_init_fixed_block): New function.
16521 (grub_png_decode_image_data): Handle fixed huffman code compression.
16522
16523 2008-07-24 Bean <bean123ch@gmail.com>
16524
16525 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
16526 (grub_pe2elf_SOURCES): New macro.
16527 (CLEANFILES): Add grub-pe2elf.
16528
16529 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
16530 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
16531 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
16532 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
16533 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
16534 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
16535 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
16536 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
16537 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
16538 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
16539 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
16540 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
16541 (GRUB_PE32_DT_FUNCTION): Likewise.
16542 (GRUB_PE32_REL_I386_DIR32): Likewise.
16543 (GRUB_PE32_REL_I386_REL32): Likewise.
16544 (grub_pe32_symbol): New structure.
16545 (grub_pe32_reloc): Likewise.
16546
16547 * util/grub-pe2elf.c: New file.
16548
16549 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
16550 start symbol in non pc platform.
16551
16552 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
16553
16554 The following patches are from Christian Franke.
16555
16556 * include/grub/dl.h: Remove .previous, gas supports this only
16557 for ELF format.
16558
16559 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
16560 Remove .type, gas supports this only for ELF format.
16561
16562 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
16563 nullbytes in symbol table. This fixes an infinite loop if table is
16564 zero filled.
16565
16566 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
16567 TARGET_IMG_LDFLAGS and EXEEXT.
16568
16569 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
16570 TARGET_IMG_LDFLAGS_AC.
16571 (grub_CHECK_STACK_ARG_PROBE): New function.
16572
16573 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
16574
16575 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
16576
16577 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
16578 to set TARGET_IMG_LD* accordingly.
16579 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
16580 Add call to grub_CHECK_STACK_ARG_PROBE.
16581 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
16582
16583 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
16584
16585 * genmk.rb: Add EXEEXT to CLEANFILES.
16586
16587 2008-07-23 Robert Millan <rmh@aybabtu.com>
16588
16589 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
16590 define the codes for arrows and lines used for the menu).
16591 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
16592 as well.
16593
16594 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
16595 fonts, because the latter are too slow.
16596
16597 2008-07-21 Bean <bean123ch@gmail.com>
16598
16599 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
16600 a20. Run keyboard test last, as it will cause macbook to halt.
16601
16602 2008-07-18 Pavel Roskin <proski@gnu.org>
16603
16604 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
16605 load foreign architecture modules correctly anyway. Keep
16606 support for loading host architecture modules, whether we
16607 compile them or not.
16608
16609 2008-07-17 Pavel Roskin <proski@gnu.org>
16610
16611 * configure.ac: Use -m32 or -m64 regardless of whether we had to
16612 change target_cpu. The compiler default can mismatch target_cpu
16613 in any case.
16614
16615 * disk/efi/efidisk.c: Fix format warnings on x86_64.
16616 * kern/efi/efi.c: Likewise.
16617
16618 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
16619 target compiler is functional.
16620 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
16621 are set up.
16622
16623 * configure.ac: Default to efi platform for x86_64-apple. Allow
16624 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
16625 adjustments from the rest, only do them if target is not
16626 explicitly given. Merge other adjustments with the final sanity
16627 check. Remove an extraneous check for supported CPU. Be
16628 specific which CPU and which platform is not supported.
16629
16630 * configure.ac: Default to pc platform for x86_64.
16631
16632 2008-07-17 Robert Millan <rmh@aybabtu.com>
16633
16634 Partial LinuxBIOS -> Coreboot rename.
16635
16636 * conf/i386-linuxbios.rmk: Renamed to ...
16637 * conf/i386-coreboot.rmk: ... this.
16638 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
16639 * configure.ac: Accept "coreboot" as input platform (but maintain
16640 compatibility with "linuxbios").
16641 * include/grub/i386/linuxbios: Renamed to ...
16642 * include/grub/i386/coreboot: ... this.
16643
16644 2008-07-17 Bean <bean123ch@gmail.com>
16645
16646 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
16647 (appleldr_mod_SOURCE): New variable.
16648 (appleldr_mod_CFLAGS): Likewise.
16649 (appleldr_mod_LDFLAGS): Likewise.
16650 (pci_mod_SOURCES): Likewise.
16651 (pci_mod_CFLAGS): Likewise.
16652 (pci_mod_LDFLAGS): Likewise.
16653 (lspci_mod_SOURCES): Likewise.
16654 (lspci_mod_CFLAGS): Likewise.
16655 (lspci_mod_LDFLAGS): Likewise.
16656
16657 * conf/x86_64-efi.rmk: New file.
16658
16659 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
16660 macro.
16661 (grub_efidisk_write): Likewise.
16662
16663 * include/efi/api.h (efi_call_0): New macro.
16664 (efi_call_1): Likewise.
16665 (efi_call_2): Likewise.
16666 (efi_call_3): Likewise.
16667 (efi_call_4): Likewise.
16668 (efi_call_5): Likewise.
16669 (efi_call_6): Likewise.
16670
16671 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
16672 grub_rescue_cmd_chainloader.
16673
16674 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
16675 (grub_pe32_optional_header): Change some fields based on i386 or
16676 x86_64 platform.
16677 (GRUB_PE32_PE32_MAGIC): Likewise.
16678
16679 * include/grub/efi/uga_draw.h: New file.
16680
16681 * include/grub/elf.h (STN_ABS): New constant.
16682 (R_X86_64_NONE): Relocation constant for x86_64.
16683 (R_X86_64_64): Likewise.
16684 (R_X86_64_PC32): Likewise.
16685 (R_X86_64_GOT32): Likewise.
16686 (R_X86_64_PLT32): Likewise.
16687 (R_X86_64_COPY): Likewise.
16688 (R_X86_64_GLOB_DAT): Likewise.
16689 (R_X86_64_JUMP_SLOT): Likewise.
16690 (R_X86_64_RELATIVE): Likewise.
16691 (R_X86_64_GOTPCREL): Likewise.
16692 (R_X86_64_32): Likewise.
16693 (R_X86_64_32S): Likewise.
16694 (R_X86_64_16): Likewise.
16695 (R_X86_64_PC16): Likewise.
16696 (R_X86_64_8): Likewise.
16697 (R_X86_64_PC8): Likewise.
16698
16699 * include/grub/i386/efi/pci.h: New file.
16700
16701 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
16702 Change it value based on platform.
16703 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
16704 (GRUB_E820_RAM): Likewise.
16705 (GRUB_E820_RESERVED): Likewise.
16706 (GRUB_E820_ACPI): Likewise.
16707 (GRUB_E820_NVS): Likewise.
16708 (GRUB_E820_EXEC_CODE): Likewise.
16709 (GRUB_E820_MAX_ENTRY): Likewise.
16710 (grub_e820_mmap): New structure.
16711 (linux_kernel_header): Change the efi field according to different
16712 kernel version, also field from linux_kernel_header.
16713
16714 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
16715
16716 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
16717 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
16718 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
16719 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
16720 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
16721 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
16722 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
16723 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
16724 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
16725 (GRUB_PCI_ADDR_IO_MASK): Likewise.
16726
16727 * include/grub/x86_64/efi/kernel.h: New file.
16728
16729 * include/grub/x86_64/efi/loader.h: Likewise.
16730
16731 * include/grub/x86_64/efi/machine.h: Likewise.
16732
16733 * include/grub/x86_64/efi/pci.h: Likewise.
16734
16735 * include/grub/x86_64/efi/time.h: Likewise.
16736
16737 * include/grub/x86_64/linux.h: Likewise.
16738
16739 * include/grub/x86_64/setjmp.h: Likewise.
16740
16741 * include/grub/x86_64/time.h: Likewise.
16742
16743 * include/grub/x86_64/types.h: Likewise.
16744
16745 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
16746 GRUB_TARGET_SIZEOF_VOID_P.
16747
16748 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
16749 (grub_efi_locate_handle): Likewise.
16750 (grub_efi_open_protocol): Likewise.
16751 (grub_efi_set_text_mode): Likewise.
16752 (grub_efi_stall): Likewise.
16753 (grub_exit): Likewise.
16754 (grub_reboot): Likewise.
16755 (grub_halt): Likewise.
16756 (grub_efi_exit_boot_services): Likewise.
16757 (grub_get_rtc): Likewise.
16758
16759 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
16760 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
16761 (grub_efi_allocate_pages): Wrap efi calls.
16762 (grub_efi_free_pages): Wrap efi calls.
16763 (grub_efi_get_memory_map): Wrap efi calls.
16764
16765 * kern/x86_64/dl.c: New file.
16766
16767 * kern/x86_64/efi/callwrap.S: Likewise.
16768
16769 * kern/x86_64/efi/startup.S: Likewise.
16770
16771 * loader/efi/appleloader.c: Likewise.
16772
16773 * loader/efi/chainloader.c (cmdline): New variable.
16774 (grub_chainloader_unload): Wrap efi calls.
16775 (grub_chainloader_boot): Likewise.
16776 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
16777 command line.
16778
16779 * loader/efi/chainloader_normal.c (chainloader_command):
16780 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
16781 command line.
16782
16783 * loader/i386/efi/linux.c (allocate_pages): Change allocation
16784 method.
16785 (grub_e820_add_region): New function.
16786 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
16787 booting.
16788 (grub_find_video_card): New function.
16789 (grub_linux_setup_video): New function.
16790 (grub_rescue_cmd_linux): Probe for video information.
16791
16792 * normal/x86_64/setjmp.S: New file.
16793
16794 * term/efi/console.c (map_char): New function.
16795 (grub_console_putchar): Map unicode char.
16796 (grub_console_checkkey): Wrap efi calls.
16797 (grub_console_getkey): Likewise.
16798 (grub_console_getwh): Likewise.
16799 (grub_console_gotoxy): Likewise.
16800 (grub_console_cls): Likewise.
16801 (grub_console_setcolorstate): Likewise.
16802 (grub_console_setcursor): Likewise.
16803
16804 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
16805
16806 2008-07-16 Pavel Roskin <proski@gnu.org>
16807
16808 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
16809 format strings.
16810
16811 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
16812 pointer, not an integer. This fixes a warning and prevents
16813 precision loss on 64-bit systems.
16814 (relocate_addresses): Remove unneeded cast.
16815
16816 2008-07-15 Pavel Roskin <proski@gnu.org>
16817
16818 * kern/i386/ieee1275/init.c: Include grub/cache.h.
16819
16820 * term/ieee1275/ofconsole.c: Disable code unused on i386.
16821
16822 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
16823 Fix comparison between signed and unsigned.
16824
16825 * include/grub/i386/ieee1275/console.h: Declare
16826 grub_console_init() and grub_console_fini().
16827
16828 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
16829 It's empty and unused.
16830
16831 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
16832 beginning to avoid warnings with some compilers.
16833
16834 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
16835 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
16836
16837 2008-07-14 Pavel Roskin <proski@gnu.org>
16838
16839 * kern/env.c (grub_register_variable_hook): Don't copy empty
16840 string, it leaks memory. Pass "" to grub_env_set(), it should
16841 handle constant strings.
16842
16843 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
16844 * commands/cmp.c (grub_cmd_cmp): Likewise.
16845 * kern/dl.c (grub_dl_flush_cache): Likewise.
16846 (grub_dl_load_core): Likewise.
16847 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
16848 (grub_elf64_load_phdrs): Likewise.
16849
16850 2008-07-13 Pavel Roskin <proski@gnu.org>
16851
16852 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
16853 between signed and unsigned.
16854 (LzmaEnc_Finish): Fix warning about an unused parameter.
16855
16856 2008-07-13 Bean <bean123ch@gmail.com>
16857
16858 * Makefile.in (enable_lzo): New rule.
16859
16860 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
16861
16862 * configure.ac (ENABLE_LZO): New option --enable-lzo.
16863
16864 * boot/i386/pc/lnxboot.S: #include <config.h>.
16865
16866 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
16867 its value according to the compression algorithm used, lzo or lzma.
16868
16869 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
16870 compression algorithm according to configure macro.
16871
16872 * kern/i386/pc/startup.S (codestart): Likewise.
16873
16874 * kern/i386/pc/lzma_decode.S: New file.
16875
16876 * include/grub/lib/LzFind.h: Likewise.
16877
16878 * include/grub/lib/LzHash.h: Likewise.
16879
16880 * include/grub/lib/LzmaDec.h: Likewise.
16881
16882 * include/grub/lib/LzmaEnc.h: Likewise.
16883
16884 * include/grub/lib/LzmaTypes.h: Likewise.
16885
16886 * lib/LzFind.c: Likewise.
16887
16888 * lib/LzmaDec.c: Likewise.
16889
16890 * lib/LzmaEnc.c: Likewise.
16891
16892 2008-07-13 Bean <bean123ch@gmail.com>
16893
16894 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
16895 (grub_ext4_extent_header): New structure.
16896 (grub_ext4_extent): Likewise.
16897 (grub_ext4_extent_idx): Likewise.
16898 (grub_ext4_find_leaf): New function.
16899 (grub_ext2_read_block): Handle extents.
16900
16901 2008-07-12 Robert Millan <rmh@aybabtu.com>
16902
16903 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
16904
16905 2008-07-11 Robert Millan <rmh@aybabtu.com>
16906
16907 * util/grub.d/40_custom.in: New file. Example on how to add custom
16908 entries to /etc/grub.d.
16909 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
16910 40_custom (implicitly, by merging all the grub.d rules).
16911
16912 2008-07-11 Pavel Roskin <proski@gnu.org>
16913
16914 * commands/read.c (grub_getline): Fix invalid memory access.
16915 Don't add newline to the variable value.
16916
16917 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
16918 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
16919 (serial_hw_get_port): Check validity of the port number.
16920 (grub_cmd_serial): Check return value of serial_hw_get_port().
16921
16922 2008-07-07 Pavel Roskin <proski@gnu.org>
16923
16924 * boot/i386/pc/diskboot.S (notification_string): Replace
16925 "Loading kernel" with just "loading". This is shorter, less
16926 confusing and saves a few bytes for possible future changes.
16927
16928 2008-07-05 Pavel Roskin <proski@gnu.org>
16929
16930 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
16931 size for ATAPI devices, they are undefined. Output sector
16932 number in decimal form.
16933
16934 * disk/ata.c: Use named constants for status bits.
16935
16936 2008-07-04 Pavel Roskin <proski@gnu.org>
16937
16938 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
16939 grub_addr_t before casting it to the void pointer to fix a
16940 warning. Non-addressable regions are discarded earlier.
16941 (grub_arch_modules_addr): Cast _end to grub_addr_t.
16942 * kern/i386/linuxbios/table.c: Include grub/misc.h.
16943 (check_signature): Don't shadow table_header.
16944 (grub_linuxbios_table_iterate): Cast numeric constants to
16945 grub_linuxbios_table_header_t.
16946 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
16947 grub_stop().
16948
16949 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
16950 prevent warnings.
16951
16952 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
16953 pointer, which can cause warnings. Support 64-bit addresses.
16954
16955 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
16956 of sizeof(long). This fixes PowerPC image generation on x86_64.
16957
16958 2008-07-04 Robert Millan <rmh@aybabtu.com>
16959
16960 This fixes a performance issue when pc & gpt partmap iterators
16961 didn't abort iteration even after our hook found what it was
16962 looking for (often causing expensive probes of non-existent drives).
16963
16964 Some callers relied on previous buggy behaviour, since they would
16965 raise an error when their own hooks caused early abortion of its
16966 iteration.
16967
16968 * kern/device.c (grub_device_open): Improve error message.
16969 * disk/lvm.c (grub_lvm_open): Likewise.
16970 * disk/raid.c (grub_raid_open): Likewise.
16971
16972 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
16973 when hook requests it, independently of grub_errno.
16974 (pc_partition_map_probe): Do not fail when find_func() caused
16975 early abortion of pc_partition_map_iterate().
16976
16977 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
16978 when hook requests it, independently of grub_errno.
16979 (gpt_partition_map_probe): Do not fail when find_func() caused
16980 early abortion of gpt_partition_map_iterate().
16981
16982 * kern/partition.c (grub_partition_iterate): Abort parent iteration
16983 when hook requests it, independently of grub_errno. Do not fail when
16984 part_map_iterate_hook() caused early abortion of p->iterate().
16985
16986 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
16987 when grub_partition_iterate() returned with non-zero.
16988
16989 2008-07-03 Pavel Roskin <proski@gnu.org>
16990
16991 * disk/ata.c (grub_ata_pio_write): Check status before writing,
16992 like we do in grub_ata_pio_read().
16993 (grub_ata_readwrite): Always write individual sectors. Fix the
16994 sector count for the remainder.
16995 (grub_ata_write): Enable writing to ATA devices. Correctly
16996 report error for ATAPI devices.
16997
16998 2008-07-02 Pavel Roskin <proski@gnu.org>
16999
17000 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
17001 warning.
17002
17003 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
17004 for every read sector, we already increment it for the whole
17005 batch. This fixes reading more than 256 sectors at once.
17006
17007 * util/grub-editenv.c (cmd_info): Cast argument to long
17008 explicitly. ptrdiff_t reduces to int on i386.
17009
17010 * util/grub-editenv.c (main): Be specific which parameter is
17011 missing.
17012
17013 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
17014 (memdisk): Make memdisk_orig_addr a pointer.
17015
17016 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
17017 for file offsets, use grub_off_t instead. Fix printf format
17018 warnings.
17019
17020 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
17021 there. Real unexpected warnings should not drown in the noise
17022 about known problems.
17023
17024 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
17025 grub_disk_addr_t for memory addresses.
17026
17027 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
17028 explicitly to fix a warning.
17029
17030 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
17031
17032 * Makefile.in (MODULE_LDFLAGS): New variable.
17033 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
17034 the linker accepts --build-id=none.
17035 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
17036 MODULE_LDFLAGS.
17037 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
17038
17039 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
17040 those in Linux XFS code. Provide a way to access 64-bit parent
17041 inode.
17042 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
17043 the end of struct grub_xfs_dir_header.
17044
17045 2008-07-02 Bean <bean123ch@gmail.com>
17046
17047 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
17048 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
17049 and GRUB_IEEE1275_FLAG_NO_ANSI.
17050
17051 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
17052 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
17053 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
17054
17055 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
17056 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
17057
17058 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
17059 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
17060
17061 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
17062 esc sequence on non ANSI terminal.
17063 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
17064
17065 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
17066 beginning of file.
17067
17068 2008-07-02 Bean <bean123ch@gmail.com>
17069
17070 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
17071 (grub_editenv_SOURCES): New variable.
17072 (pkglib_MODULES): Add loadenv.mod.
17073 (loadenv_mod_SOURCES): New variable.
17074 (loadenv_mod_CFLAGS): Likewise.
17075 (loadenv_mod_LDFLAGS): Likewise.
17076
17077 * include/grub/envblk.h: New file.
17078
17079 * util/envblk.c: New file.
17080
17081 * util/grub-editenv.c: New file.
17082
17083 * commands/loadenv.c: New file.
17084
17085 2008-07-01 Pavel Roskin <proski@gnu.org>
17086
17087 * include/multiboot2.h (struct multiboot_tag_module): Use char,
17088 not unsigned char. This fixes warnings and is consistent with
17089 other tags.
17090
17091 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
17092
17093 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
17094
17095 * term/tparm.c (analyze): Always set *popcount.
17096
17097 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
17098 cast to fix a warning.
17099
17100 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
17101 cast to suppress a warning.
17102
17103 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
17104 grub_fshelp_read_file() expects.
17105
17106 * fs/fat.c: Fix UUID calculation on big-endian systems. We
17107 write uuid as a 32-bit value in CPU byte order, so declare and
17108 use it as such.
17109
17110 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
17111 long if the format specifier expects it.
17112 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
17113 * partmap/pc.c (pc_partition_map_iterate): Likewise.
17114 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
17115 long to fix a warning.
17116 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
17117 grub_dprintf() arguments to fix warnings.
17118
17119 2008-06-30 Pavel Roskin <proski@gnu.org>
17120
17121 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
17122 install_bsd_part immediately before core.img is embedded or
17123 modified on disk. This fixes core.img verification if core.img
17124 cannot be embedded.
17125
17126 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
17127 core_path to calculate the blocklist.
17128 Patch from Javier Martín <lordhabbit@gmail.com>
17129
17130 2008-06-29 Robert Millan <rmh@aybabtu.com>
17131
17132 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
17133 block to disk block.
17134 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
17135 Patch from Niels Böhm <bitbucket@arcor.de>
17136
17137 2008-06-29 Robert Millan <rmh@aybabtu.com>
17138
17139 * util/update-grub_lib.in (font_path): Search for fonts in
17140 /boot/grub first, which is more likely to be readable (we aren't
17141 deciding where fonts live, just looking for them).
17142
17143 2008-06-26 Pavel Roskin <proski@gnu.org>
17144
17145 * util/biosdisk.c (read_device_map): Don't leave dead map
17146 entries for devices failing stat() check.
17147
17148 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
17149 core_path_dev for the core.img path on the target device.
17150
17151 2008-06-26 Robert Millan <rmh@aybabtu.com>
17152
17153 * disk/fs_uuid.c: New file.
17154 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
17155 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
17156 (fs_uuid_mod_LDFLAGS): New variables.
17157 * include/grub/disk.h (grub_disk_dev_id): Add
17158 `GRUB_DISK_DEVICE_UUID_ID'.
17159 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
17160 implement iterate().
17161
17162 2008-06-26 Robert Millan <rmh@aybabtu.com>
17163
17164 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
17165 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
17166 Linux image includes no initrd.
17167
17168 2008-06-21 Javier Martín <lordhabbit@gmail.com>
17169
17170 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
17171 call to resolve the core image location that effectively appended the
17172 name twice.
17173
17174 2008-06-21 Robert Millan <rmh@aybabtu.com>
17175
17176 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
17177 call from here ...
17178
17179 * util/grub.d/10_hurd.in: ... to here ...
17180 * util/grub.d/10_linux.in: ... and here.
17181
17182 2008-06-19 Robert Millan <rmh@aybabtu.com>
17183
17184 * kern/main.c (grub_main): Export `prefix' variable immediately
17185 after it has been set by grub_machine_set_prefix().
17186
17187 2008-06-19 Robert Millan <rmh@aybabtu.com>
17188
17189 * commands/search.c (search_label, search_fs_uuid, search_file): Print
17190 search result when not saving to variable, not the other way around.
17191 When saving to variable, abort iteration as soon as a match is found.
17192
17193 2008-06-19 Robert Millan <rmh@aybabtu.com>
17194
17195 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
17196 check for partition that provides /boot/grub. Its logic is flawed,
17197 as it prevents prepare_grub_to_access_device() from being called
17198 multiple times.
17199
17200 2008-06-19 Robert Millan <rmh@aybabtu.com>
17201
17202 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
17203 "insmod" command directly when abstraction modules are needed,
17204 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
17205 since it had already been processed).
17206
17207 2008-06-19 Pavel Roskin <proski@gnu.org>
17208
17209 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
17210 changed. This is needed in case GRUB_LIBDIR changes.
17211 * conf/i386-ieee1275.rmk: Likewise.
17212 * conf/i386-linuxbios.rmk: Likewise.
17213 * conf/i386-pc.rmk: Likewise.
17214 * conf/powerpc-ieee1275.rmk: Likewise.
17215
17216 2008-06-18 Pavel Roskin <proski@gnu.org>
17217
17218 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
17219 kernel_elf_symlist.c to symlist.c for consistency with other
17220 architectures. Update all users.
17221 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17222
17223 2008-06-18 Robert Millan <rmh@aybabtu.com>
17224
17225 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
17226 it in prefix.
17227
17228 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
17229 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
17230 a RAID device, run setup() for all members independently on whether
17231 LVM abstraction is being used.
17232 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
17233 If grub-mkimage has set `*install_dos_part == -2', don't override this
17234 value.
17235 Perform *install_dos_part adjustments independently on whether
17236 we're embedding or not.
17237 Clarify error message when image is too big for embedding.
17238 Remove duplicate *install_dos_part stanza.
17239
17240 2008-06-17 Robert Millan <rmh@aybabtu.com>
17241
17242 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
17243 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
17244 variables.
17245 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
17246 values in grub_ofconsole_normal_color and
17247 grub_ofconsole_highlight_color (they're not directly related to
17248 background and foreground).
17249 (grub_ofconsole_setcolorstate): Extract background and foreground
17250 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
17251
17252 2008-06-17 Robert Millan <rmh@aybabtu.com>
17253
17254 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
17255 /boot/grub for the check in last commit, not /boot (they could be
17256 different partitions).
17257
17258 2008-06-16 Robert Millan <rmh@aybabtu.com>
17259
17260 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
17261 asked to setup access for the same partition that provides /boot,
17262 don't bother using UUIDs since our root already has the value we
17263 want.
17264
17265 2008-06-16 Robert Millan <rmh@aybabtu.com>
17266
17267 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
17268 I2O devices.
17269 Patch from Sven Mueller <sven@debian.org>.
17270
17271 2008-06-16 Robert Millan <rmh@aybabtu.com>
17272
17273 * util/update-grub.in: Check for $EUID instead of $UID.
17274 Reported by Vincent Zweije.
17275
17276 2008-06-16 Bean <bean123ch@gmail.com>
17277
17278 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
17279 (grub_ext2_read_block): Likewise.
17280 (grub_ext2_read_inode): Likewise.
17281 (grub_ext2_mount): Likewise.
17282 (grub_ext2_close): Likewise.
17283 (grub_ext3_get_journal): Removed.
17284
17285 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
17286 (grub_reiserfs_read_symlink): Likewise.
17287 (grub_reiserfs_mount): Likewise.
17288 (grub_reiserfs_open): Likewise.
17289 (grub_reiserfs_read): Likewise.
17290 (grub_reiserfs_close): Likewise.
17291 (grub_reiserfs_get_journal): Removed.
17292
17293 * fs/fshelp.c (grub_fshelp_read): Removed.
17294 (grub_fshelp_map_block): Likewise.
17295
17296 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
17297 (grub_fshelp_journal): Likewise.
17298 (grub_fshelp_read): Likewise.
17299 (grub_fshelp_map_block): Likewise.
17300
17301 2008-06-16 Pavel Roskin <proski@gnu.org>
17302
17303 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
17304 floating point anymore.
17305 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
17306
17307 2008-06-15 Pavel Roskin <proski@gnu.org>
17308
17309 * commands/ls.c (grub_ls_list_files): Use integer calculations
17310 for human readable format, avoid floating point use.
17311 * kern/misc.c (grub_ftoa): Remove.
17312 (grub_vsprintf): Remove floating point support.
17313
17314 2008-06-15 Robert Millan <rmh@aybabtu.com>
17315
17316 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
17317 devices.
17318 Reported by Max Vozeler.
17319
17320 2008-06-15 Robert Millan <rmh@aybabtu.com>
17321
17322 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
17323 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
17324 skipped later.
17325 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
17326 the beginning of the prefix.
17327
17328 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
17329 It is assumed that if we have a memdisk, grub-mkimage has set
17330 grub_prefix to include the "(memdisk)" drive in it.
17331
17332 2008-06-15 Robert Millan <rmh@aybabtu.com>
17333
17334 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
17335 Initialize keyboard controller after registering the terminal, so that
17336 grub_printf() can be called from grub_keyboard_controller_init().
17337
17338 2008-06-15 Robert Millan <rmh@aybabtu.com>
17339
17340 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
17341 extent-btree which is written as big endian on disk.
17342 Reported by Alain Greppin <al@chilibi.org>.
17343
17344 2008-06-14 Robert Millan <rmh@aybabtu.com>
17345
17346 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
17347 * util/i386/pc/grub-install.in (modules): Likewise.
17348
17349 2008-06-13 Pavel Roskin <proski@gnu.org>
17350
17351 * commands/ls.c (grub_ls_list_files): Fix format warnings.
17352
17353 2008-06-13 Bean <bean123ch@gmail.com>
17354
17355 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
17356
17357 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
17358
17359 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
17360 to indicate sparse block.
17361
17362 2008-06-12 Pavel Roskin <proski@gnu.org>
17363
17364 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
17365 number, grub_fshelp_read() does it for us.
17366
17367 * fs/fshelp.c (grub_fshelp_read): New function. Implement
17368 linear disk read with journal translation.
17369 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
17370 * include/grub/fshelp.h: Declare grub_fshelp_read().
17371
17372 2008-06-09 Pavel Roskin <proski@gnu.org>
17373
17374 * fs/minix.c (grub_minix_mount): Handle error reading
17375 superblock.
17376
17377 2008-06-08 Robert Millan <rmh@aybabtu.com>
17378
17379 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
17380 don't append the RAID prefix afterwards.
17381 Reported by Clint Adams.
17382
17383 2008-06-08 Robert Millan <rmh@aybabtu.com>
17384
17385 Based on description from Pavel:
17386 * kern/disk.c (grub_disk_check_range): Rename to ...
17387 (grub_disk_adjust_range): ... this. Add a comment explaining the
17388 tasks performed by this function.
17389
17390 2008-06-08 Robert Millan <rmh@aybabtu.com>
17391
17392 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
17393 `num_serial' (for consistency with other variables).
17394 (struct grub_ntfs_data): Add `uuid' member.
17395 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
17396 (grub_ntfs_uuid): New function.
17397 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
17398
17399 2008-06-07 Pavel Roskin <proski@gnu.org>
17400
17401 * util/biosdisk.c (open_device): Revert last change to the
17402 function, it broke installation. The sector needs to be
17403 different dependent on which device is opened.
17404
17405 2008-06-06 Robert Millan <rmh@aybabtu.com>
17406
17407 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
17408 rest of GRUB, and breakage doesn't happen if its value were modified.
17409
17410 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17411 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
17412 a constant (same value).
17413 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
17414 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
17415
17416 2008-06-06 Robert Millan <rmh@aybabtu.com>
17417
17418 * util/biosdisk.c (open_device): Do not modify sector offset when
17419 accessing a partition. kern/disk.c already handles this for us.
17420
17421 2008-06-06 Robert Millan <rmh@aybabtu.com>
17422
17423 * util/grub-emu.c (grub_machine_init): Move code in this function from
17424 here ...
17425 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
17426 segfault in case grub_printf() is called).
17427
17428 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
17429 grub_probe. Update all users not to explicitly add it again.
17430 (grub_device): New variable; contains corresponding device for grubdir.
17431 (fs_module, partmap_module, devabstraction_module): Pass
17432 `--device ${grub_device}' to grub_probe to avoid traversing /dev
17433 every time.
17434
17435 2008-06-05 Robert Millan <rmh@aybabtu.com>
17436
17437 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
17438 is found, print it (same layout as with labels).
17439
17440 2008-06-04 Robert Millan <rmh@aybabtu.com>
17441
17442 * util/biosdisk.c (get_drive): Rename to ...
17443 (find_grub_drive): ... this. Update all users.
17444
17445 (get_os_disk): Rename to ...
17446 (convert_system_partition_to_system_disk): ... this. Update all users.
17447
17448 (find_drive): Rename to ...
17449 (find_system_device): ... this. Update all users.
17450
17451 2008-06-04 Robert Millan <rmh@aybabtu.com>
17452
17453 * util/biosdisk.c (get_os_disk): Handle IDA devices.
17454 * util/grub-mkdevicemap.c (get_mmc_disk_name)
17455 (make_device_map): Likewise.
17456
17457 2008-06-01 Robert Millan <rmh@aybabtu.com>
17458
17459 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
17460 before dereferencing it.
17461
17462 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
17463 union with fat12/fat16-specific ones. Add some new fields, including
17464 `num_serial' for both versions.
17465 (struct grub_fat_data): Add `uuid' member.
17466 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
17467 names. Initialize `data->uuid' using `num_serial'.
17468 (grub_fat_uuid): New function.
17469 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
17470
17471 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
17472 (grub_reiserfs_uuid): New function.
17473 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
17474 member.
17475
17476 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
17477 (grub_xfs_uuid): New function.
17478 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
17479
17480 2008-06-01 Robert Millan <rmh@aybabtu.com>
17481
17482 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
17483 code that is backward compatible with pre-uuid search command.
17484
17485 2008-05-31 Robert Millan <rmh@aybabtu.com>
17486
17487 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
17488 floppies after everything else, to ensure floppy drive isn't accessed
17489 unnecessarily (patch from Bean).
17490
17491 2008-05-31 Robert Millan <rmh@aybabtu.com>
17492
17493 * commands/search.c (search_label, search_fs_uuid, search_file): Do
17494 not print device names when we were asked to set a variable.
17495
17496 2008-05-31 Robert Millan <rmh@aybabtu.com>
17497
17498 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
17499 using "cursor-on" and "cursor-off" commands (understood at least by
17500 the Open Firmware flavour on OLPC).
17501
17502 2008-05-31 Michael Gorven <michael@gorven.za.net>
17503
17504 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
17505 on and off sequences.
17506
17507 2008-05-31 Robert Millan <rmh@aybabtu.com>
17508
17509 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
17510 * util/update-grub.in: Likewise.
17511
17512 2008-05-30 Pavel Roskin <proski@gnu.org>
17513
17514 * util/biosdisk.c (linux_find_partition): Simplify logic and
17515 make the code more universal. Keep special processing for
17516 devfs, but use a simple rule for all other devices. If the
17517 device ends with a number, append 'p' and the partition number.
17518 Otherwise, append only the partition number.
17519
17520 2008-05-30 Robert Millan <rmh@aybabtu.com>
17521
17522 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
17523 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
17524 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
17525 the `root' parameter to Linux.
17526
17527 2008-05-30 Robert Millan <rmh@aybabtu.com>
17528
17529 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
17530 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
17531 --fs_uuid with --fs-uuid.
17532 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
17533 all filesystems support them).
17534
17535 2008-05-30 Robert Millan <rmh@aybabtu.com>
17536
17537 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
17538 grub_printf() flags, since we're printing in units of 2 bytes.
17539
17540 2008-05-30 Robert Millan <rmh@aybabtu.com>
17541
17542 * util/grub.d/00_header.in: Remove obsolete comment referencing
17543 convert_system_path_to_grub_path().
17544 * util/update-grub.in: Likewise.
17545 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
17546 (convert_system_path_to_grub_path): Add a warning message explaining
17547 that this function is deprecated. Rely on is_path_readable_by_grub()
17548 for the readability checks.
17549 (font_path): Use is_path_readable_by_grub() for the readability
17550 check rather than convert_system_path_to_grub_path().
17551
17552 2008-05-30 Robert Millan <rmh@aybabtu.com>
17553
17554 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
17555 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
17556 converting it first.
17557 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
17558 grub.cfg for access to font file, and afterwards call it again to set
17559 the root device.
17560
17561 2008-05-30 Robert Millan <rmh@aybabtu.com>
17562
17563 * commands/search.c (options): Add --fs_uuid option.
17564 (search_fs_uuid): New function.
17565 (grub_cmd_search): Fix --set argument passing.
17566 Use search_fs_uuid() when requested via --fs_uuid.
17567 (grub_search_init): Update help message.
17568 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
17569 and redeclare it as an array of 16-bit words.
17570 (grub_ext2_uuid): New function.
17571 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
17572 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
17573 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
17574 (GRUB_DEVICE_BOOT_UUID): New variables.
17575 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
17576 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
17577 whenever possible.
17578 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
17579 just assume `root' variable has the right value.
17580 * util/grub.d/10_linux.in: Likewise.
17581 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
17582 via PRINT_FS_UUID.
17583 (main): Recognise `-t fs_uuid' argument.
17584
17585 2008-05-30 Robert Millan <rmh@aybabtu.com>
17586
17587 * util/biosdisk.c (map): Redefine structure to hold information
17588 about GRUB drive name.
17589 (get_drive): Reimplement without assuming (and verifying) BIOS-like
17590 drive names.
17591 (call_hook): Remove.
17592 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
17593 member. Assume drive has partitions.
17594 (grub_util_biosdisk_open): Access device names via `.device' struct
17595 member.
17596 (open_device): Likewise.
17597 (find_drive): Likewise.
17598 (read_device_map): Adjust map[] usage to match the new struct
17599 definition. Don't check for duplicates (still possible, but not cheap
17600 anymore).
17601 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
17602 (make_device_name): Remove assumption of BIOS-like drive names.
17603
17604 2008-05-30 Pavel Roskin <proski@gnu.org>
17605
17606 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
17607 compiling execute.c doesn't need grub_script.tab.h anymore.
17608 (normal/command.c_DEPENDENCIES): Likewise.
17609 (normal/function.c_DEPENDENCIES): Likewise.
17610 * conf/i386-ieee1275.rmk: Likewise.
17611 * conf/i386-linuxbios.rmk: Likewise.
17612 * conf/i386-pc.rmk: Likewise.
17613 * conf/powerpc-ieee1275.rmk: Likewise.
17614 * conf/sparc64-ieee1275.rmk: Likewise.
17615
17616 2008-05-29 Pavel Roskin <proski@gnu.org>
17617
17618 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
17619 when scanning metadata for volume group name.
17620
17621 * include/grub/script.h: Don't include grub_script.tab.h. It's
17622 a generated file, which may only be included from the files with
17623 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
17624 use union YYSTYPE, as the later allows forward declaration.
17625 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
17626
17627 2008-05-29 Robert Millan <rmh@aybabtu.com>
17628
17629 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
17630 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
17631 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
17632 (grub_console_checkkey): Add grub_dprintf() call to report unknown
17633 scan codes.
17634
17635 2008-05-29 Robert Millan <rmh@aybabtu.com>
17636
17637 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
17638 control key combinations.
17639
17640 2008-05-29 Robert Millan <rmh@aybabtu.com>
17641
17642 * util/powerpc/ieee1275/grub-install.in: Move from here ...
17643 * util/ieee1275/grub-install.in: ... to here.
17644 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
17645 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
17646 (grub_install_SOURCES): Likewise.
17647
17648 2008-05-29 Robert Millan <rmh@aybabtu.com>
17649
17650 * fs/affs.c: Update copyright year.
17651 * fs/ext2.c: Likewise.
17652 * fs/fshelp.c: Likewise.
17653 * fs/hfsplus.c: Likewise.
17654 * fs/ntfs.c: Likewise.
17655 * fs/xfs.c: Likewise.
17656 * include/grub/fshelp.h: Likewise.
17657 * util/grub-mkdevicemap.c: Likewise.
17658
17659 2008-05-28 Robert Millan <rmh@aybabtu.com>
17660
17661 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
17662 might need to be fatfs to support some firmware implementations
17663 (e.g. OFW or EFI).
17664
17665 2008-05-28 Robert Millan <rmh@aybabtu.com>
17666
17667 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
17668 devices.
17669 * util/grub-mkdevicemap.c (get_mmc_disk_name)
17670 (make_device_map): Likewise.
17671
17672 2008-05-20 Bean <bean123ch@gmail.com>
17673
17674 * fs/fshelp.c (grub_fshelp_map_block): New function.
17675 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
17676 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
17677
17678 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
17679 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
17680 (grub_fshelp_journal): New structure.
17681 (grub_fshelp_map_block): New function prototype.
17682 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
17683 (grub_fshelp_map_block): Likewise.
17684
17685 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
17686 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
17687 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
17688 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
17689 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
17690 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
17691 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
17692 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
17693 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
17694 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
17695 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
17696 (grub_ext2_sblock): New members for journal support.
17697 (grub_ext3_journal_header): New structure.
17698 (grub_ext3_journal_revoke_header): Likewise.
17699 (grub_ext3_journal_block_tag): Likewise.
17700 (grub_ext3_journal_sblock): Likewise.
17701 (grub_fshelp_node): New members logfile and journal.
17702 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
17703 grub_fshelp_map_block to get real block number.
17704 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
17705 number.
17706 (grub_ext2_read_inode): Likewise.
17707 (grub_ext3_get_journal): New function.
17708 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
17709 (grub_ext2_close): Release memory used by journal.
17710
17711 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
17712 (REISERFS_MAGIC_DESC_BLOCK): New macro.
17713 (grub_reiserfs_transaction_header): Renamed to
17714 grub_reiserfs_description_block, replace field data with real_blocks.
17715 (grub_reiserfs_commit_block): New structure.
17716 (grub_reiserfs_data): New member journal.
17717 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
17718 number.
17719 (grub_reiserfs_read_symlink): Likewise.
17720 (grub_reiserfs_iterate_dir): Likewise.
17721 (grub_reiserfs_open): Likewise.
17722 (grub_reiserfs_read): Likewise.
17723 (grub_reiserfs_get_journal): New function.
17724 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
17725 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
17726 using grub_reiserfs_get_journal.
17727 (grub_reiserfs_close): Release memory used by journal.
17728
17729 * fs/affs.c (grub_affs_read_block): Change block type to
17730 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
17731
17732 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
17733
17734 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
17735
17736 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
17737
17738 * fs/udf.c (grub_udf_read_block): Change block type to
17739 grub_disk_addr_t. Use type cast to avoid warning.
17740
17741 * fs/xfs.c (grub_xfs_read_block): Likewise.
17742
17743 2008-05-16 Christian Franke <franke@computer.org>
17744
17745 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
17746 to ensure that break with ESC will always work.
17747 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
17748 Remove ESC from keyboard queue.
17749
17750 2008-05-16 Christian Franke <franke@computer.org>
17751
17752 * util/biosdisk.c: [__CYGWIN__] Add includes.
17753 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
17754 (get_os_disk): Move variable declarations to OS specific
17755 parts to avoid warning.
17756 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
17757 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
17758 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
17759 Cygwin.
17760 * util/getroot.c: [__CYGWIN__] Add includes.
17761 (strip_extra_slashes): Fix "/" case.
17762 [__CYGWIN__] (get_win32_path): New function.
17763 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
17764 [__CYGWIN__] (find_root_device): Disable.
17765 [__CYGWIN__] (get_bootsec_serial): New function.
17766 [__CYGWIN__] (find_cygwin_root_device): Likewise.
17767 [__linux__] (grub_guess_root_device): Add early returns to simplify
17768 structure.
17769 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
17770 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
17771 check for Linux only.
17772
17773 2008-05-15 Bean <bean123ch@gmail.com>
17774
17775 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
17776 keyboard hang problem in apple's intel mac.
17777
17778 2008-05-09 Robert Millan <rmh@aybabtu.com>
17779
17780 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
17781 devices.
17782 * util/grub-mkdevicemap.c (get_virtio_disk_name)
17783 (make_device_map): Likewise.
17784 Reported by Aurelien Jarno <aurel32@debian.org>
17785
17786 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
17787
17788 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
17789 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
17790 (make_device_map): Output entries for xvd type disks.
17791
17792 2008-05-07 Robert Millan <rmh@aybabtu.com>
17793
17794 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
17795 devices.
17796 * util/grub-mkdevicemap.c (get_cciss_disk_name)
17797 (make_device_map): Likewise.
17798 Reported by Roland Dreier <rdreier@cisco.com>
17799
17800 2008-05-07 Robert Millan <rmh@aybabtu.com>
17801
17802 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
17803 grub_strstr() call. Correct a few mistakes in failure path handling.
17804
17805 2008-05-06 Robert Millan <rmh@aybabtu.com>
17806
17807 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17808 Do not print a trailing slash (therefore, the root directory is an
17809 empty string).
17810 (convert_system_path_to_grub_path): Do not remove trailing slash
17811 from make_system_path_relative_to_its_root() output.
17812
17813 * util/i386/pc/grub-install.in: Add trailing slash to output from
17814 make_system_path_relative_to_its_root().
17815
17816 2008-05-06 Robert Millan <rmh@aybabtu.com>
17817
17818 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
17819 ensures that output lines aren't intermangled with those sent to
17820 stderr (via grub_util_info()).
17821 * util/grub-probe.c (grub_refresh): Likewise.
17822 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
17823
17824 2008-05-05 Christian Franke <franke@computer.org>
17825
17826 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
17827 Add Cygwin device names.
17828 (get_ide_disk_name) [__CYGWIN__]: Likewise.
17829 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
17830 (check_device): Return error instead of success on empty name.
17831 (make_device_map): Move label inside linux specific code to
17832 prevent compiler warning.
17833
17834 2008-04-30 Robert Millan <rmh@aybabtu.com>
17835
17836 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
17837 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
17838 first boot option.
17839 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
17840
17841 2008-04-29 Robert Millan <rmh@aybabtu.com>
17842
17843 * docs/grub.cfg: New file (example GRUB configuration).
17844
17845 2008-04-26 Robert Millan <rmh@aybabtu.com>
17846
17847 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
17848 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
17849 and `disk/ieee1275/nand.c'.
17850
17851 2008-04-25 Bean <bean123ch@gmail.com>
17852
17853 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
17854 i386-linuxbios.
17855
17856 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
17857 change the buffer size to 4096 for cdrom device.
17858
17859 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
17860 and nand.mod.
17861 (_linux_mod_SOURCES): New variable.
17862 (_linux_mod_CFLAGS): Likewise.
17863 (_linux_mod_LDFLAGS): Likewise.
17864 (linux_mod_SOURCES): Likewise.
17865 (linux_mod_CFLAGS): Likewise.
17866 (linux_mod_LDFLAGS): Likewise.
17867 (nand_mod_SOURCES): Likewise.
17868 (nand_mod_CFLAGS): Likewise.
17869 (nand_mod_LDFLAGS): Likewise.
17870
17871 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
17872 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
17873 type property. (nand device in olpc don't have this property)
17874
17875 * include/grub/disk.h (grub_disk_dev_id): New macro
17876 GRUB_DISK_DEVICE_NAND_ID.
17877
17878 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
17879 function prototype.
17880 (grub_rescue_cmd_initrd): Likewise.
17881
17882 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
17883 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
17884 ofw_cif_handler and ofw_idt, adjust padding number.
17885
17886 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
17887 GRUB_MACHINE_IEEE1275 is defined.
17888
17889 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
17890 Use NESTED_FUNC_ATTR attribute on the hook parameter.
17891
17892 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
17893 on nested function heap_init.
17894 (grub_upper_mem): New variable for i386-ieee1275.
17895 (grub_get_extended_memory): New function for i386-ieee1275.
17896 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
17897
17898 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
17899 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
17900 property.
17901
17902 * loader/i386/ieee1275/linux.c: New file.
17903
17904 * loader/i386/ieee1275/linux_normal.c: New file.
17905
17906 * disk/ieee1275/nand.c: New file.
17907
17908 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
17909
17910 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
17911 value.
17912 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
17913
17914 2008-04-18 Robert Millan <rmh@aybabtu.com>
17915
17916 Restructures early code path on ieee1275 to unify grub_main() as
17917 the first C function that is executed in every platform.
17918
17919 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
17920 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
17921 cmain().
17922 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
17923 * kern/ieee1275/cmain.c (cmain): Rename to ...
17924 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
17925 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
17926 at the beginning.
17927
17928 2008-04-18 Robert Millan <rmh@aybabtu.com>
17929
17930 * util/update-grub.in: Fix syntax error when setting
17931 `GRUB_PRELOAD_MODULES'.
17932 Reported by Stephane Chazelas <stephane@artesyncp.com>
17933
17934 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
17935
17936 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
17937 section into account, newer toolchains generate unique build ids
17938 * configure.ac: remove the test for --build-id=none acceptance,
17939 we want build ids to be preserved
17940 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
17941 far from other sections don't cause the raw binary images grow
17942 size
17943
17944 2008-04-15 Robert Millan <rmh@aybabtu.com>
17945
17946 * disk/lvm.c: Update copyright year.
17947 * kern/misc.c: Likewise.
17948
17949 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
17950
17951 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
17952 there is no memory left for physical volume name.
17953
17954 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
17955
17956 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
17957 volume name mapping to support bigger than 9 character names properly.
17958
17959 2008-04-13 Robert Millan <rmh@aybabtu.com>
17960
17961 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
17962 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
17963
17964 2008-04-13 Christian Franke <franke@computer.org>
17965
17966 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
17967 to create a floppy emulation boot CD when non emulation mode
17968 does not work.
17969 Enable Joliet CD filesystem extension.
17970
17971 2008-04-13 Robert Millan <rmh@aybabtu.com>
17972
17973 * kern/misc.c (grub_strncat): Fix off-by-one error.
17974 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
17975
17976 * kern/env.c (grub_env_context_close): Clear current context, not
17977 previous one.
17978 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
17979
17980 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
17981
17982 2008-04-13 Robert Millan <rmh@aybabtu.com>
17983
17984 Improve robustness when handling LVM.
17985
17986 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
17987 (and leave `*p' unmodified).
17988 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
17989 through it.
17990 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
17991 iterating through it.
17992 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
17993 through it.
17994 (grub_lvm_scan_device): Check the return value (and fail gracefully
17995 when due) on each grub_lvm_getvalue() or grub_strstr() call.
17996 Don't assume `vg->pvs != NULL' when iterating through it.
17997
17998 2008-04-13 Robert Millan <rmh@aybabtu.com>
17999
18000 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
18001 * genmk.rb (partmap): New variable.
18002 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
18003 (#{partmap}): New target rule.
18004 * genpartmaplist.sh: New file.
18005 * Makefile.in (pkglib_DATA): Add partmap.lst.
18006 (partmap.lst): New target rule.
18007 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
18008 modules (including all partition maps), instead of preloading them.
18009
18010 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
18011
18012 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
18013 `linux-boot-prober' (if installed) to detect other operating
18014 systems which are installed on the computer and add them to
18015 the boot menu.
18016 * conf/common.rmk: Build and install 30_os-prober.
18017
18018 2008-04-12 Robert Millan <rmh@aybabtu.com>
18019
18020 * kern/powerpc/ieee1275/init.c: Move from here ...
18021 * kern/ieee1275/init.c: ... to here. Update all users.
18022
18023 * kern/powerpc/ieee1275/cmain.c: Move from here ...
18024 * kern/ieee1275/cmain.c: ... to here. Update all users.
18025
18026 * kern/powerpc/ieee1275/openfw.c: Move from here ...
18027 * kern/ieee1275/openfw.c: ... to here. Update all users.
18028
18029 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
18030 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
18031
18032 2008-04-10 Pavel Roskin <proski@gnu.org>
18033
18034 * configure.ac: Always use "_cv_" in cache variables for
18035 compatibility with Autoconf 2.62.
18036
18037 2008-04-07 Robert Millan <rmh@aybabtu.com>
18038
18039 Revert grub/machine/init.h addition by Pavel (since it breaks on
18040 i386-ieee1275 and others):
18041 * util/i386/pc/misc.c: Remove grub/machine/init.h.
18042 * util/powerpc/ieee1275/misc.c: Likewise.
18043
18044 2008-04-07 Robert Millan <rmh@aybabtu.com>
18045
18046 * util/grub-probe.c (probe): Improve error message.
18047
18048 2008-04-07 Robert Millan <rmh@aybabtu.com>
18049
18050 * util/biosdisk.c (read_device_map): Skip devices that don't exist
18051 (this prevents the presence of a bogus entry from ruining the whole
18052 thing).
18053
18054 2008-04-06 Pavel Roskin <proski@gnu.org>
18055
18056 * util/biosdisk.c: Include grub/util/biosdisk.h.
18057 * util/grub-fstest.c (execute_command): Make static.
18058 * util/grub-mkdevicemap.c (check_device): Likewise.
18059 * util/i386/pc/misc.c: Include grub/machine/init.h.
18060 * util/powerpc/ieee1275/misc.c: Likewise.
18061 * util/lvm.c: Include grub/util/lvm.h.
18062 * util/misc.c: Include grub/kernel.h, grub/misc.h and
18063 grub/cache.h.
18064 * util/raid.c: Include grub/util/raid.h.
18065 (grub_util_getdiskname): Make static.
18066
18067 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
18068 grub_hostfs_fini(), as they are called from grub_init_all() and
18069 grub_fini_all() respectively. This fixes an infinite loop in
18070 grub-fstest due to double registration of hostfs.
18071 Reported by Christian Franke <Christian.Franke@t-online.de>
18072
18073 2008-04-05 Pavel Roskin <proski@gnu.org>
18074
18075 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
18076 all 8 functions. Otherwise, probe function 0 only.
18077
18078 2008-04-04 Pavel Roskin <proski@gnu.org>
18079
18080 * commands/lspci.c (grub_lspci_iter): Print the bus number
18081 correctly.
18082
18083 * commands/lspci.c (grub_pci_classes): Fix typos.
18084 (grub_lspci_iter): Don't print func twice. Print vendor ID
18085 before device ID, as it's normally done.
18086
18087 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
18088 Fix signedness warnings.
18089 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
18090 Likewise.
18091 * util/ieee1275/get_disk_name.c: Include config.h so that
18092 _GNU_SOURCE is defined and getline() is declared. Mark an
18093 unused argument as such. Fix a signedness warning.
18094
18095 2008-04-02 Pavel Roskin <proski@gnu.org>
18096
18097 * genkernsyms.sh.in: Use more robust assignments for CC and
18098 srcdir. Quote srcdir.
18099 * gensymlist.sh.in: Likewise. Assert at the compile time that
18100 the symbol table is not empty.
18101
18102 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
18103 * fs/cpio.c (grub_cpio_read): Likewise.
18104
18105 2008-04-01 Pavel Roskin <proski@gnu.org>
18106
18107 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
18108 * disk/host.c (grub_host_open): Likewise.
18109 * disk/loopback.c (grub_loopback_open): Likewise.
18110 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
18111 disk->id as in disk/host.c, not a multi-character constant.
18112
18113 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
18114 later is obsolete, potentially dangerous and sets a bad example.
18115 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
18116 * util/misc.c (grub_util_get_image_size): Likewise.
18117
18118 * disk/loopback.c (options): Improve help for "--partitions".
18119
18120 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
18121 options to align them with the short options, e.g. "echo -e".
18122
18123 2008-03-31 Bean <bean123ch@gmail.com>
18124
18125 * video/reader/png.c (grub_png_data): New member is_16bit and
18126 image_data.
18127 (grub_png_decode_image_header): Detect 16 bit png image.
18128 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
18129 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
18130 (grub_video_reader_png): Release memory occupied by image_data.
18131
18132 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
18133 4096 bytes.
18134 (grub_nfs_mount): Skip the test for sector per cluster.
18135
18136 * include/grub/ntfs.h (MAX_SPC): Removed.
18137
18138 2008-03-31 Bean <bean123ch@gmail.com>
18139
18140 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
18141 (grub_probe_SOURCES): Add fs/afs.c.
18142 (grub_fstest_SOURCES): Likewise.
18143 (afs_mod_SOURCES): New variable.
18144 (afs_mod_CFLAGS): Likewise.
18145 (afs_mod_LDFLAGS): Likewise.
18146
18147 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
18148 (grub_emu_SOURCES): Likewise.
18149
18150 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18151
18152 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18153
18154 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18155
18156 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18157
18158 * fs/afs.c: New file.
18159
18160 2008-03-30 Pavel Roskin <proski@gnu.org>
18161
18162 * disk/host.c: Include grub/misc.h to fix a warning.
18163 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
18164 warnings about implicit declarations.
18165
18166 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
18167 variable.
18168 * include/grub/i386/loader.h: Change declaration of
18169 grub_linux_boot() to match what grub_loader_set() expects.
18170 * util/getroot.c (grub_guess_root_device): Return const char* to
18171 fix a warning.
18172 * util/grub-probe.c (probe): Fix a warning about uninitialized
18173 abstraction_name variable.
18174 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
18175 second argument as unused to fix a warning.
18176
18177 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
18178 missing grub_error() call.
18179
18180 * util/update-grub_lib.in: Define datarootdir, since Autoconf
18181 2.60 and newer uses it to define datadir.
18182
18183 * commands/sleep.c: Fix warning about implicit declaration.
18184 * disk/memdisk.c: Likewise.
18185 * loader/aout.c: Likewise.
18186 * loader/i386/bsd_normal.c: Likewise.
18187 * util/grub-probe.c: Likewise.
18188
18189 * commands/i386/cpuid.c (has_longmode): Make static.
18190 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
18191 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
18192
18193 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
18194 GDT. This is more robust, as %ds can change.
18195 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
18196 calling real_to_prot().
18197 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
18198
18199 2008-03-28 Pavel Roskin <proski@gnu.org>
18200
18201 * kern/i386/pc/startup.S: Assert that uncompressed functions
18202 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
18203 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
18204 code, as they push parts of the code (error handlers) beyond
18205 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
18206 code as correctness and size.
18207
18208 2008-03-28 Pavel Roskin <proski@gnu.org>
18209
18210 * kern/i386/pc/startup.S
18211 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
18212 data block address to the real mode, keep offset minimal. This
18213 works around a bug in AWARD BIOS on old Athlon systems, which
18214 makes CD detection hang.
18215
18216 2008-03-26 Pavel Roskin <proski@gnu.org>
18217
18218 * normal/color.c (grub_parse_color_name_pair): Make `name' a
18219 const.
18220 * include/grub/normal.h: Add grub_parse_color_name_pair()
18221 declaration.
18222
18223 2008-03-24 Bean <bean123ch@gmail.com>
18224
18225 * disk/i386/pc/biosdisk.c (cd_start): Removed.
18226 (cd_count): Removed.
18227 (cd_drive): New variable.
18228 (grub_biosdisk_get_drive): Don't check for (cdN) device.
18229 (grub_biosdisk_call_hook): Likewise.
18230 (grub_biosdisk_iterate): Change cdrom detection method.
18231 (grub_biosdisk_open): Replace cd_start with cd_drive.
18232 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
18233 detect cdrom device.
18234
18235 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
18236 Removed.
18237 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
18238 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
18239 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
18240 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
18241 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
18242 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
18243 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
18244 (grub_biosdisk_cdrp): New structure.
18245 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
18246
18247 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
18248
18249 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
18250 device.
18251
18252 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
18253 New function.
18254
18255 2008-03-20 Robert Millan <rmh@aybabtu.com>
18256
18257 Remove 2 TiB limit in ata.mod.
18258 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
18259 (grub_ata_dumpinfo): Print sector count with 0x%llx.
18260 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
18261 grub_uint64_t instead of grub_uint32_t.
18262
18263 2008-03-05 Bean <bean123ch@gmail.com>
18264
18265 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
18266 (grub_multiboot): Set boot device.
18267
18268 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
18269
18270 2008-03-02 Bean <bean123ch@gmail.com>
18271
18272 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
18273 symlink_buffer.
18274
18275 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
18276
18277 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
18278 texinfo.tex.
18279
18280 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
18281 modified.
18282
18283 * docs/fdl.texi: New file.
18284
18285 * docs/mdate-sh: New file. Copied from gnulib.
18286 * docs/texinfo.tex: Likewise.
18287
18288 * config.guess: Updated from gnulib.
18289 * install-sh: Likewise.
18290
18291 2008-02-28 Robert Millan <rmh@aybabtu.com>
18292
18293 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
18294 (aout_mod_SOURCES): New variable.
18295 (aout_mod_CFLAGS): Likewise.
18296 (aout_mod_LDFLAGS): Likewise.
18297
18298 * conf/i386-ieee1275.rmk: Likewise.
18299
18300 2008-02-28 Robert Millan <rmh@aybabtu.com>
18301
18302 * util/update-grub.in: Reorganise terminal validity check. Accept
18303 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
18304 Based on suggestion by Franklin PIAT.
18305
18306 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
18307
18308 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
18309 function.
18310 * util/getroot.c (grub_util_check_block_device): New function that
18311 returns the given argument if it is a block device and returns NULL else.
18312 * util/grub-probe.c (argument_is_device): New variable.
18313 (probe): Promote device_name from a variable to an argument. Receive
18314 device_name from grub_util_check_block_device() if path is NULL and from
18315 grub_guess_root_device() else. Do not free() device_name anymore.
18316 (options): Introduce new parameter '-d, --device'.
18317 (main): Add description of the new parameter to the help screen.
18318 Rename path variable to argument. Set argument_is_device if the '-d'
18319 option is given. Pass argument to probe() depending on
18320 argument_is_device.
18321
18322 2008-02-24 Bean <bean123ch@gmail.com>
18323
18324 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
18325 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
18326 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
18327 (GRUB_ISO9660_VOLDESC_PART): Likewise.
18328 (GRUB_ISO9660_VOLDESC_END): Likewise.
18329 (grub_iso9660_primary_voldesc): New member escape.
18330 (grub_iso9660_data): New member joliet.
18331 (grub_iso9660_convert_string): New function.
18332 (grub_iso9660_mount): Detect joliet extension.
18333 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
18334 (grub_iso9660_iso9660_label): Likewise.
18335
18336 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
18337 (grub_setup_SOURCES): Add fs/udf.c.
18338 (grub_fstest_SOURCES): Likewise.
18339 (udf_mod_SOURCES): New variable.
18340 (udf_mod_CFLAGS): Likewise.
18341 (udf_mod_LDFLAGS): Likewise.
18342
18343 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
18344 (grub_emu_SOURCES): Likewise.
18345
18346 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18347
18348 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18349
18350 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18351
18352 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18353
18354 * fs/udf.c: New file.
18355
18356 2008-02-24 Robert Millan <rmh@aybabtu.com>
18357
18358 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
18359 (normal/lexer.c_DEPENDENCIES): New variables.
18360 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18361 (normal/lexer.c_DEPENDENCIES): Likewise.
18362 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
18363 (normal/lexer.c_DEPENDENCIES): Likewise.
18364 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
18365 (normal/lexer.c_DEPENDENCIES): Likewise.
18366 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18367 (normal/lexer.c_DEPENDENCIES): Likewise.
18368 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18369 (normal/lexer.c_DEPENDENCIES): Likewise.
18370
18371 2008-02-23 Robert Millan <rmh@aybabtu.com>
18372
18373 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
18374 since they were intended to be in hex. This didn't break previously
18375 because of a bug in gpt_partition_map_iterate() (see below).
18376
18377 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
18378 when checking the validity of GPT header.
18379 Remove `partno', since it always provides the same information as `i'.
18380
18381 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
18382
18383 * include/grub/efi/time.h: Fix a wrong comment.
18384
18385 2008-02-19 Pavel Roskin <proski@gnu.org>
18386
18387 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
18388 message.
18389
18390 2008-02-19 Bean <bean123ch@gmail.com>
18391
18392 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
18393 (aout_mod_SOURCES): New variable.
18394 (aout_mod_CFLAGS): Likewise.
18395 (aout_mod_LDFLAGS): Likewise.
18396 (_bsd_mod_SOURCES): New variable.
18397 (_bsd_mod_CFLAGS): Likewise.
18398 (_bsd_mod_LDFLAGS): Likewise.
18399 (bsd_mod_SOURCES): New variable.
18400 (bsd_mod_CFLAGS): Likewise.
18401 (bsd_mod_LDFLAGS): Likewise.
18402
18403 * include/grub/aout.h: New file.
18404
18405 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
18406
18407 * include/grub/i386/bsd.h: New file.
18408
18409 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
18410 to make it public.
18411
18412 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
18413 function is called, so that it's possible to change it inside the hook.
18414 (grub_elf64_load): Likewise.
18415 (grub_elf_file): Don't close the file if elf header is not found.
18416 (grub_elf_close): Close the file if grub_elf_file fails (The new
18417 grub_elf_file won't close it).
18418 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
18419 (grub_elf64_size): Likewise.
18420
18421 * kern/i386/loader.S (grub_unix_real_boot): New function.
18422
18423 * loader/aout.c: New file.
18424
18425 * loader/i386/bsd.c: New file.
18426
18427 * loader/i386/bsd_normal.c: New file.
18428
18429 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
18430
18431 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
18432 can test other formats.
18433
18434 2008-02-19 Robert Millan <rmh@aybabtu.com>
18435
18436 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
18437 (grub_gpt_partition_type_empty): Redefine with macro from
18438 `<grub/gpt_partition.h>'.
18439 (gpt_partition_map_iterate): Adjust partition type comparison.
18440
18441 Export `entry' as partmap-specific `part.data' struct.
18442 (grub_gpt_header, grub_gpt_partentry): Move from here ...
18443
18444 * include/grub/gpt_partition.h (grub_gpt_header)
18445 (grub_gpt_partentry): ... to here (new file).
18446
18447 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
18448
18449 (grub_gpt_partition_type_bios_boot): New const variable, defined
18450 with macro from `<grub/gpt_partition.h>'.
18451
18452 (setup): Replace `first_start' with `embed_region', which keeps
18453 track of the embed region (and is partmap-agnostic).
18454
18455 Replace find_first_partition_start() with find_usable_region(),
18456 which finds a usable region for embedding using partmap-specific
18457 knowledge (supports PC/MSDOS and GPT).
18458
18459 Fix all assumptions that the embed region start at sector 1, using
18460 `embed_region.start' from now on. Similarly, use `embed_region.end'
18461 rather than `first_start' to calculate available size.
18462
18463 In grub_util_info() message, replace "into after the MBR" with an
18464 indication of the specific sector our embed region starts at.
18465
18466 2008-02-19 Robert Millan <rmh@aybabtu.com>
18467
18468 * DISTLIST: Replace `commands/ieee1275/halt.c' and
18469 `commands/ieee1275/reboot.c' with `commands/halt.c' and
18470 `commands/reboot.c'.
18471 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
18472 (halt_mod_SOURCES): Likewise.
18473 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
18474 (halt_mod_SOURCES): Likewise.
18475
18476 2008-02-17 Christian Franke <franke@computer.org>
18477
18478 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
18479
18480 2008-02-17 Robert Millan <rmh@aybabtu.com>
18481
18482 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
18483 set `first_start' to 0 for non-PC/MSDOS partition maps.
18484
18485 2008-02-16 Robert Millan <rmh@aybabtu.com>
18486
18487 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
18488 do not assume partition map is PC/MSDOS before performing checks that
18489 are specific to that layout.
18490
18491 2008-02-13 Robert Millan <rmh@aybabtu.com>
18492
18493 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
18494 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
18495 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
18496
18497 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
18498
18499 * configure.ac: Only a cosmetic change on the handling of
18500 -fno-stack-protector.
18501
18502 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
18503
18504 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
18505 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
18506 reboot.c.
18507 (grub_install_SOURCES): Add halt.mod and reboot.mod.
18508 (halt_mod_SOURCES): New variable.
18509 (halt_mod_CFLAGS): Likewise.
18510 (halt_mod_LDFLAGS): Likewise.
18511 (reboot_mod_SOURCES): Likewise.
18512 (reboot_mod_CFLAGS): Likewise.
18513 (reboot_mod_LDFLAGS): Likewise.
18514
18515 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
18516 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
18517 reboot.c.
18518 (halt_mod_SOURCES): Likewise.
18519 (reboot_mod_SOURCES): Likewise.
18520
18521 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
18522 commands/i386/pc/reboot.c by commands/reboot.c.
18523 (reboot_mod_SOURCES): Likewise.
18524
18525 * commands/i386/pc/reboot.c: merge this file ...
18526
18527 * commands/ieee1275/reboot.c: ... and this file ...
18528
18529 * commands/reboot.c: ... to this file.
18530 Add some precompiler directive to include the correct header for
18531 each machine.
18532
18533 * commands/ieee1275/halt.c: move this file ...
18534
18535 * commands/halt.c: ... to here.
18536 Add some precompiler directive to include the correct header for
18537 each machine.
18538
18539 * include/grub/efi/efi.h (grub_reboot): New function declaration.
18540 (grub_halt): Likewise.
18541
18542 * kern/efi/efi.c (grub_reboot): New function.
18543 (grub_halt): Likewise.
18544
18545 2008-02-12 Robert Millan <rmh@aybabtu.com>
18546
18547 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
18548 /dev (like it is done for /dev/mapper). This doesn't provide support
18549 for EVMS, but at least it is now easy to identify the problem when it
18550 arises.
18551
18552 2008-02-11 Robert Millan <rmh@aybabtu.com>
18553
18554 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
18555 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
18556 comparing it with -1, not 0.
18557
18558 2008-02-10 Robert Millan <rmh@aybabtu.com>
18559
18560 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
18561 `disk/lvm.c'.
18562 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18563 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18564
18565 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
18566 `disk/lvm.c' to the end of the list.
18567 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18568 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18569
18570 2008-02-10 Robert Millan <rmh@aybabtu.com>
18571
18572 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
18573 grub_print_error() instead. This will let user know why we're entering
18574 rescue mode.
18575 Based on suggestions from Sam Morris.
18576
18577 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
18578
18579 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
18580 on remaining N args, instead of "--" arg N times.
18581
18582 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
18583
18584 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
18585 (fill_with_default_glyph): Changed to use unknown_glyph for fill
18586 pattern for unknown glyphs.
18587
18588 2008-02-09 Robert Millan <rmh@aybabtu.com>
18589
18590 * configure.ac: Probe for `help2man'.
18591 * Makefile.in (builddir): New variable.
18592 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
18593 or otherwise add a few flags/options to it.
18594 (install-local): For every executable utility or script that is
18595 installed, invoke $(HELP2MAN) to install a manpage based on --help
18596 output.
18597
18598 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
18599 that it doesn't prevent --help from working in build tree.
18600
18601 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
18602 with `bug-grub@gnu.org'.
18603 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
18604 * util/update-grub.in (usage): New function.
18605 Implement proper argument check, with support for --help and --version
18606 (as well as existing -y).
18607
18608 2008-02-09 Christian Franke <franke@computer.org>
18609
18610 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
18611 avoid overwriting previous output.
18612 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
18613
18614 2008-02-09 Robert Millan <rmh@aybabtu.com>
18615
18616 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
18617 drawing the menu.
18618
18619 2008-02-09 Robert Millan <rmh@aybabtu.com>
18620
18621 * commands/sleep.c: New file.
18622 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
18623 (sleep_mod_SOURCES): New variable.
18624 (sleep_mod_CFLAGS): Likewise.
18625 (sleep_mod_LDFLAGS): Likewise.
18626
18627 2008-02-09 Robert Millan <rmh@aybabtu.com>
18628
18629 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
18630 situations in which we can deduce the RAID size and the superblock
18631 doesn't match it.
18632
18633 2008-02-09 Robert Millan <rmh@aybabtu.com>
18634
18635 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
18636 and return a grub_diskmemberlist_t composed of LVM physical volumes.
18637 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
18638
18639 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
18640 and return a grub_diskmemberlist_t composed of physical array members.
18641 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
18642
18643 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
18644 prototype.
18645 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
18646 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
18647 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
18648
18649 * util/grub-probe.c (probe): Move partmap probing code from here ...
18650 (probe_partmap): ... to here.
18651 (probe): Use probe_partmap() once for the disk we're probing, and
18652 additionally, when such disk contains a memberlist() struct member,
18653 once for each disk that is contained in the structure returned by
18654 memberlist().
18655
18656 2008-02-09 Robert Millan <rmh@aybabtu.com>
18657
18658 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
18659 environment variable to 'all' in order to obtain debug output from
18660 non-util/ code.
18661 * util/i386/pc/grub-setup.c (main): Likewise.
18662
18663 2008-02-08 Robert Millan <rmh@aybabtu.com>
18664
18665 * disk/raid.c (grub_raid_scan_device): Check for
18666 `array->device[sb.this_disk.number]' rather than for
18667 `array->device[sb.this_disk.number]->name', since the latter is not
18668 guaranteed to be accessible.
18669
18670 2008-02-08 Robert Millan <rmh@aybabtu.com>
18671
18672 * disk/raid.c: Update copyright.
18673 * fs/cpio.c: Likewise.
18674 * include/grub/raid.h: Likewise.
18675 * loader/i386/pc/multiboot.c: Likewise.
18676 * util/hostfs.c: Likewise.
18677
18678 2008-02-08 Robert Millan <rmh@aybabtu.com>
18679
18680 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
18681 to a grub_disk_t array.
18682 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
18683 `device[x]'.
18684 (grub_raid_scan_device): Replace `device[x].name' accesses with
18685 `device[x]->name'. Simplify initialization of `array->device[x]'.
18686
18687 2008-02-08 Robert Millan <rmh@aybabtu.com>
18688
18689 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
18690 grub_dprintf() calls.
18691 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
18692 error message.
18693
18694 2008-02-07 Christian Franke <franke@computer.org>
18695
18696 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
18697 instead of fseek and ftell to support large files.
18698 (grub_hostfs_read): Likewise.
18699
18700 2008-02-07 Robert Millan <rmh@aybabtu.com>
18701
18702 Patch from Jeroen Dekkers.
18703 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
18704 failure, since successfully reading all array members might not be
18705 required.
18706
18707 2008-02-06 Robert Millan <rmh@aybabtu.com>
18708
18709 * util/grub-probe.c (probe): Simplify partmap probing (with the
18710 assumption that the first word up to the underscore equals to
18711 the module name).
18712
18713 2008-02-06 Christian Franke <franke@computer.org>
18714
18715 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
18716 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
18717 last block of a cpio or tar stream.
18718 Check for "TRAILER!!!" instead of any empty data
18719 block to detect last block of a cpio stream.
18720 (grub_cpio_dir): Fix constness of variable np.
18721 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
18722 cpio or tar trailer is detected. This fixes a crash
18723 on open of a non existing file.
18724
18725 2008-02-05 Bean <bean123ch@gmail.com>
18726
18727 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
18728 address of entry.
18729 (grub_multiboot_load_elf64): Likewise.
18730 (grub_multiboot): Initialize mbi structure.
18731
18732 * util/grub-fstest.c: Don't include unused header file script.h.
18733
18734 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
18735 of file.
18736 (grub_fstest_SOURCES): Likewise.
18737
18738 2008-02-05 Robert Millan <rmh@aybabtu.com>
18739
18740 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
18741 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
18742 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
18743 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
18744
18745 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
18746 (translation_table): Replace hardcoded values with macros
18747 provided by `<grub/term.h>'.
18748
18749 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
18750 (keyboard_map): Correct/add a few values, with macros provided
18751 by `<grub/term.h>'.
18752 (keyboard_map_shift): Zero values that don't differ from their
18753 `keyboard_map' equivalents.
18754 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
18755 Discard the second scan code that is always sent by Caps lock.
18756 Only use `keyboard_map_shift' when it provides a non-zero value,
18757 otherwise fallback to `keyboard_map'.
18758
18759 2008-02-04 Bean <bean123ch@gmail.com>
18760
18761 * Makefile.in (enable_grub_fstest): New variable.
18762
18763 * conf/common.rmk (grub_fstest_init.lst): New rule.
18764 (grub_fstest_init.h): Likewise.
18765 (grub_fstest_init.c): Likewise.
18766 (util/grub-fstest.c_DEPENDENCIES): New variable.
18767 (grub_fstest_SOURCES): Likewise.
18768
18769 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
18770
18771 * util/grub-fstest.c: New file.
18772
18773 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18774
18775 Make grub-setup handle a separate root device.
18776
18777 * util/i386/pc/grub-setup.c (setup): Always open the root device,
18778 so that the root device can be compared with the destination
18779 device.
18780 When embedding the core image, if the root and destination devices
18781 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
18782 0xFF.
18783 When not embedding, set ROOT_DRIVE to 0xFF.
18784
18785 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18786
18787 Add support for having a grub directory in a different drive. This
18788 is still only the data handling part.
18789
18790 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
18791 (codestart): Save %dh in GRUB_ROOT_DRIVE.
18792 (grub_root_drive): New variable.
18793
18794 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
18795 instead of GRUB_BOOT_DRIVE to construct a device name. Set
18796 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
18797 as it was.
18798
18799 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
18800
18801 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
18802 macro.
18803 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
18804
18805 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
18806 is bogus, because PXE booting does not specify any drive
18807 correctly.
18808
18809 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
18810 am not sure if this is really correct.
18811
18812 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
18813 is always identical to the boot drive when booting from a CD.
18814
18815 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
18816 longer.
18817 (root_drive): New variable.
18818 (real_start): Unconditionally set %dh to ROOT_DRIVE.
18819 (setup_sectors): Push %dx right after popping it, because %dh will
18820 be modified later.
18821 (copy_buffer): Restore %dx.
18822
18823 2008-02-03 Robert Millan <rmh@aybabtu.com>
18824
18825 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
18826 use `cdboot.img' for cdrom images.
18827
18828 2008-02-03 Robert Millan <rmh@aybabtu.com>
18829
18830 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
18831 only setup gfxterm when `font' command has succeeded.
18832
18833 2008-02-03 Robert Millan <rmh@aybabtu.com>
18834
18835 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
18836 (grub_rescue_cmd_multiboot_loader)
18837 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
18838
18839 2008-02-03 Pavel Roskin <proski@gnu.org>
18840
18841 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
18842 %edx and %esi from stack only after grub_gate_a20() is called.
18843 grub_gate_a20() clobbers %edx.
18844
18845 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18846
18847 * configure.ac (AC_INIT): Bumped to 1.96.
18848
18849 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
18850 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
18851 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
18852 video/readers/png.c.
18853
18854 2008-02-03 Bean <bean123ch@gmail.com>
18855
18856 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
18857 (cdboot_img_SOURCES): New variable.
18858 (cdboot_img_ASFLAGS): New variable.
18859 (cdboot_img_LDFLAGS): New variable.
18860
18861 * boot/i386/pc/cdboot.S: New file.
18862
18863 * disk/i386/pc/biosdisk.c (cd_start): New variable.
18864 (cd_count): Likewise.
18865 (grub_biosdisk_get_drive): Add support for cd device.
18866 (grub_biosdisk_call_hook): Likewise.
18867 (grub_biosdisk_iterate): Likewise.
18868 (grub_biosdisk_open): Likewise.
18869 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
18870 (grub_biosdisk_rw): Support reading from cd device.
18871 (GRUB_MOD_INIT): Iterate cd devices.
18872
18873 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
18874 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
18875 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
18876
18877 * kern/i386/pc/init.c (make_install_device): Check for cd device.
18878
18879 2008-02-02 Robert Millan <rmh@aybabtu.com>
18880
18881 * commands/read.c: New file.
18882 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
18883 (read_mod_SOURCES): New variable.
18884 (read_mod_CFLAGS): Likewise.
18885 (read_mod_LDFLAGS): Likewise.
18886
18887 2008-02-02 Robert Millan <rmh@aybabtu.com>
18888
18889 * normal/main.c (grub_normal_execute): Check for `menu->size' when
18890 determining whether menu has to be displayed.
18891
18892 2008-02-02 Marco Gerards <marco@gnu.org>
18893
18894 * bus/pci.c: New file.
18895
18896 * include/grub/pci.h: Likewise.
18897
18898 * include/grub/i386/pc/pci.h: Likewise.
18899
18900 * commands/lspci.c: Likewise.
18901
18902 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
18903 `lspci.mod'.
18904 (pci_mod_SOURCES): New variable.
18905 (pci_mod_CFLAGS): Likewise.
18906 (pci_mod_LDFLAGS): Likewise.
18907 (lspci_mod_SOURCES): Likewise.
18908 (lspci_mod_CFLAGS): Likewise.
18909 (lspci_mod_LDFLAGS): Likewise.
18910
18911 2008-02-02 Bean <bean123ch@gmail.com>
18912
18913 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
18914 (grub_ufs_get_file_block): Fix indirect block calculation problem.
18915
18916 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
18917 (grub_xfs_btree_node): New structure.
18918 (grub_xfs_btree_root): New structure.
18919 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
18920 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
18921 (GRUB_XFS_EXTENT_BLOCK): Likewise.
18922 (GRUB_XFS_EXTENT_SIZE): Likewise.
18923 (grub_xfs_read_block): Support btree format type.
18924 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
18925 Use directory block as basic unit.
18926
18927 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
18928
18929 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
18930 __attribute__ ((__regparm__ (1))).
18931
18932 2008-02-01 Robert Millan <rmh@aybabtu.com>
18933
18934 Correct a mistake in previous commit.
18935
18936 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
18937 top.
18938 (normal/command.c_DEPENDENCIES): New variable.
18939
18940 2008-02-01 Robert Millan <rmh@aybabtu.com>
18941
18942 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
18943 top.
18944 (normal/command.c_DEPENDENCIES): New variable.
18945 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
18946 * conf/i386-ieee1275.rmk: Likewise.
18947 * conf/i386-linuxbios.rmk: Likewise.
18948 * conf/i386-pc.rmk: Likewise.
18949 * conf/sparc64-ieee1275.rmk: Likewise.
18950 * conf/powerpc-ieee1275.rmk: Likewise.
18951 (grub_emu_SOURCES): Add `fs/fshelp.c'.
18952
18953 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
18954
18955 2008-02-01 Robert Millan <rmh@aybabtu.com>
18956
18957 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
18958 call at beginning of function.
18959
18960 2008-01-31 Pavel Roskin <proski@gnu.org>
18961
18962 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
18963 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
18964 (grub_mkrescue_SOURCES): Likewise.
18965 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
18966
18967 2008-01-30 Robert Millan <rmh@aybabtu.com>
18968
18969 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
18970 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
18971 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
18972 (grub_probe_SOURCES): ... to here.
18973
18974 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
18975 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
18976 * conf/i386-ieee1275.rmk: Likewise.
18977 * conf/i386-linuxbios.rmk: Likewise.
18978 * conf/powerpc-ieee1275.rmk: Likewise.
18979
18980 2008-01-30 Tristan Gingold <gingold@free.fr>
18981
18982 * kern/rescue.c: Silently accept empty lines.
18983
18984 2008-01-29 Bean <bean123ch@gmail.com>
18985
18986 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
18987 (real_code_2): Code cleanup and change comment style.
18988 (move_memory): Avoid using 32-bit address mode.
18989
18990 2008-01-29 Bean <bean123ch@gmail.com>
18991
18992 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
18993 (png_mod_SOURCES): New variable.
18994 (png_mod_CFLAGS): Likewise.
18995 (png_mod_LDFLAGS): Likewise.
18996
18997 * video/readers/png.c: New file.
18998
18999 2008-01-28 Robert Millan <rmh@aybabtu.com>
19000
19001 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
19002 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
19003 `ifndef GRUB_MOD_GAP' hack.
19004 * util/elf/grub-mkimage.c (add_segments): Likewise.
19005
19006 2008-01-27 Robert Millan <rmh@aybabtu.com>
19007
19008 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
19009 `GRUB_MOD_GAP' for platforms in which it's not defined.
19010 * util/elf/grub-mkimage.c (add_segments): Likewise.
19011
19012 2008-01-27 Robert Millan <rmh@aybabtu.com>
19013
19014 Get grub-emu to build again (including parallel builds).
19015
19016 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
19017 Split into ...
19018 (util/grub-emu.c_DEPENDENCIES): ... this, ...
19019 (normal/execute.c_DEPENDENCIES): ... this, ...
19020 (grub-emu_DEPENDENCIES): ... and this.
19021
19022 * conf/i386-efi.rmk: Likewise.
19023 * conf/i386-linuxbios.rmk: Likewise.
19024 * conf/i386-ieee1275.rmk: Likewise.
19025 * conf/powerpc-ieee1275.rmk: Likewise.
19026 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
19027
19028 2008-01-27 Robert Millan <rmh@aybabtu.com>
19029
19030 * NEWS: Add a few items.
19031
19032 2008-01-27 Robert Millan <rmh@aybabtu.com>
19033
19034 Fix parallel builds with grub-emu. Based on earlier commit for
19035 grub-probe and grub-setup.
19036
19037 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19038 (util/grub-emu.c_DEPENDENCIES): ... this.
19039 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19040 (util/grub-emu.c_DEPENDENCIES): ... this.
19041 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19042 (util/grub-emu.c_DEPENDENCIES): ... this.
19043 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19044 (util/grub-emu.c_DEPENDENCIES): ... this.
19045 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19046 (util/grub-emu.c_DEPENDENCIES): ... this.
19047
19048 2008-01-27 Pavel Roskin <proski@gnu.org>
19049
19050 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
19051 to create a gap between _end and the modules added to the image
19052 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
19053 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
19054 * util/elf/grub-mkimage.c (add_segments): Likewise.
19055
19056 2008-01-26 Pavel Roskin <proski@gnu.org>
19057
19058 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
19059 just return an error.
19060
19061 2008-01-26 Bean <bean123ch@gmail.com>
19062
19063 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
19064 (grub_reiserfs_get_item): Save offset of the next item.
19065 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
19066
19067 2008-01-25 Robert Millan <rmh@aybabtu.com>
19068
19069 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
19070 make all filesystem sources appear together (possibly fixing omissions
19071 while at it).
19072 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19073 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19074 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19075 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19076
19077 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
19078 add `kern/file.c'.
19079 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
19080 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
19081 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
19082 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
19083
19084 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
19085 (probe): Add a sanity check to make sure of our ability to read
19086 requested files when probing for filesystem type.
19087
19088 * genmk.rb: Update copyright year (2007).
19089
19090 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
19091 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
19092 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
19093 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
19094 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
19095 : Remove function prototypes.
19096
19097 2008-01-25 Robert Millan <rmh@aybabtu.com>
19098
19099 Revert my previous commits (based on wrong assumption of how grub_errno
19100 works).
19101
19102 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
19103 * kern/file.c (grub_file_open): Likewise.
19104
19105 2008-01-24 Pavel Roskin <proski@gnu.org>
19106
19107 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
19108 that hang if GRUB tries to setup colors.
19109 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
19110 colors for firmwares that don't support it.
19111 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
19112 Recognize Open Hack'Ware, set flags to work around its
19113 limitations.
19114
19115 2008-01-24 Robert Millan <rmh@aybabtu.com>
19116
19117 * kern/file.c (grub_file_open): Do not account previous failures of
19118 unrelated functions when grub_errno is checked for.
19119 Reported by Oleg Strikov.
19120
19121 2008-01-24 Bean <bean123ch@gmail.com>
19122
19123 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
19124 (grub_ufs_sblock): New member volume name.
19125 (grub_ufs_find_file): Fix string copy bug.
19126 (grub_ufs_label): Implement this function properly.
19127
19128 * fs/hfs.c (grub_hfs_cnid_type): New enum.
19129 (grub_hfs_iterate_records): Use the correct file number for extents
19130 and catalog file. Fix problem in next index calculation.
19131 (grub_hfs_find_node): Replace recursive function call with loop.
19132 (grub_hfs_iterate_dir): Replace recursive function call with loop.
19133
19134 2008-01-23 Robert Millan <rmh@aybabtu.com>
19135
19136 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
19137 `<grub/symbol.h>' and `<grub/multiboot.h>'.
19138 (grub_multiboot2_real_boot): New function prototype.
19139
19140 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
19141 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
19142
19143 * kern/i386/ieee1275/init.c (grub_os_area_addr)
19144 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
19145
19146 2008-01-23 Robert Millan <rmh@aybabtu.com>
19147
19148 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
19149 #ifdef'ed out grub_printf().
19150
19151 2008-01-23 Robert Millan <rmh@aybabtu.com>
19152
19153 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
19154 grub_dprintf calls, since they make "debug=all" mode unusable.
19155 (grub_console_checkkey): Likewise.
19156
19157 2008-01-23 Robert Millan <rmh@aybabtu.com>
19158
19159 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
19160 `term/i386/pc/at_keyboard.c'.
19161 (pkglib_MODULES): Add `serial.mod'.
19162 (serial_mod_SOURCES): New variable.
19163 (serial_mod_CFLAGS): Likewise.
19164 (serial_mod_LDFLAGS): Likewise.
19165
19166 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
19167 `<grub/powerpc/ieee1275/console.h>'.
19168 (grub_keyboard_controller_init): New function prototype.
19169 (grub_console_checkkey): Likewise.
19170 (grub_console_getkey): Likewise.
19171
19172 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
19173 keyboard on i386.
19174
19175 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
19176 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
19177
19178 2008-01-23 Robert Millan <rmh@aybabtu.com>
19179
19180 * kern/i386/pc/init.c (make_install_device): When memdisk image is
19181 present, "(memdisk)/boot/grub" becomes the default prefix.
19182
19183 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
19184 a memdisk tarball with all the modules. Add --overlay=DIR option that
19185 allows users to overlay additional files into the image.
19186
19187 2008-01-23 Robert Millan <rmh@aybabtu.com>
19188
19189 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
19190 and `machine/memory.h'.
19191 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
19192 (_multiboot_mod_SOURCES): New variable.
19193 (_multiboot_mod_CFLAGS): Likewise.
19194 (_multiboot_mod_LDFLAGS): Likewise.
19195 (multiboot_mod_SOURCES): Likewise.
19196 (multiboot_mod_CFLAGS): Likewise.
19197 (multiboot_mod_LDFLAGS): Likewise.
19198
19199 * include/grub/i386/ieee1275/loader.h: New file.
19200
19201 * include/grub/i386/ieee1275/machine.h: Likewise.
19202
19203 * include/grub/i386/ieee1275/memory.h: Likewise.
19204
19205 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
19206 variable declaration.
19207 (grub_os_area_size): Likewise.
19208
19209 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
19210 (grub_lower_mem, grub_upper_mem): New variables.
19211 (grub_stop_floppy): New function (just to make
19212 grub_multiboot2_real_boot() happy).
19213
19214 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
19215 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
19216 (grub_stop): New function.
19217 Include `"../realmode.S"' and `"../loader.S"'.
19218
19219 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
19220 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
19221
19222 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
19223 rely on grub_multiboot2_real_boot() for final boot.
19224
19225 2008-01-22 Robert Millan <rmh@aybabtu.com>
19226
19227 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
19228 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
19229 device that doesn't look like an SD card.
19230 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
19231 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
19232 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
19233 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
19234 found.
19235
19236 2008-01-22 Robert Millan <rmh@aybabtu.com>
19237
19238 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
19239 avoid claiming over our own code.
19240
19241 2008-01-22 Bean <bean123ch@gmail.com>
19242
19243 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
19244 (jpeg_mod_SOURCES): New variable.
19245 (jpeg_mod_CFLAGS): Likewise.
19246 (jpeg_mod_LDFLAGS): Likewise.
19247
19248 * video/readers/jpeg.c : New file.
19249
19250 2008-01-22 Bean <bean123ch@gmail.com>
19251
19252 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
19253 there are no more items.
19254
19255 2008-01-21 Robert Millan <rmh@aybabtu.com>
19256
19257 * kern/mm.c (grub_mm_init_region): Improve debug message.
19258
19259 2008-01-21 Robert Millan <rmh@aybabtu.com>
19260
19261 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
19262 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
19263 address.
19264 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
19265 a C macro.
19266 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
19267 Indicates start of upper memory.
19268 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
19269 (generate_image): Abort when image size is big enough to corrupt
19270 upper memory.
19271
19272 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
19273 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
19274 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
19275 instead of hardcoding 0xA0000.
19276 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
19277 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
19278 instead of hardcoding 0xA0000.
19279
19280 2008-01-21 Robert Millan <rmh@aybabtu.com>
19281
19282 * disk/memdisk.c (memdisk_size): New variable.
19283 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
19284 `memdisk_size'.
19285 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
19286 image to dynamic memory.
19287 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
19288 `memdisk_size'. Free memdisk block.
19289
19290 2008-01-21 Robert Millan <rmh@aybabtu.com>
19291
19292 Fix detection of very small filesystems (like tar).
19293
19294 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
19295 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
19296 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
19297 a problem with this disk).
19298
19299 2008-01-21 Robert Millan <rmh@aybabtu.com>
19300
19301 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
19302 on grub_biosdisk_rw_standard() error.
19303
19304 2008-01-21 Robert Millan <rmh@aybabtu.com>
19305
19306 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
19307 recent changes.
19308 * kern/elf.c: Likewise.
19309 * kern/ieee1275/ieee1275.c: Likewise.
19310 * kern/powerpc/ieee1275/openfw.c: Likewise.
19311 * term/ieee1275/ofconsole.c: Likewise.
19312
19313 2008-01-21 Robert Millan <rmh@aybabtu.com>
19314
19315 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
19316
19317 * include/grub/kernel.h (grub_arch_memdisk_addr)
19318 (grub_arch_memdisk_size): Moved from here ...
19319
19320 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
19321 (grub_arch_memdisk_size): ... to here.
19322
19323 2008-01-21 Robert Millan <rmh@aybabtu.com>
19324
19325 Mostly based on bugfix from Bean.
19326
19327 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
19328 attribute with hook() parameter.
19329 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
19330 declaration.
19331 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
19332 attribute with hook() parameter.
19333 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
19334 declaration.
19335
19336 2008-01-21 Robert Millan <rmh@aybabtu.com>
19337
19338 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
19339 (pkglib_MODULES): Add `memdisk.mod'.
19340 (memdisk_mod_SOURCES): New variable.
19341 (memdisk_mod_CFLAGS): Likewise.
19342 (memdisk_mod_LDFLAGS): Likewise.
19343
19344 * disk/memdisk.c: New file.
19345
19346 * include/grub/disk.h (grub_disk_dev_id): Add
19347 `GRUB_DISK_DEVICE_MEMDISK_ID'.
19348
19349 * include/grub/i386/pc/kernel.h
19350 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
19351 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
19352 (grub_kernel_image_size): New variable declaration.
19353 (grub_total_module_size): Likewise.
19354 (grub_memdisk_image_size): Likewise.
19355
19356 * include/grub/i386/pc/memory.h
19357 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
19358
19359 * include/grub/kernel.h: Include `<grub/symbol.h>'.
19360 (grub_arch_memdisk_addr): New variable declaration.
19361 (grub_arch_memdisk_size): Likewise.
19362
19363 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
19364 (grub_arch_memdisk_size): Likewise.
19365
19366 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
19367 (codestart): Replace hardcoded `0x100000' with
19368 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
19369
19370 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
19371 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
19372 not NULL, append the contents of the file it refers to, at the end of
19373 the compressed kernel image. Initialize `grub_memdisk_image_size'
19374 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
19375 (options): Add "memdisk"|'m' option.
19376 (main): Parse --memdisk|-m option, and pass user-provided path as
19377 parameter to generate_image().
19378
19379 2008-01-20 Robert Millan <rmh@aybabtu.com>
19380
19381 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
19382 grub_dprintf() calls from here ...
19383 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
19384
19385 2008-01-20 Robert Millan <rmh@aybabtu.com>
19386
19387 Fix detection of "real mode" when /options/real-mode? doesn't exist.
19388
19389 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
19390 declaration.
19391 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
19392 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
19393 `GRUB_IEEE1275_FLAG_REAL_MODE'.
19394 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
19395 property).
19396 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
19397 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
19398
19399 2008-01-19 Robert Millan <rmh@aybabtu.com>
19400
19401 Get rid of confusing function (superseded by
19402 `grub_ieee1275_get_integer_property')
19403 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
19404 prototype.
19405 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
19406 function.
19407 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
19408 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
19409 in native endianness from grub_ieee1275_get_integer_property().
19410
19411 2008-01-19 Robert Millan <rmh@aybabtu.com>
19412
19413 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
19414 command after "shut-down", since implementations differ on which
19415 the command for halt is.
19416
19417 2008-01-19 Robert Millan <rmh@aybabtu.com>
19418
19419 * include/grub/i386/linuxbios/console.h: Add header protection.
19420 (grub_keyboard_controller_init): New function prototype.
19421 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
19422 (KEYBOARD_COMMAND_READ): Likewise.
19423 (KEYBOARD_COMMAND_WRITE): Likewise.
19424 (KEYBOARD_SCANCODE_SET1): Likewise.
19425 (grub_keyboard_controller_write): New function.
19426 (grub_keyboard_controller_read): Likewise.
19427 (grub_keyboard_controller_init): Likewise.
19428
19429 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
19430 (grub_console_init): On coreboot/LinuxBIOS, call
19431 grub_keyboard_controller_init().
19432
19433 2008-01-19 Robert Millan <rmh@aybabtu.com>
19434
19435 PowerPC changes provided by Pavel Roskin.
19436
19437 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
19438 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
19439 don't rely on cmain() doing it.
19440 * kern/i386/ieee1275/startup.S (_start): Store %eax in
19441 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
19442
19443 2008-01-16 Robert Millan <rmh@aybabtu.com>
19444
19445 * include/grub/i386/linuxbios/memory.h
19446 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
19447 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
19448 receive `table_header' as argument. Instead, probe for it in the
19449 known memory ranges where it can be present.
19450 (grub_available_iterate): Do not pass a fixed `table_header' address
19451 to grub_linuxbios_table_iterate().
19452
19453 2008-01-15 Robert Millan <rmh@aybabtu.com>
19454
19455 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
19456 * conf/i386-ieee1275.rmk: New file.
19457 * include/grub/i386/ieee1275/console.h: Likewise.
19458 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
19459 * include/grub/i386/ieee1275/kernel.h: Likewise.
19460 * include/grub/i386/ieee1275/time.h: Likewise.
19461 * kern/i386/ieee1275/init.c: Likewise.
19462 * kern/i386/ieee1275/startup.S: Likewise.
19463
19464 2008-01-15 Robert Millan <rmh@aybabtu.com>
19465
19466 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
19467 when pointers are 32-bit (but still do set it to one when they are
19468 64-bit).
19469
19470 2008-01-15 Robert Millan <rmh@aybabtu.com>
19471
19472 * include/grub/ieee1275/ieee1275.h
19473 (grub_ieee1275_get_integer_property): New function prototype.
19474
19475 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
19476 (grub_ieee1275_get_integer_property): New function. Wraps around
19477 grub_ieee1275_get_property() to handle endianness.
19478
19479 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
19480 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
19481 where appropriate.
19482 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
19483 (grub_map): Likewise.
19484 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
19485
19486 2008-01-15 Bean <bean123ch@gmail.com>
19487
19488 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
19489 (grub_script_execute_cmdline): Reset grub_errno.
19490
19491 * normal/main.c (read_config_file): Reset grub_errno.
19492
19493 * normal/parse.y (script_init): New.
19494 (script): Move function and menuentry here.
19495 (delimiter): New.
19496 (command): Add delimiter at the end of command.
19497 (commands): Adjust to match the new command.
19498 (commandblock): Remove grub_script_lexer_record_start.
19499 (menuentry): Add grub_script_lexer_record_start, use the new commands.
19500 (if): Use the new commands.
19501
19502 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
19503
19504 2008-01-15 Robert Millan <rmh@aybabtu.com>
19505
19506 * normal/menu.c (run_menu): Move timeout message from here ...
19507 (print_timeout): ... to here.
19508 (run_menu): Use print_timeout() once during initial draw to print
19509 the whole message, and again in every clock tick to update only
19510 the number of seconds.
19511
19512 2008-01-15 Robert Millan <rmh@aybabtu.com>
19513
19514 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
19515 actual size of `available' from grub_ieee1275_get_property(), and
19516 restrict parsing to that bound.
19517
19518 2008-01-15 Christian Franke <franke@computer.org>
19519
19520 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
19521 (argp_program_version): Remove variable.
19522 (argp_program_bug_address): Likewise.
19523 (options): Convert from struct argp_option to struct option.
19524 (struct arguments): Remove.
19525 (parse_opt): Remove.
19526 (usage): New function.
19527 (main): Replace struct args members by simple variables.
19528 Replace argp_parse() by getopt_long().
19529 Add switch to evaluate options.
19530 Add missing "(...)" around root_dev in prefix string.
19531
19532 2008-01-14 Robert Millan <rmh@aybabtu.com>
19533
19534 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
19535 for grub_ieee1275_exit(), in order to improve portability.
19536
19537 2008-01-14 Robert Millan <rmh@aybabtu.com>
19538
19539 * util/grub.d/10_linux.in (prefix): Define.
19540 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
19541
19542 2008-01-13 Pavel Roskin <proski@gnu.org>
19543
19544 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
19545 grub_errno if no errors have been detected.
19546
19547 2008-01-12 Robert Millan <rmh@aybabtu.com>
19548
19549 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
19550 (grub_util_get_dev_abstraction): New function prototype.
19551
19552 * util/getroot.c: Include `<grub/util/getroot.h>'
19553 (grub_util_get_grub_dev): Move detection of abstraction type to ...
19554 (grub_util_get_dev_abstraction): ... here (new function).
19555
19556 * util/grub-probe.c: Convert PRINT_* to an enum. Add
19557 `PRINT_ABSTRACTION'.
19558 (probe): Probe for abstraction type when requested.
19559 (main): Understand `--target=abstraction'.
19560
19561 * util/i386/efi/grub-install.in: Add abstraction module to core
19562 image when it is found to be necessary.
19563 * util/i386/pc/grub-install.in: Likewise.
19564 * util/powerpc/ieee1275/grub-install.in: Likewise.
19565
19566 * util/update-grub_lib.in (font_path): Return system path without
19567 converting to GRUB path.
19568 * util/update-grub.in: Convert system path returned by font_path()
19569 to a GRUB path. Use `grub-probe -t abstraction' to determine what
19570 abstraction module is needed for loading fonts (if any). Export
19571 that as `GRUB_PRELOAD_MODULES'.
19572 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
19573 insmod commands).
19574
19575 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
19576
19577 Remove some unused code from reiserfs.
19578
19579 * fs/reiserfs.c (struct grub_reiserfs_key)
19580 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
19581 (struct grub_reiserfs_node_body): Removed.
19582 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
19583 Likewise.
19584 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19585 Likewise.
19586 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19587 Likewise.
19588 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19589 Likewise.
19590 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
19591 Likewise.
19592 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
19593 Likewise.
19594 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19595 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19596 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19597
19598 2008-01-10 Robert Millan <rmh@aybabtu.com>
19599
19600 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
19601 Determines if a file is garbage left by packaging systems, etc.
19602 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
19603 for processing /etc/grub.d scripts.
19604 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
19605 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
19606 as a condition for processing Linux images.
19607
19608 2008-01-10 Pavel Roskin <proski@gnu.org>
19609
19610 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
19611 to compile reiserfs.c on PowerPC.
19612
19613 2008-01-10 Robert Millan <rmh@aybabtu.com>
19614
19615 * kern/device.c (grub_device_iterate): Do not abort device iteration
19616 when one of the devices cannot be opened.
19617 * kern/disk.c (grub_disk_open): Do not account previous failures of
19618 unrelated functions when grub_errno is checked for.
19619
19620 2008-01-08 Robert Millan <rmh@aybabtu.com>
19621
19622 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
19623 `! grub_linux_is_bzimage', change order of address comparison to make
19624 it more intuitive, and improve "too big zImage" error message.
19625
19626 2008-01-08 Robert Millan <rmh@aybabtu.com>
19627
19628 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
19629 `$(update-grub_DATA)'.
19630 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
19631 targets.
19632
19633 2008-01-07 Robert Millan <rmh@aybabtu.com>
19634
19635 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
19636 which instruction is modified by grub-setup during installation
19637 (since it wasn't obvious by only looking at this file).
19638
19639 2008-01-07 Robert Millan <rmh@aybabtu.com>
19640
19641 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
19642 listing actual TODO items.
19643
19644 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
19645
19646 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
19647 correctly.
19648 (grub_reiserfs_get_key_offset): Likewise.
19649 (grub_reiserfs_set_key_offset): Likewise.
19650 (grub_reiserfs_set_key_type): Likewise.
19651 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
19652
19653 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
19654 better to remove the bitfield version completely.
19655
19656 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
19657
19658 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
19659 allocated from the heap, due to the fshelp implementation.
19660 (grub_reiserfs_dir): Free NODE, due to the same reason.
19661
19662 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
19663
19664 Mostly from Vincent Pelletier:
19665
19666 * fs/reiserfs.c: New file.
19667
19668 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
19669 (reiserfs_mod_SOURCES): New variable.
19670 (reiserfs_mod_CFLAGS): Likewise.
19671 (reiserfs_mod_LDFLAGS): Likewise.
19672
19673 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
19674 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
19675 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
19676 normal/color.c.
19677
19678 2008-01-06 Robert Millan <rmh@aybabtu.com>
19679
19680 * normal/color.c: Remove `<grub/env.h>'.
19681
19682 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
19683
19684 * include/grub/normal.h: Include <grub/env.h>.
19685
19686 2008-01-05 Robert Millan <rmh@aybabtu.com>
19687
19688 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
19689 usage example with `(hd0,1)'.
19690 Reported by Samuel Thibault.
19691
19692 2008-01-05 Robert Millan <rmh@aybabtu.com>
19693
19694 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
19695 (grub_linux_boot_zimage): Rename to ...
19696 (grub_linux_boot): ... this.
19697 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
19698 (grub_linux_boot_zimage): Conditionalize zImage copy.
19699
19700 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
19701 (grub_linux_boot_bzimage): Remove prototype.
19702 (grub_linux_boot_zimage): Rename to ...
19703 (grub_linux_boot): ... this.
19704
19705 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
19706 (grub_linux_boot): Remove function.
19707
19708 2008-01-05 Robert Millan <rmh@aybabtu.com>
19709
19710 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
19711 (grub_env_write_color_highlight): Likewise.
19712 (grub_wait_after_message): Likewise.
19713
19714 * normal/color.c: New file.
19715
19716 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19717 (normal_mod_DEPENDENCIES): Likewise.
19718
19719 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19720 (normal_mod_DEPENDENCIES): Likewise.
19721
19722 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19723 (normal_mod_DEPENDENCIES): Likewise.
19724
19725 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19726 (normal_mod_DEPENDENCIES): Likewise.
19727
19728 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
19729 for waiting after a message is printed.
19730 * normal/main.c (read_config_file): Likewise.
19731 (grub_normal_init): Register grub_env_write_color_normal() and
19732 grub_env_write_color_highlight() hooks. Mark `color_normal' and
19733 `color_highlight' variables as global.
19734
19735 * normal/menu.c (grub_wait_after_message): New function.
19736 (grub_color_menu_normal): New variable. Replaces ...
19737 (GRUB_COLOR_MENU_NORMAL): ... this macro.
19738 (grub_color_menu_highlight): New variable. Replaces ...
19739 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
19740 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
19741 `GRUB_TERM_COLOR_STANDARD'.
19742 (print_message): Use `grub_setcolorstate' to reload colors. Rename
19743 `normal_code' and `highlight_code' to `old_color_normal' and
19744 `old_color_highlight', respectively.
19745 (grub_menu_init_page): Update colors when drawing the menu, based on
19746 `menu_color_normal' and `menu_color_highlight' variables.
19747 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
19748 a message is printed.
19749
19750 2008-01-05 Robert Millan <rmh@aybabtu.com>
19751
19752 * kern/env.c (grub_env_context_open): Propagate hooks for global
19753 variables to new context.
19754
19755 * kern/main.c (grub_set_root_dev): Export `root' variable.
19756
19757 2008-01-05 Robert Millan <rmh@aybabtu.com>
19758
19759 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
19760 discs unconditionally, since udev and others have options to provide
19761 them.
19762
19763 2008-01-05 Robert Millan <rmh@aybabtu.com>
19764
19765 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
19766
19767 2008-01-04 Christian Franke <franke@computer.org>
19768
19769 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
19770 of eisa_mmap.
19771
19772 2008-01-03 Pavel Roskin <proski@gnu.org>
19773
19774 * kern/i386/linuxbios/init.c: Put "void" to all function
19775 declarations with no arguments.
19776 * kern/powerpc/ieee1275/init.c: Likewise.
19777 * term/i386/pc/at_keyboard.c: Likewise.
19778 * term/i386/pc/vga_text.c: Likewise.
19779 * util/grub-mkdevicemap.c: Likewise.
19780
19781 2008-01-02 Robert Millan <rmh@aybabtu.com>
19782
19783 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
19784 message when loaded image is out of bounds.
19785 (grub_multiboot_load_elf64): Likewise.
19786
19787 2008-01-02 Pavel Roskin <proski@gnu.org>
19788
19789 * util/grub.d/10_linux.in: Try version without ".old" when
19790 looking for initrd. It's better to use initrd from the newer
19791 kernel of the same version than no initrd at all.
19792
19793 2008-01-01 Robert Millan <rmh@aybabtu.com>
19794
19795 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
19796
19797 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
19798
19799 * include/grub/video.h: Added grub_video_unmap_color and
19800 grub_video_get_active_render_target.
19801 (grub_video_adapter): Added unmap_color and get_active_render_target.
19802
19803 * video/video.c: Added grub_video_unmap_color and
19804 grub_video_get_active_render_target.
19805 (grub_video_get_info): Changed method to accept NULL pointer as an
19806 argument to allow detection of active video adapter.
19807
19808 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
19809 grub_video_vbe_unmap_color_int.
19810 Added grub_video_vbe_unmap_color and
19811 grub_video_vbe_get_active_render_target.
19812 (grub_video_vbe_adapter): Added unmap_color and
19813 get_active_render_target.
19814
19815 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
19816 with grub_video_vbe_unmap_color_int.
19817
19818 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
19819 (DEFAULT_NORMAL_COLOR): Likewise.
19820 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
19821 (DEFAULT_FG_COLOR): Removed.
19822 (DEFAULT_BG_COLOR): Likewise.
19823 (DEFAULT_CURSOR_COLOR): Changed value.
19824 (grub_virtual_screen): Added standard_color_setting,
19825 normal_color_setting, highlight_color_setting and term_color.
19826 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
19827 (bitmap_width): Added.
19828 (bitmap_height): Likewise.
19829 (bitmap): Likewise.
19830 (set_term_color): Likewise.
19831 (grub_virtual_screen_setup): Changed to use new terminal coloring
19832 settings.
19833 (grub_gfxterm_init): Added init for bitmap.
19834 (grub_gfxterm_fini): Added destroy for bitmap.
19835 (redraw_screen_rect): Updated to use background bitmap and new
19836 terminal coloring.
19837 (scroll_up): Added optimization for case when there is no bitmap.
19838 (grub_gfxterm_cls): Fixed to use correct background color.
19839 (grub_virtual_screen_setcolorstate): Changed to use new terminal
19840 coloring.
19841 (grub_virtual_screen_setcolor): Likewise.
19842 (grub_virtual_screen_getcolor): Added.
19843 (grub_gfxterm_background_image_cmd): Likewise.
19844 (grub_video_term): Added setcolor and getcolor.
19845 (MOD_INIT): Added registration of background_image command.
19846 (MOD_TERM): Added unregistration for background_image command.
19847
19848 2007-12-30 Pavel Roskin <proski@gnu.org>
19849
19850 * loader/multiboot_loader.c: Fix multiboot command
19851 unregistration. Fix all typos in the word "multiboot".
19852
19853 2007-12-29 Pavel Roskin <proski@gnu.org>
19854
19855 * util/grub.d/10_linux.in: Refactor search for initrd. Add
19856 support for initrd names used in Fedora.
19857
19858 2007-12-26 Bean <bean123ch@gmail.com>
19859
19860 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
19861 (cpio_mod_SOURCES): New variable.
19862 (cpio_mod_CFLAGS): Likewise.
19863 (cpio_mod_LDFLAGS): Likewise.
19864
19865 * fs/cpio.c: New file.
19866
19867 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
19868
19869 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19870
19871 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19872
19873 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19874
19875 2007-12-25 Robert Millan <rmh@aybabtu.com>
19876
19877 * include/grub/term.h (struct grub_term): Add `getcolor' function.
19878 (grub_getcolor): New function.
19879
19880 * kern/term.c (grub_getcolor): New function.
19881 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
19882 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
19883 (print_entry): Set normal and highlight colors to
19884 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
19885 respectively, before printing and restore them to old
19886 values afterwards.
19887 (grub_menu_init_page): Likewise. Fill an additional colored space
19888 that would otherwise be left blank.
19889
19890 * term/efi/console.c (grub_console_getcolor): New function.
19891 (struct grub_console_term.getcolor): New variable.
19892 * term/i386/pc/console.c (grub_console_getcolor): New function.
19893 (struct grub_console_term.getcolor): New variable.
19894 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
19895 (struct grub_console_term.getcolor): New variable.
19896
19897 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
19898 (struct grub_console_term.setcolor): Remove variable.
19899 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
19900 (struct grub_console_term.setcolor): Remove variable.
19901 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
19902 (struct grub_console_term.setcolor): Remove variable.
19903 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
19904 (struct grub_console_term.setcolor): Remove variable.
19905
19906 2007-12-25 Robert Millan <rmh@aybabtu.com>
19907
19908 * configure.ac: Search for possible unifont.hex locations, and
19909 define UNIFONT_HEX if found.
19910
19911 * Makefile.in (UNIFONT_HEX): Define variable.
19912 (DATA): Rename to ...
19913 (PKGLIB): ... this. Update all users.
19914 (PKGDATA): New variable.
19915 (pkgdata_IMAGES): Rename to ...
19916 (pkglib_IMAGES): ... this. Update all users.
19917 (pkgdata_MODULES): Rename to ...
19918 (pkglib_MODULES): ... this. Update all users.
19919 (pkgdata_PROGRAMS): Rename to ...
19920 (pkglib_PROGRAMS): ... this. Update all users.
19921 (pkgdata_DATA): Rename to ...
19922 (pkglib_DATA): ... this. Update all users.
19923 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
19924 (unicode.pff, ascii.pff): New rules.
19925 (all-local): Add `$(PKGDATA)' dependency.
19926 (install-local): Process `$(PKGDATA)'.
19927
19928 * util/update-grub_lib.in (font_path): Search for *.pff files in
19929 a few more locations, including `${pkgdata}'.
19930
19931 2007-12-23 Robert Millan <rmh@aybabtu.com>
19932
19933 Patch from Bean <bean123ch@gmail.com>:
19934 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
19935 `size'.
19936
19937 2007-12-21 Bean <bean123ch@gmail.com>
19938
19939 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
19940 (ntfscomp_mod_SOURCES): New variable.
19941 (ntfscomp_mod_CFLAGS): Likewise.
19942 (ntfscomp_mod_LDFLAGS): Likewise.
19943
19944 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
19945 (grub_probe_SOURCES): Likewise.
19946 (grub_emu_SOURCES): Likewise.
19947
19948 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19949 (grub_emu_SOURCES): Likewise.
19950
19951 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19952 (grub_emu_SOURCES): Likewise.
19953
19954 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19955 (grub_emu_SOURCES): Likewise.
19956
19957 * fs/ntfs.c (grub_ntfscomp_func): New variable.
19958 (read_run_list): Renamed to grub_ntfs_read_run_list.
19959 (decomp_nextvcn): Moved to ntfscomp.c.
19960 (decomp_getch): Likewise.
19961 (decomp_get16): Likewise.
19962 (decomp_block): Likewise.
19963 (read_block): Likewise.
19964 (read_data): Partially moved to ntfscomp.c.
19965 (fixup): Change unsigned to grub_uint16_t.
19966 (read_mft): Change unsigned long to grub_uint32_t.
19967 (read_attr): Likewise.
19968 (read_data): Likewise.
19969 (read_run_data): Likewise.
19970 (read_run_list): Likewise.
19971 (read_mft): Likewise.
19972
19973 * fs/ntfscomp.c: New file.
19974
19975 * include/grub/ntfs.h: New file.
19976
19977 2007-12-16 Robert Millan <rmh@aybabtu.com>
19978
19979 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
19980 IDE disk check, since Linux is known to support 20 IDE disks.
19981 Reported by Colin Watson.
19982
19983 2007-12-15 Bean <bean123ch@gmail.com>
19984
19985 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
19986 (lnxboot_img_SOURCES): New variable.
19987 (lnxboot_img_ASFLAGS): Likewise.
19988 (lnxboot_img_LDFLAGS): Likewise.
19989
19990 * boot/i386/pc/lnxboot.S: New file.
19991
19992 2007-11-24 Pavel Roskin <proski@gnu.org>
19993
19994 * configure.ac: Test if '--build-id=none' is supported by the
19995 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
19996 objcopy to generate incorrect binary files (binutils
19997 2.17.50.0.18-1 as shipped by Fedora 8).
19998 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
19999 linking, so that build ID doesn't break the test.
20000
20001 2007-11-24 Pavel Roskin <proski@gnu.org>
20002
20003 * include/grub/i386/time.h: use "void" in the argument list
20004 of grub_cpu_idle().
20005 * include/grub/powerpc/time.h: Likewise.
20006 * include/grub/sparc64/time.h: Likewise.
20007
20008 2007-11-18 Christian Franke <franke@computer.org>
20009
20010 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
20011 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
20012 This fixes the problem that function keys did not work in grub-emu.
20013
20014 2007-11-18 Christian Franke <franke@computer.org>
20015
20016 * disk/host.c (grub_host_open): Remove attribute unused from
20017 name parameter. Add check for "host". This fixes the problem
20018 that grub-emu does not find partitions.
20019
20020 2007-11-18 Christian Franke <franke@computer.org>
20021
20022 * util/hostfs.c (is_dir): New function.
20023 (grub_hostfs_dir): Handle missing dirent.d_type case.
20024 (grub_hostfs_read): Add missing fseek().
20025 (grub_hostfs_label): Clear label pointer. This fixes a crash
20026 of grub-emu on "ls (host)".
20027
20028 2007-11-18 Christian Franke <franke@computer.org>
20029
20030 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
20031 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
20032 to 64 bit boundary by default.
20033
20034 2007-11-18 Bean <bean123ch@gmail.com>
20035
20036 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
20037 (hexdump_mod_SOURCES): New variable.
20038 (hexdump_mod_CFLAGS): Likewise.
20039 (hexdump_mod_LDFLAGS): Likewise.
20040
20041 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20042
20043 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20044
20045 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20046
20047 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20048
20049 * include/grub/hexdump.h: New file.
20050
20051 * commands/hexdump.c: New file.
20052
20053 2007-11-10 Robert Millan <rmh@aybabtu.com>
20054
20055 * commands/i386/pc/play.c (beep_off): Switch order of arguments
20056 in grub_outb() calls.
20057 (beep_on): Likewise.
20058
20059 2007-11-10 Christian Franke <franke@computer.org>
20060
20061 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
20062 (grub_menu_run): Likewise.
20063
20064 2007-11-10 Robert Millan <rmh@aybabtu.com>
20065
20066 * include/grub/i386/efi/machine.h: New file.
20067 * include/grub/i386/linuxbios/machine.h: Likewise.
20068 * include/grub/i386/pc/machine.h: Likewise.
20069 * include/grub/powerpc/ieee1275/machine.h: Likewise.
20070 * include/grub/sparc64/ieee1275/machine.h: Likewise.
20071
20072 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
20073 (serial_hw_io_addr): New variable.
20074 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
20075 instead of `(unsigned short *) 0x400'.
20076
20077 2007-11-10 Bean <bean123ch@gmail.com>
20078
20079 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
20080
20081 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
20082
20083 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
20084 (vga_mod_SOURCES): Added.
20085 (vga_mod_CFLAGS): Likewise.
20086 (vga_mod_LDFLAGS): Likewise.
20087
20088 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
20089 grub_outb() calls.
20090 (set_map_mask): Likewise.
20091 (set_read_map): Likewise.
20092 (set_read_address): Likewise.
20093 (vga_font): Removed variable.
20094 (get_vga_glyph): Removed function.
20095 (invalidate_char): Likewise.
20096 (write_char): Changed to use grub_font_get_glyph() for font
20097 information.
20098 (grub_vga_putchar): Likewise.
20099 (grub_vga_getcharwidth): Likewise.
20100
20101 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
20102
20103 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
20104 flags.
20105 (pxeboot_img_LDFLAGS): Likewise.
20106 (diskboot_img_LDFLAGS): Likewise.
20107 (kernel_img_LDFLAGS): Likewise.
20108
20109 2007-11-06 Robert Millan <rmh@aybabtu.com>
20110
20111 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
20112 in grub_outb() calls.
20113 (serial_hw_init): Likewise.
20114
20115 2007-11-05 Robert Millan <rmh@aybabtu.com>
20116
20117 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
20118 spaces. Skip non-regular files.
20119
20120 2007-11-05 Robert Millan <rmh@aybabtu.com>
20121
20122 * kern/disk.c (grub_disk_firmware_fini)
20123 (grub_disk_firmware_is_tainted): New variables.
20124
20125 * include/grub/disk.h (grub_disk_firmware_fini)
20126 (grub_disk_firmware_is_tainted): Likewise.
20127
20128 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
20129 (grub_disk_biosdisk_fini): ... to here.
20130 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
20131 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
20132 is set. Register grub_disk_biosdisk_fini() in
20133 `grub_disk_firmware_fini'.
20134
20135 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
20136 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
20137 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
20138 to finish existing firmware disk interface.
20139
20140 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
20141 (ata_mod_SOURCES): New variable.
20142 (ata_mod_CFLAGS): Likewise.
20143 (ata_mod_LDFLAGS): Likewise.
20144
20145 2007-11-05 Robert Millan <rmh@aybabtu.com>
20146
20147 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
20148 (grub_ata_wait): Reimplement using grub_millisleep().
20149
20150 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
20151 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
20152
20153 2007-11-03 Marco Gerards <marco@gnu.org>
20154
20155 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
20156 (CRTC_ADDR_PORT): New macro.
20157 (CRTC_DATA_PORT): Likewise.
20158 (CRTC_CURSOR): Likewise.
20159 (CRTC_CURSOR_ADDR_HIGH): Likewise.
20160 (CRTC_CURSOR_ADDR_LOW): Likewise.
20161 (update_cursor): New function.
20162 (grub_console_real_putchar): Call `update_cursor'.
20163 (grub_console_gotoxy): Likewise.
20164 (grub_console_cls): Set the default color when clearing the
20165 screen.
20166 (grub_console_setcursor): Implemented.
20167
20168 2007-11-03 Marco Gerards <marco@gnu.org>
20169
20170 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
20171 become activate.
20172 (grub_ata_pio_write): Likewise.
20173
20174 (grub_atapi_identify): Wait after issuing an ATA command.
20175 (grub_atapi_packet): Likewise.
20176 (grub_ata_identify): Likewise.
20177 (grub_ata_readwrite): Likewise.
20178
20179 2007-11-03 Marco Gerards <marco@gnu.org>
20180
20181 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
20182 (grub_ata_pio_write): Likewise.
20183 (grub_ata_readwrite): Use `grub_error', instead of
20184 returning `grub_errno'.
20185
20186 2007-11-03 Marco Gerards <marco@gnu.org>
20187
20188 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
20189 grub_ata_pio_write once for every single sector, instead of for
20190 multiple sectors.
20191
20192 2007-10-31 Robert Millan <rmh@aybabtu.com>
20193
20194 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
20195
20196 * conf/i386-linuxbios.rmk: New file.
20197
20198 * kern/i386/pc/hardware.c: Likewise.
20199 * term/i386/pc/at_keyboard.c: Likewise.
20200 * term/i386/pc/vga_text.c: Likewise.
20201
20202 * include/grub/i386/linuxbios/boot.h: Likewise.
20203 * include/grub/i386/linuxbios/console.h: Likewise.
20204 * include/grub/i386/linuxbios/init.h: Likewise.
20205 * include/grub/i386/linuxbios/kernel.h: Likewise.
20206 * include/grub/i386/linuxbios/loader.h: Likewise.
20207 * include/grub/i386/linuxbios/memory.h: Likewise.
20208 * include/grub/i386/linuxbios/serial.h: Likewise.
20209 * include/grub/i386/linuxbios/time.h: Likewise.
20210
20211 * kern/i386/linuxbios/init.c: Likewise.
20212 * kern/i386/linuxbios/startup.S: Likewise.
20213 * kern/i386/linuxbios/table.c: Likewise.
20214
20215 2007-10-31 Marco Gerards <marco@gnu.org>
20216
20217 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
20218 (ata_mod_SOURCES): New variable.
20219 (ata_mod_CFLAGS): Likewise.
20220 (ata_mod_LDFLAGS): Likewise.
20221
20222 * disk/ata.c: New file.
20223
20224 * include/grub/disk.h (grub_disk_dev_id): Add
20225 `GRUB_DISK_DEV_ATA_ID'.
20226
20227 2007-10-31 Robert Millan <rmh@aybabtu.com>
20228
20229 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
20230 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
20231
20232 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
20233 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
20234
20235 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
20236 `<grub/types.h>'.
20237
20238 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
20239
20240 2007-10-27 Robert Millan <rmh@aybabtu.com>
20241
20242 * include/grub/types.h (ULONG_MAX): Define macro.
20243
20244 2007-10-22 Robert Millan <rmh@aybabtu.com>
20245
20246 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
20247 `"../realmode.S"'.
20248 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
20249
20250 2007-10-22 Robert Millan <rmh@aybabtu.com>
20251
20252 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
20253 (pkgdata_MODULES): Add `biosdisk.mod'.
20254 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
20255 variables.
20256
20257 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
20258 (grub_biosdisk_init): Replace with ...
20259 (GRUB_MOD_INIT(biosdisk)): ... this.
20260 (grub_biosdisk_fini): Replace with ...
20261 (GRUB_MOD_FINI(biosdisk)): ... this.
20262
20263 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
20264 (grub_machine_init): Remove call to grub_biosdisk_init().
20265 (grub_machine_fini): Remove call to grub_machine_fini().
20266
20267 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
20268
20269 2007-10-22 Robert Millan <rmh@aybabtu.com>
20270
20271 * include/grub/time.h: New file.
20272 * include/grub/i386/time.h: Likewise.
20273 * include/grub/powerpc/time.h: Likewise.
20274 * include/grub/sparc64/time.h: Likewise.
20275
20276 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
20277 instances to ...
20278 (KERNEL_MACHINE_TIME_HEADER): ... this.
20279 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
20280 instances to ...
20281 (KERNEL_MACHINE_TIME_HEADER): ... this.
20282 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
20283 instances to ...
20284 (KERNEL_MACHINE_TIME_HEADER): ... this.
20285
20286 * kern/i386/efi/init.c: Include `<grub/time.h>'.
20287 (grub_millisleep): New function.
20288 * kern/i386/pc/init.c: Include `<grub/time.h>'.
20289 (grub_millisleep): New function.
20290 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
20291 Remove `grub/machine/time.h' include.
20292 (grub_millisleep): New function.
20293 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
20294 Remove `grub/machine/time.h' include.
20295 (grub_millisleep): New function.
20296
20297 * include/grub/misc.h (grub_div_roundup): New function.
20298
20299 * kern/misc.c: Include `<grub/time.h>'.
20300 (grub_millisleep_generic): New function.
20301
20302 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
20303 Add `time.h'.
20304 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
20305 Add `time.h'.
20306 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
20307 `machine/time.h'. Add `time.h'.
20308 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
20309
20310 2007-10-21 Robert Millan <rmh@aybabtu.com>
20311
20312 * include/grub/misc.h (grub_max): New function.
20313
20314 2007-10-21 Robert Millan <rmh@aybabtu.com>
20315
20316 * util/misc.c (grub_util_info): Call fflush() before returning.
20317
20318 2007-10-20 Robert Millan <rmh@aybabtu.com>
20319
20320 * genmk.rb (Image): Copy `extra_flags' from here ...
20321 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
20322
20323 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
20324 to `argc' and `args' arguments.
20325
20326 2007-10-17 Robert Millan <rmh@aybabtu.com>
20327
20328 * kern/i386/loader.S: New file.
20329
20330 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
20331 * kern/i386/loader.S (grub_linux_prot_size)... to here.
20332 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
20333 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
20334 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
20335 * kern/i386/loader.S (grub_linux_real_addr)... to here.
20336 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
20337 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
20338 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
20339 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
20340 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
20341 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
20342 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
20343 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
20344
20345 * kern/i386/realmode.S: New file.
20346
20347 * kern/i386/pc/startup.S (protstack): Moved from here ...
20348 * kern/i386/realmode.S (protstack)... to here.
20349 * kern/i386/pc/startup.S (gdt): Moved from here ...
20350 * kern/i386/realmode.S (gdt)... to here.
20351 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
20352 * kern/i386/realmode.S (prot_to_real)... to here.
20353
20354 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
20355 `kern/i386/realmode.S'.
20356
20357 2007-10-17 Robert Millan <rmh@aybabtu.com>
20358
20359 * include/grub/i386/loader.h: New file.
20360
20361 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
20362 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
20363 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
20364 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
20365 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
20366 * include/grub/i386/loader.h (grub_linux_prot_size)
20367 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
20368 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
20369 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
20370 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
20371
20372 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
20373
20374 2007-10-15 Robert Millan <rmh@aybabtu.com>
20375
20376 * normal/misc.c (grub_normal_print_device_info): Do not probe for
20377 filesystem when dev->disk is unset.
20378 Do probe for filesystem even when dev->disk->has_partitions is set.
20379 In case a filesystem is found, always report it.
20380 In case it isn't, if dev->disk->has_partitions is set, report that
20381 a partition table was found instead of reporting that no filesystem
20382 could be identified.
20383
20384 2007-10-12 Robert Millan <rmh@aybabtu.com>
20385
20386 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
20387 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
20388
20389 * include/grub/types.h (grub_host_to_target16): New macro.
20390 (grub_host_to_target32): Likewise.
20391 (grub_host_to_target64): Likewise.
20392 (grub_target_to_host16): Likewise.
20393 (grub_target_to_host32): Likewise.
20394 (grub_target_to_host64): Likewise.
20395
20396 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
20397 Renamed from to ...
20398 (GRUB_MOD_ALIGN): ...this. Update all users.
20399
20400 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
20401 grub_host_to_target32.
20402 Replace grub_be_to_cpu32 with grub_target_to_host32.
20403 (load_modules): Likewise.
20404 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
20405 Replace grub_be_to_cpu32 with grub_target_to_host32.
20406 Replace grub_cpu_to_be16 with grub_host_to_target16.
20407 Replace grub_cpu_to_be32 grub_host_to_target32.
20408
20409 2007-10-12 Robert Millan <rmh@aybabtu.com>
20410
20411 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
20412 * util/elf/grub-mkimage.c: ... here.
20413
20414 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
20415 `util/powerpc/ieee1275/grub-mkimage.c'.
20416
20417 2007-10-07 Robert Millan <rmh@aybabtu.com>
20418
20419 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
20420 and make it easier to figure out.
20421 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
20422 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
20423 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
20424 leave us with less than HEAP_MIN_SIZE total heap.
20425 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
20426
20427 2007-10-03 Robert Millan <rmh@aybabtu.com>
20428
20429 * include/grub/i386/io.h: New file.
20430 * commands/i386/pc/play.c (inb): Removed.
20431 (outb): Removed.
20432 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20433 with grub_outb().
20434 * term/i386/pc/serial.c (inb): Removed.
20435 (outb): Removed.
20436 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20437 with grub_outb().
20438 * term/i386/pc/vga.c (inb): Removed.
20439 (outb): Removed.
20440 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20441 with grub_outb().
20442
20443 2007-10-02 Robert Millan <rmh@aybabtu.com>
20444
20445 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
20446 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20447 Reported by Marcin Kurek.
20448
20449 2007-09-07 Robert Millan <rmh@aybabtu.com>
20450
20451 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
20452 SmartFirmware version updates (as released by Sven Luther), and avoid
20453 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
20454 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
20455 known broken.
20456
20457 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20458
20459 From Hitoshi Ozeki:
20460 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
20461 when merging two regions.
20462
20463 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20464
20465 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
20466 * normal/completion.c (grub_normal_do_completion): Likewise.
20467 Reported by Hitoshi Ozeki.
20468
20469 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20470
20471 Do not use devices at boot in chainloading.
20472
20473 * loader/i386/pc/chainloader.c (boot_drive): New variable.
20474 (boot_part_addr): Likewise.
20475 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
20476 with BOOT_DRIVE and BOOT_PART_ADDR.
20477 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
20478 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
20479
20480 2007-08-29 Robert Millan <rmh@aybabtu.com>
20481
20482 Patch from Simon Peter <dn.tlp@gmx.net>:
20483 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
20484 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
20485 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
20486 util/i386/pc/grub-setup.c_DEPENDENCIES.
20487 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
20488 util/grub-probe.c_DEPENDENCIES.
20489 * conf/powerpc-ieee1275.rmk: Likewise.
20490
20491 2007-08-28 Robert Millan <rmh@aybabtu.com>
20492
20493 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
20494 to tell grub-mkdevicemap how to name devices.
20495 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
20496 feature).
20497
20498 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
20499 util/i386/get_disk_name.c.
20500 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
20501 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
20502 util/ieee1275/get_disk_name.c.
20503
20504 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
20505
20506 * DISTLIST: Add util/i386/get_disk_name.c and
20507 util/ieee1275/get_disk_name.c.
20508
20509 * util/grub-mkdevicemap.c: Replace device naming logic with
20510 grub_util_get_disk_name() calls.
20511
20512 2007-08-20 Robert Millan <rmh@aybabtu.com>
20513
20514 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
20515 (so that it works for both plural and singular quantities).
20516
20517 2007-08-05 Robert Millan <rmh@aybabtu.com>
20518
20519 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
20520 so that [xz] isn't taken into account when determining order.
20521
20522 2007-08-02 Marco Gerards <marco@gnu.org>
20523
20524 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
20525 `include/multiboot2.h', `include/grub/elfload.h',
20526 `include/multiboot.h', `include/grub/multiboot.h',
20527 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
20528 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
20529 `kern/elf.c', `loader/multiboot_loader.c',
20530 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
20531 `loader/i386/pc/multiboot2.c',
20532 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
20533 `util/i386/pc/grub-mkrescue.in'. Remove
20534 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
20535 `include/grub/i386/pc/util/biosdisk.h' and
20536 `include/grub/powerpc/ieee1275/multiboot.h'.
20537
20538 2007-08-02 Bean <bean123ch@gmail.com>
20539
20540 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
20541 (ntfs_mod_SOURCES): New variable.
20542 (ntfs_mod_CFLAGS): Likewise.
20543 (ntfs_mod_LDFLAGS): Likewise.
20544
20545 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
20546 (grub_probe_SOURCES): Likewise.
20547 (grub_emu_SOURCES): Likewise.
20548
20549 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
20550 (grub_emu_SOURCES): Likewise.
20551
20552 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
20553 (grub_emu_SOURCES): Likewise.
20554
20555 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
20556
20557 * fs/ntfs.c: New file.
20558
20559 2007-08-02 Bean <bean123ch@gmail.com>
20560
20561 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
20562
20563 * file.h (grub_file): Likewise.
20564
20565 * fshelp.h (grub_fshelp_read_file): Likewise.
20566
20567 * util/i386/pc/grub-setup.c (setup): Likewise.
20568 (save_first_sector): Likewise.
20569 (save_blocklists): Likewise.
20570
20571 * fs/affs.c (grub_affs_read_file): Likewise.
20572
20573 * fs/ext2.c (grub_ext2_read_file): Likewise.
20574
20575 * fs/fat.c (grub_fat_read_data): Likewise.
20576
20577 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
20578
20579 * fs/hfs.c (grub_hfs_read_file): Likewise.
20580
20581 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
20582
20583 * fs/jfs.c (grub_jfs_read_file): Likewise.
20584
20585 * fs/minix.c (grub_minix_read_file): Likewise.
20586
20587 * fs/sfs.c (grub_sfs_read_file): Likewise.
20588
20589 * fs/ufs.c (grub_ufs_read_file): Likewise.
20590
20591 * fs/xfs.c (grub_xfs_read_file): Likewise.
20592
20593 * command/blocklist.c (read_blocklist): Likewise.
20594 (print_blocklist): Likewise.
20595
20596 2007-08-02 Marco Gerards <marco@gnu.org>
20597
20598 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
20599 `util/hostfs.c'.
20600
20601 * disk/host.c: New file.
20602
20603 * util/hostfs.c: Likewise.
20604
20605 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
20606 return `GRUB_ERR_BAD_FS'.
20607 * fs/sfs.c (grub_sfs_mount): Likewise.
20608 * fs/xfs.c (grub_xfs_mount): Likewise.
20609
20610 * include/grub/disk.h (enum grub_disk_dev_id): Add
20611 `GRUB_DISK_DEVICE_HOST_ID'.
20612
20613 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
20614
20615 2007-07-24 Jerone Young <jerone@gmail.com>
20616
20617 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
20618 modules for compilation.
20619 * conf/powerpc-ieee1275.rmk: Likewise.
20620
20621 * include/multiboot.h: Move multiboot definitions to one file. Rename
20622 many definitions to not get grub specific.
20623 * include/multiboot2.h: Create header with multiboot 2 definitions.
20624 * include/grub/multiboot.h: Header for grub specific function
20625 prototypes and definitions.
20626 * include/grub/multiboot2.h: Likewise.
20627 * include/grub/multiboot_loader.h: Likewise.
20628 * include/grub/i386/pc/multiboot.h: Removed.
20629 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
20630
20631 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
20632 and 2 to allow for one multiboot and module commands.
20633 * loader/multiboot2.c: Add multiboot2 functionality.
20634 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
20635 and definition names.
20636 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
20637 2 functions.
20638 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
20639 ieee1275 specific multiboot2 code.
20640
20641 * kern/i386/pc/startup.S: Change headers and definition names for
20642 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
20643
20644 2007-07-22 Robert Millan <rmh@aybabtu.com>
20645
20646 * geninitheader.sh: Process file specified in first parameter rather
20647 than hardcoding grub_modules_init.lst.
20648 * geninit.sh: Likewise. Also, construct header name dynamically rather
20649 than hardcoding grub_modules_init.h.
20650
20651 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
20652 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
20653 grub_probe_init.[ch] and grub_setup_init.[ch].
20654
20655 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
20656 grub_modules_init.h with grub_emu_init.h.
20657 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
20658 grub_probe_init.[ch] files.
20659 * conf/i386-efi.rmk: Likewise.
20660 * conf/i386-pc.rmk: Likewise.
20661 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
20662 grub_setup_init.[ch] files.
20663
20664 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
20665 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
20666 to initialize modules rather than a list of hardcoded functions.
20667 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
20668 grub_init_all() to initialize modules rather than a list of hardcoded
20669 functions.
20670
20671 2007-07-22 Robert Millan <rmh@aybabtu.com>
20672
20673 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20674 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
20675
20676 2007-07-22 Robert Millan <rmh@aybabtu.com>
20677
20678 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
20679 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
20680 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
20681 flag when running on SmartFirmware.
20682 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
20683 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
20684 was set.
20685
20686 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
20687 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
20688 rather than decreasing it.
20689
20690 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
20691 there's not enough space to do it, fail in the same way as when it
20692 can't be done because there are no partitions.
20693
20694 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
20695 when nvsetenv failed.
20696
20697 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
20698
20699 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
20700 because this rule is automatically generated.
20701 (grub-mkrescue): Removed for the same reason as above.
20702
20703 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
20704
20705 Migrate to GNU General Public License Version 3.
20706
20707 * COPYING: Replaced with the plain text version of GPLv3.
20708
20709 * config.guess: Updated from gnulib.
20710 * config.sub: Likewise.
20711
20712 * geninit.sh: Output a GPLv3 copyright notice.
20713 * geninitheader.sh: Likewise.
20714 * genmodsrc.sh: Likewise.
20715 * gensymlist.sh.in: Likewise.
20716
20717 * boot/i386/pc/boot.S: Upgraded to GPLv3.
20718 * boot/i386/pc/diskboot.S: Likewise.
20719 * boot/i386/pc/pxeboot.S: Likewise.
20720 * commands/blocklist.c: Likewise.
20721 * commands/boot.c: Likewise.
20722 * commands/cat.c: Likewise.
20723 * commands/cmp.c: Likewise.
20724 * commands/configfile.c: Likewise.
20725 * commands/echo.c: Likewise.
20726 * commands/help.c: Likewise.
20727 * commands/ls.c: Likewise.
20728 * commands/search.c: Likewise.
20729 * commands/terminal.c: Likewise.
20730 * commands/test.c: Likewise.
20731 * commands/videotest.c: Likewise.
20732 * commands/i386/cpuid.c: Likewise.
20733 * commands/i386/pc/halt.c: Likewise.
20734 * commands/i386/pc/play.c: Likewise.
20735 * commands/i386/pc/reboot.c: Likewise.
20736 * commands/i386/pc/vbeinfo.c: Likewise.
20737 * commands/i386/pc/vbetest.c: Likewise.
20738 * commands/ieee1275/halt.c: Likewise.
20739 * commands/ieee1275/reboot.c: Likewise.
20740 * commands/ieee1275/suspend.c: Likewise.
20741 * disk/loopback.c: Likewise.
20742 * disk/lvm.c: Likewise.
20743 * disk/raid.c: Likewise.
20744 * disk/efi/efidisk.c: Likewise.
20745 * disk/i386/pc/biosdisk.c: Likewise.
20746 * disk/ieee1275/ofdisk.c: Likewise.
20747 * font/manager.c: Likewise.
20748 * fs/affs.c: Likewise.
20749 * fs/ext2.c: Likewise.
20750 * fs/fat.c: Likewise.
20751 * fs/fshelp.c: Likewise.
20752 * fs/hfs.c: Likewise.
20753 * fs/hfsplus.c: Likewise.
20754 * fs/iso9660.c: Likewise.
20755 * fs/jfs.c: Likewise.
20756 * fs/minix.c: Likewise.
20757 * fs/sfs.c: Likewise.
20758 * fs/ufs.c: Likewise.
20759 * fs/xfs.c: Likewise.
20760 * hello/hello.c: Likewise.
20761 * include/grub/acorn_filecore.h: Likewise.
20762 * include/grub/arg.h: Likewise.
20763 * include/grub/bitmap.h: Likewise.
20764 * include/grub/boot.h: Likewise.
20765 * include/grub/cache.h: Likewise.
20766 * include/grub/device.h: Likewise.
20767 * include/grub/disk.h: Likewise.
20768 * include/grub/dl.h: Likewise.
20769 * include/grub/elfload.h: Likewise.
20770 * include/grub/env.h: Likewise.
20771 * include/grub/err.h: Likewise.
20772 * include/grub/file.h: Likewise.
20773 * include/grub/font.h: Likewise.
20774 * include/grub/fs.h: Likewise.
20775 * include/grub/fshelp.h: Likewise.
20776 * include/grub/gzio.h: Likewise.
20777 * include/grub/hfs.h: Likewise.
20778 * include/grub/kernel.h: Likewise.
20779 * include/grub/loader.h: Likewise.
20780 * include/grub/lvm.h: Likewise.
20781 * include/grub/misc.h: Likewise.
20782 * include/grub/mm.h: Likewise.
20783 * include/grub/net.h: Likewise.
20784 * include/grub/normal.h: Likewise.
20785 * include/grub/parser.h: Likewise.
20786 * include/grub/partition.h: Likewise.
20787 * include/grub/pc_partition.h: Likewise.
20788 * include/grub/raid.h: Likewise.
20789 * include/grub/rescue.h: Likewise.
20790 * include/grub/script.h: Likewise.
20791 * include/grub/setjmp.h: Likewise.
20792 * include/grub/symbol.h: Likewise.
20793 * include/grub/term.h: Likewise.
20794 * include/grub/terminfo.h: Likewise.
20795 * include/grub/tparm.h: Likewise.
20796 * include/grub/types.h: Likewise.
20797 * include/grub/video.h: Likewise.
20798 * include/grub/efi/api.h: Likewise.
20799 * include/grub/efi/chainloader.h: Likewise.
20800 * include/grub/efi/console.h: Likewise.
20801 * include/grub/efi/console_control.h: Likewise.
20802 * include/grub/efi/disk.h: Likewise.
20803 * include/grub/efi/efi.h: Likewise.
20804 * include/grub/efi/pe32.h: Likewise.
20805 * include/grub/efi/time.h: Likewise.
20806 * include/grub/i386/linux.h: Likewise.
20807 * include/grub/i386/setjmp.h: Likewise.
20808 * include/grub/i386/types.h: Likewise.
20809 * include/grub/i386/efi/kernel.h: Likewise.
20810 * include/grub/i386/efi/loader.h: Likewise.
20811 * include/grub/i386/efi/time.h: Likewise.
20812 * include/grub/i386/pc/biosdisk.h: Likewise.
20813 * include/grub/i386/pc/boot.h: Likewise.
20814 * include/grub/i386/pc/chainloader.h: Likewise.
20815 * include/grub/i386/pc/console.h: Likewise.
20816 * include/grub/i386/pc/init.h: Likewise.
20817 * include/grub/i386/pc/kernel.h: Likewise.
20818 * include/grub/i386/pc/loader.h: Likewise.
20819 * include/grub/i386/pc/memory.h: Likewise.
20820 * include/grub/i386/pc/multiboot.h: Likewise.
20821 * include/grub/i386/pc/serial.h: Likewise.
20822 * include/grub/i386/pc/time.h: Likewise.
20823 * include/grub/i386/pc/vbe.h: Likewise.
20824 * include/grub/i386/pc/vbeblit.h: Likewise.
20825 * include/grub/i386/pc/vbefill.h: Likewise.
20826 * include/grub/i386/pc/vbeutil.h: Likewise.
20827 * include/grub/i386/pc/vga.h: Likewise.
20828 * include/grub/ieee1275/ieee1275.h: Likewise.
20829 * include/grub/ieee1275/ofdisk.h: Likewise.
20830 * include/grub/powerpc/libgcc.h: Likewise.
20831 * include/grub/powerpc/setjmp.h: Likewise.
20832 * include/grub/powerpc/types.h: Likewise.
20833 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
20834 * include/grub/powerpc/ieee1275/console.h: Likewise.
20835 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
20836 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20837 * include/grub/powerpc/ieee1275/loader.h: Likewise.
20838 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
20839 * include/grub/powerpc/ieee1275/time.h: Likewise.
20840 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
20841 * include/grub/sparc64/libgcc.h: Likewise.
20842 * include/grub/sparc64/setjmp.h: Likewise.
20843 * include/grub/sparc64/types.h: Likewise.
20844 * include/grub/sparc64/ieee1275/console.h: Likewise.
20845 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20846 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20847 * include/grub/sparc64/ieee1275/time.h: Likewise.
20848 * include/grub/util/biosdisk.h: Likewise.
20849 * include/grub/util/getroot.h: Likewise.
20850 * include/grub/util/lvm.h: Likewise.
20851 * include/grub/util/misc.h: Likewise.
20852 * include/grub/util/raid.h: Likewise.
20853 * include/grub/util/resolve.h: Likewise.
20854 * io/gzio.c: Likewise.
20855 * kern/device.c: Likewise.
20856 * kern/disk.c: Likewise.
20857 * kern/dl.c: Likewise.
20858 * kern/elf.c: Likewise.
20859 * kern/env.c: Likewise.
20860 * kern/err.c: Likewise.
20861 * kern/file.c: Likewise.
20862 * kern/fs.c: Likewise.
20863 * kern/loader.c: Likewise.
20864 * kern/main.c: Likewise.
20865 * kern/misc.c: Likewise.
20866 * kern/mm.c: Likewise.
20867 * kern/parser.c: Likewise.
20868 * kern/partition.c: Likewise.
20869 * kern/rescue.c: Likewise.
20870 * kern/term.c: Likewise.
20871 * kern/efi/efi.c: Likewise.
20872 * kern/efi/init.c: Likewise.
20873 * kern/efi/mm.c: Likewise.
20874 * kern/i386/dl.c: Likewise.
20875 * kern/i386/efi/init.c: Likewise.
20876 * kern/i386/efi/startup.S: Likewise.
20877 * kern/i386/pc/init.c: Likewise.
20878 * kern/i386/pc/lzo1x.S: Likewise.
20879 * kern/i386/pc/startup.S: Likewise.
20880 * kern/ieee1275/ieee1275.c: Likewise.
20881 * kern/powerpc/cache.S: Likewise.
20882 * kern/powerpc/dl.c: Likewise.
20883 * kern/powerpc/ieee1275/cmain.c: Likewise.
20884 * kern/powerpc/ieee1275/crt0.S: Likewise.
20885 * kern/powerpc/ieee1275/init.c: Likewise.
20886 * kern/powerpc/ieee1275/openfw.c: Likewise.
20887 * kern/sparc64/cache.S: Likewise.
20888 * kern/sparc64/dl.c: Likewise.
20889 * kern/sparc64/ieee1275/init.c: Likewise.
20890 * kern/sparc64/ieee1275/openfw.c: Likewise.
20891 * loader/efi/chainloader.c: Likewise.
20892 * loader/efi/chainloader_normal.c: Likewise.
20893 * loader/i386/efi/linux.c: Likewise.
20894 * loader/i386/efi/linux_normal.c: Likewise.
20895 * loader/i386/pc/chainloader.c: Likewise.
20896 * loader/i386/pc/chainloader_normal.c: Likewise.
20897 * loader/i386/pc/linux.c: Likewise.
20898 * loader/i386/pc/linux_normal.c: Likewise.
20899 * loader/i386/pc/multiboot.c: Likewise.
20900 * loader/i386/pc/multiboot_normal.c: Likewise.
20901 * loader/powerpc/ieee1275/linux.c: Likewise.
20902 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20903 * normal/arg.c: Likewise.
20904 * normal/cmdline.c: Likewise.
20905 * normal/command.c: Likewise.
20906 * normal/completion.c: Likewise.
20907 * normal/execute.c: Likewise.
20908 * normal/function.c: Likewise.
20909 * normal/lexer.c: Likewise.
20910 * normal/main.c: Likewise.
20911 * normal/menu.c: Likewise.
20912 * normal/menu_entry.c: Likewise.
20913 * normal/misc.c: Likewise.
20914 * normal/parser.y: Likewise.
20915 * normal/script.c: Likewise.
20916 * normal/i386/setjmp.S: Likewise.
20917 * normal/powerpc/setjmp.S: Likewise.
20918 * normal/sparc64/setjmp.S: Likewise.
20919 * partmap/acorn.c: Likewise.
20920 * partmap/amiga.c: Likewise.
20921 * partmap/apple.c: Likewise.
20922 * partmap/gpt.c: Likewise.
20923 * partmap/pc.c: Likewise.
20924 * partmap/sun.c: Likewise.
20925 * term/gfxterm.c: Likewise.
20926 * term/terminfo.c: Likewise.
20927 * term/efi/console.c: Likewise.
20928 * term/i386/pc/console.c: Likewise.
20929 * term/i386/pc/serial.c: Likewise.
20930 * term/i386/pc/vesafb.c: Likewise.
20931 * term/i386/pc/vga.c: Likewise.
20932 * term/ieee1275/ofconsole.c: Likewise.
20933 * util/biosdisk.c: Likewise.
20934 * util/console.c: Likewise.
20935 * util/genmoddep.c: Likewise.
20936 * util/getroot.c: Likewise.
20937 * util/grub-emu.c: Likewise.
20938 * util/grub-mkdevicemap.c: Likewise.
20939 * util/grub-probe.c: Likewise.
20940 * util/lvm.c: Likewise.
20941 * util/misc.c: Likewise.
20942 * util/raid.c: Likewise.
20943 * util/resolve.c: Likewise.
20944 * util/update-grub.in: Likewise.
20945 * util/update-grub_lib.in: Likewise.
20946 * util/grub.d/00_header.in: Likewise.
20947 * util/grub.d/10_hurd.in: Likewise.
20948 * util/grub.d/10_linux.in: Likewise.
20949 * util/i386/efi/grub-install.in: Likewise.
20950 * util/i386/efi/grub-mkimage.c: Likewise.
20951 * util/i386/pc/grub-install.in: Likewise.
20952 * util/i386/pc/grub-mkimage.c: Likewise.
20953 * util/i386/pc/grub-mkrescue.in: Likewise.
20954 * util/i386/pc/grub-setup.c: Likewise.
20955 * util/i386/pc/misc.c: Likewise.
20956 * util/powerpc/ieee1275/grub-install.in: Likewise.
20957 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
20958 * util/powerpc/ieee1275/misc.c: Likewise.
20959 * video/bitmap.c: Likewise.
20960 * video/video.c: Likewise.
20961 * video/i386/pc/vbe.c: Likewise.
20962 * video/i386/pc/vbeblit.c: Likewise.
20963 * video/i386/pc/vbefill.c: Likewise.
20964 * video/i386/pc/vbeutil.c: Likewise.
20965 * video/readers/tga.c: Likewise.
20966
20967 2007-07-02 Robert Millan <rmh@aybabtu.com>
20968
20969 * conf/i386-efi.rmk: Replace obsolete reference to
20970 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
20971 with util/getroot.c.
20972 * conf/powerpc-ieee1275.rmk: Likewise.
20973 * conf/sparc64-ieee1275.rmk: Likewise.
20974
20975 * util/grub-emu.c (main): Fix unchecked pointer handling.
20976
20977 2007-07-02 Robert Millan <rmh@aybabtu.com>
20978
20979 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
20980 invocation to fail, in order to support partition-less media.
20981
20982 * util/i386/pc/grub-install.in: Likewise.
20983
20984 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
20985 which fs or partmap modules are needed (akin to its sister scripts).
20986
20987 Also use grub-probe to get rid of unportable /proc/mounts check.
20988
20989 Print the same informational message that the other scripts do, before
20990 exiting.
20991
20992 2007-06-23 Robert Millan <rmh@aybabtu.com>
20993
20994 * util/update-grub_lib.in (font_path): New function. Determine whether
20995 a font file can be found and, if so, echo the GRUB path to it.
20996
20997 * util/update-grub.in: Handle multiple terminals depending on user
20998 input, platform availability and font file presence. Propagate
20999 variables of our findings to /etc/grub.d/ children.
21000
21001 * util/grub.d/00_header.in: Handle multiple terminals, based on
21002 environment setup by update-grub.
21003
21004 2007-06-23 Robert Millan <rmh@aybabtu.com>
21005
21006 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
21007
21008 2007-06-21 Robert Millan <rmh@aybabtu.com>
21009
21010 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
21011 indicate end of data section in kernel image.
21012 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
21013 GRUB_KERNEL_MACHINE_DATA_END.
21014
21015 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
21016 space for it.
21017 * kern/i386/efi/startup.S: Likewise.
21018
21019 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
21020 during image generation. Implement --prefix option to override this
21021 patch.
21022 * util/i386/efi/grub-mkimage.c: Likewise.
21023
21024 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
21025 code to make path relative to its root into a separate function.
21026
21027 * util/i386/pc/grub-install.in: Use newly provided
21028 make_system_path_relative_to_its_root() to convert ${grubdir}, then
21029 pass the result to grub-install --prefix.
21030
21031 2007-06-13 Robert Millan <rmh@aybabtu.com>
21032
21033 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
21034 DEFAULT_DEVICE_MAP.
21035 * util/grub-emu.c: Use above definitions from misc.h instead of
21036 defining them.
21037 * util/grub-mkdevicemap.c: Likewise.
21038 * util/i386/pc/grub-setup.c: Likewise.
21039 * util/grub-probe.c: Likewise.
21040 (probe): Abort with grub_util_error() when either
21041 grub_guess_root_device or grub_util_get_grub_dev fails.
21042
21043 2007-06-12 Robert Millan <rmh@aybabtu.com>
21044
21045 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
21046 "pager" assignment.
21047 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
21048 "pcdata".
21049 * util/grub-probe.c (probe): Likewise for "drive_name".
21050
21051 2007-06-11 Robert Millan <rmh@aybabtu.com>
21052
21053 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
21054 not just the cdrom one.
21055
21056 2007-06-11 Robert Millan <rmh@aybabtu.com>
21057
21058 * util/i386/pc/grub-mkrescue.in: Add "set -e".
21059 Add --pkglibdir=DIR option to override pkglibdir.
21060 Mention --image-type=TYPE in help output.
21061 Fix --grub-mkimage (it was a no-op).
21062 Abort gracefully when no parameter is given.
21063
21064 2007-06-11 Robert Millan <rmh@aybabtu.com>
21065
21066 * util/i386/pc/grub-mkrescue.in: New file.
21067 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
21068 * Makefile.in: Handle bin_SCRIPTS.
21069
21070 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
21071
21072 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
21073 list of video modes.
21074
21075 2007-06-06 Robert Millan <rmh@aybabtu.com>
21076
21077 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
21078 file doesn't exist, or if it is in a filesystem grub can't read.
21079
21080 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
21081 not abort if GRUB_DRIVE could not be defined. Rearrange generated
21082 header comment to fit in 80 columns when the variables are resolved.
21083
21084 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
21085 could be identified by update-grub. Remove redundant check for
21086 unifont.pff existence (since convert_system_path_to_grub_path now
21087 handles that).
21088
21089 2007-06-04 Robert Millan <rmh@aybabtu.com>
21090
21091 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
21092
21093 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
21094
21095 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
21096
21097 2007-06-04 Robert Millan <rmh@aybabtu.com>
21098
21099 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
21100
21101 * include/grub/partition.h: Declare grub_apple_partition_map_init and
21102 grub_apple_partition_map_fini.
21103
21104 * util/biosdisk.c
21105 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
21106 to access >2 TiB disks).
21107
21108 Print disk->total_sectors with %llu instead of %lu, since this
21109 variable is always 64-bit (prevents wrong disk size from being displayed
21110 on either >2 TiB disk or big-endian CPU).
21111
21112 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
21113 into a generic case that supports all (sane) partition maps.
21114
21115 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
21116 breaks big-endian.
21117
21118 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
21119 and grub_apple_partition_map_fini() after that.
21120
21121 2007-06-01 Robert Millan <rmh@aybabtu.com>
21122
21123 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
21124
21125 * util/grub.d/00_header.in: Only enable gfxterm when
21126 convert_system_path_to_grub_path() succeeds.
21127
21128 2007-05-20 Robert Millan <rmh@aybabtu.com>
21129
21130 * util/update-grub_lib.in: New file.
21131 * DISTLIST: Add update-grub_lib.in.
21132 * conf/common.rmk: Generate update-grub_lib and install it in
21133 $(lib_DATA).
21134 * Makefile.in: Add install routine for $(lib_DATA).
21135
21136 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
21137 function provided by update-grub_lib to support arbitrary paths of
21138 unifont.pff.
21139 * util/update-grub.in: Use convert_system_path_to_grub_path() to
21140 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
21141
21142 2007-05-19 Robert Millan <rmh@aybabtu.com>
21143
21144 * commands/i386/cpuid.c: New module.
21145 * DISTLIST: Add it.
21146 * conf/i386-efi.rmk: Enable cpuid.mod.
21147 * conf/i386-pc.rmk: Likewise.
21148
21149 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
21150
21151 * kern/disk.c (grub_disk_read): Check return value of
21152 grub_realloc().
21153
21154 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
21155
21156 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
21157 arrays.
21158 * disk/raid.c (grub_raid_open): Likewise.
21159
21160 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
21161
21162 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
21163 stack instead of on the heap.
21164
21165 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
21166 before doing a read on it.
21167
21168 * configure.ac: Only use -fno-stack-protector for the target
21169 environment.
21170
21171 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
21172
21173 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
21174 __attribute_ ((unused)) to mode_type argument.
21175
21176 * util/getroot.c (grub_guess_root_device): Fix #endif.
21177
21178 * kern/misc.c (memcmp): Fix prototype.
21179
21180 * include/grub/partition.h [GRUB_UTIL]
21181 (grub_gpt_partition_map_init): Add prototype.
21182 (grub_gpt_partition_map_fini): Likewise.
21183
21184 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
21185 at the right place.
21186
21187 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
21188 (grub_fat_read_data): Likewise.
21189 (grub_fat_find_dir): Likewise.
21190
21191 * font/manager.c (find_glyph): Make table a const.
21192 (grub_font_get_glyph): Remove bitmap from if statement.
21193
21194 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
21195
21196 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
21197 code, first search for device in /dev/mapper, then in /dev.
21198 (grub_util_get_grub_dev): New function.
21199 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
21200 prototype.
21201 * util/grub-probe.c (probe): Remove check for RAID, call
21202 grub_util_get_grub_dev() instead of
21203 grub_util_biosdisk_get_grub_dev().
21204 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
21205 grub_util_biosdisk_get_grub_dev().
21206 * util/i386/pc/grub-setup.c (main): Likewise.
21207
21208 2007-05-16 Robert Millan <rmh@aybabtu.com>
21209
21210 * DISTLIST: Update for the latest changes.
21211 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
21212 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
21213 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
21214 grub/util/biosdisk.h.
21215 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
21216 grub/util/biosdisk.h.
21217
21218 2007-05-16 Robert Millan <rmh@aybabtu.com>
21219
21220 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
21221
21222 2007-05-16 Robert Millan <rmh@aybabtu.com>
21223
21224 * util/i386/efi/grub-install.in: New.
21225 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
21226 newly added grub-install.
21227 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
21228 include.
21229 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
21230 grub/util/biosdisk.h.
21231 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
21232 grub/util/biosdisk.h.
21233
21234 2007-05-16 Robert Millan <rmh@aybabtu.com>
21235
21236 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
21237 * include/grub/util/biosdisk.h: ... here.
21238 * util/i386/pc/biosdisk.c: Moved to ...
21239 * util/biosdisk.c: ... here.
21240 * util/i386/pc/getroot.c: Moved to ...
21241 * util/getroot.c: ... here.
21242 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
21243 * util/grub-mkdevicemap.c: ... here.
21244 * util/i386/pc/grub-probe.c: Moved to ...
21245 * util/grub-probe.c: ... here.
21246
21247 2007-05-15 Robert Millan <rmh@aybabtu.com>
21248
21249 * util/update-grub.in: Remove duplicated line in grub.cfg header
21250 message.
21251
21252 2007-05-13 Robert Millan <rmh@aybabtu.com>
21253
21254 * util/update-grub.in: Fix a few assumptions about the devices holding
21255 /, /boot and /boot/grub being the same.
21256 * util/grub.d/00_header.in: Likewise.
21257 * util/grub.d/10_hurd.in: Likewise.
21258 * util/grub.d/10_linux.in: Likewise.
21259
21260 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
21261 patterns. Use that to define the `.old' suffix as older than `'.
21262
21263 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
21264
21265 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
21266 the grub.cfg header message.
21267
21268 2007-05-11 Robert Millan <rmh@aybabtu.com>
21269
21270 * util/update-grub.in: Create device.map if it doesn't already exist,
21271 before attempting to run grub-probe.
21272 Check for grub-probe and grub-mkdevicemap with the same code
21273 grub-install is using.
21274 Remove test mode.
21275
21276 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
21277
21278 * Makefile.in: Add the datarootdir autoconf variable.
21279
21280 2007-05-09 Robert Millan <rmh@aybabtu.com>
21281
21282 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
21283 fail gracefully if dev->disk->partition == NULL.
21284
21285 2007-05-07 Robert Millan <rmh@aybabtu.com>
21286
21287 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
21288 determine partition map module.
21289 * util/i386/pc/grub-install.in: Use this feature to decide which
21290 partition module to load, instead of hardcoding pc and gpt.
21291
21292 2007-05-07 Robert Millan <rmh@aybabtu.com>
21293
21294 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
21295 source directory differs from build directory.
21296
21297 2007-05-05 Robert Millan <rmh@aybabtu.com>
21298
21299 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
21300 initialisation.
21301
21302 2007-05-05 Robert Millan <rmh@aybabtu.com>
21303
21304 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
21305
21306 2007-05-05 Robert Millan <rmh@aybabtu.com>
21307
21308 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
21309 command-line arguments via ${GRUB_CMDLINE_LINUX}.
21310
21311 2007-05-05 Robert Millan <rmh@aybabtu.com>
21312
21313 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
21314 (grub_probe_SOURCES): Likewise.
21315 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
21316 GPT and initialize dos_part and bsd_part accordingly.
21317 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
21318 install_bsd_part.
21319 (main): Activate gpt module for use during partition identification,
21320 and deactivate it afterwards.
21321 * util/i386/pc/grub-install.in: Add gpt module to core.img.
21322 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
21323 partition identification, and deactivate it afterwards.
21324
21325 2007-05-05 Robert Millan <rmh@aybabtu.com>
21326
21327 * term/i386/pc/console.c (grub_console_fini): Call
21328 grub_term_set_current() before grub_term_unregister().
21329
21330 2007-05-04 Robert Millan <rmh@aybabtu.com>
21331
21332 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
21333 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
21334 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
21335 and update-grub_DATA.
21336 * conf/common.rmk: Build and install update-grub components.
21337 * conf/common.mk: Regenerate.
21338 * util/update-grub.in: New. Core of update-grub.
21339 * util/grub.d/00_header.in: New. Generates grub.cfg header.
21340 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
21341 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
21342 * util/grub.d/README: New. Document grub.d directory layout.
21343
21344 2007-05-01 Robert Millan <rmh@aybabtu.com>
21345
21346 * util/grub-emu.c: Move initialization functions
21347 grub_util_biosdisk_init() and grub_init_all() before
21348 grub_util_biosdisk_get_grub_dev(), which relies on them.
21349
21350 2007-04-19 Robert Millan <rmh@aybabtu.com>
21351
21352 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
21353 it is used later.
21354
21355 2007-04-18 Jerone Young <jerone@gmail.com>
21356
21357 * kernel/elf.c: Add missing parenthesis for conditional statement
21358 stanza.
21359
21360 2007-04-10 Jerone Young <jerone@gmail.com>
21361
21362 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
21363 continue on and look for device node with real device name.
21364
21365 2007-04-10 Jerone Young <jerone@gmail.com>
21366
21367 * configure.ac: Add argument for autoconf to use transformation
21368 ability.
21369 * Makefile.in: Add autoconf package transformation code.
21370 * util/i386/pc/grub-install.in: Likewise.
21371 * util/powerpc/ieee1275/grub-install.in: Likewise.
21372
21373 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
21374
21375 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
21376 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
21377 (EXT2_REVISION): Likewise.
21378 (EXT2_INODE_SIZE): Likewise.
21379 (struct grub_ext2_block_group): Added a missing member
21380 "used_dirs".
21381 (grub_ext2_read_inode): Divide by the inode size in a superblock
21382 instead of 128 to obtain INODES_PER_BLOCK.
21383 Use the macro EXT2_INODE_SIZE instead of directly using
21384 SBLOCK->INODE_SIZE.
21385
21386 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
21387
21388 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
21389 superblock instead of the structure size to compute an
21390 offset. This fixes the problem that GRUB could not read a
21391 filesystem when inode size is different from 128-byte.
21392
21393 2007-03-05 Marco Gerards <marco@gnu.org>
21394
21395 * normal/main.c (read_config_file): When "menu" is not set, create
21396 an initial context.
21397
21398 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
21399
21400 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
21401 (HEAP_LIMIT): New macro.
21402 (grub_claim_heap): Claim memory up to `heaplimit'.
21403
21404 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
21405
21406 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
21407 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
21408 (_start): Likewise.
21409 (grub_arch_modules_addr): Return address after `_end'.
21410 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
21411 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
21412 (add_segments): Calculate `_end' from phdr size and location.
21413 (ALIGN_UP): Moved to ...
21414 * include/grub/misc.h: here.
21415 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21416 New macro.
21417 (GRUB_IEEE1275_MODULE_BASE): Removed.
21418
21419 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21420
21421 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
21422 loop boundary.
21423
21424 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21425
21426 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
21427 All users updated.
21428 (grub_elf64_load_hook_t): Likewise.
21429 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
21430 debug output.
21431
21432 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21433
21434 * kern/mm.c: Update copyright.
21435 (grub_mm_debug): Correct syntax error.
21436 (grub_mm_dump_free): New function.
21437 (grub_debug_free): Call `grub_free'.
21438 * include/grub/mm.h: Update copyright.
21439 (grub_mm_dump_free): Add declaration.
21440
21441 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
21442
21443 * include/grub/ieee1275/ieee1275.h: Update copyright.
21444 * kern/powerpc/ieee1275/init.c: Likewise.
21445 * kern/powerpc/ieee1275/openfw.c: Likewise.
21446
21447 * loader/powerpc/ieee1275/linux.c: Likewise.
21448 * include/grub/elfload.h: Likewise.
21449 * kern/elf.c: Likewise.
21450 (grub_elf32_load): Pass `base' and `size' parameters. Update all
21451 callers.
21452 (grub_elf64_load): Likewise.
21453 (grub_elf32_load_segment): Move to a nested function.
21454 (grub_elf64_load_segment): Likewise.
21455
21456 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
21457
21458 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
21459 prototype.
21460 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
21461 (grub_heap_len): Likewise.
21462 (HEAP_SIZE): New macro.
21463 (grub_claim_heap): New function.
21464 (grub_machine_init): Don't claim heap directly. Call
21465 `grub_claim_heap'.
21466 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
21467 (grub_available_iterate): New function.
21468
21469 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
21470
21471 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
21472 * configure.ac: Use it for testing the HOST and TARGET compilers.
21473
21474 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
21475
21476 * Makefile.in (enable_grub_emu): New variable.
21477 * configure.ac (--enable-grub-emu): New option.
21478 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
21479 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
21480 * conf/i386-pc.rmk: Likewise.
21481 * conf/powerpc-ieee1275.rmk: Likewise.
21482 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
21483
21484 2006-12-12 Marco Gerards <marco@gnu.org>
21485
21486 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
21487
21488 * kern/env.c (grub_env_unset): Don't free the member `value' when
21489 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
21490 pointer.
21491
21492 * normal/main.c (current_menu): Removed.
21493 (free_menu): Unset the `menu' environment variable.
21494 (grub_normal_menu_addentry): Make use of the environment variable
21495 `menu', instead of using the global `current_menu'. Allocate
21496 memory for the sourcecode of this entry.
21497 (read_config_file): New argument `nested', changed all callers.
21498 Only in the case of a new context, initialize a new menu. Set the
21499 `menu' environment variable.
21500 (grub_normal_execute): Don't set and unset the environment
21501 variable `menu' here anymore. Only free the menu when leaving the
21502 context.
21503
21504 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
21505 leak.
21506
21507 2006-12-11 Marco Gerards <marco@gnu.org>
21508
21509 * normal/menu_entry.c (run): Fix off by one bug so the last line
21510 is executed. Move the loader check to outside the loop.
21511
21512 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
21513
21514 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
21515
21516 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
21517
21518 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
21519 the number of sectors. Reported by Andrey Shuvikov
21520 <mr_hyro@yahoo.com>.
21521
21522 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
21523
21524 * kern/disk.c (grub_disk_read): When there is a read error, always
21525 try to read only the necessary data.
21526
21527 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
21528 disk/raid.c.
21529 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
21530 prototype.
21531 [GRUB_UTIL] (grub_raid_fini): Likewise.
21532 [GRUB_UTIL] (grub_lvm_init): Likewise.
21533 [GRUB_UTIL] (grub_lvm_fini): Likewise.
21534 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
21535 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
21536 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
21537 and grub_raid_fini().
21538
21539 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
21540
21541 * include/grub/types.h (__unused): Rename to UNUSED.
21542 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
21543 (grub_elf64_size): Likewise.
21544
21545 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
21546
21547 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
21548 grub_error_push and grub_error_pop in the error-handling path.
21549 (grub_elf32_load_segment): Only call grub_file_read with non-zero
21550 length.
21551
21552 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
21553
21554 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
21555 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21556 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21557 (kernel_elf_SOURCES): Likewise.
21558 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
21559 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
21560 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21561 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21562 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
21563 (elf_mod_SOURCES): New variable.
21564 (elf_mod_CFLAGS): Likewise.
21565 (elf_mod_LDFLAGS): Likewise.
21566 * include/grub/types.h (__unused): New macro.
21567 * include/grub/elfload.h: New file.
21568 * kern/elf.c: Likewise.
21569 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
21570 (ELF32_LOADMASK): New macro.
21571 (ELF64_LOADMASK): Likewise.
21572 (vmlinux): Removed.
21573 (grub_linux_load32): New function.
21574 (grub_linux_load64): Likewise.
21575 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
21576 Use grub_elf_t instead of grub_file_t.
21577
21578 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
21579
21580 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
21581 `catch_result' to struct set_color_args.
21582
21583 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
21584
21585 * normal/menu.c: Include grub/script.h.
21586 * normal/menu_entry.c: Likewise.
21587 * include/grub/normal.h: Do not include grub/script.h.
21588
21589 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21590
21591 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
21592
21593 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21594
21595 * kern/disk.c (grub_disk_open): Print debug messages when opening a
21596 disk.
21597 (grub_disk_close): Print debug messages when closing a disk.
21598 (grub_disk_read): Print debug messages when disk read fails.
21599 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
21600 filesystem type.
21601 * kern/partition.c: Include misc.h.
21602 (grub_partition_iterate): Print debug messages when detecting
21603 partition type.
21604
21605 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21606
21607 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
21608 is negative.
21609 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
21610
21611 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
21612
21613 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
21614 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
21615
21616 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
21617
21618 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
21619 instead of sizeof(lv). Patch by Michael Guntsche.
21620
21621 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
21622
21623 * disk/lvm.c: Rename VGS to VG_LIST.
21624 (grub_lvm_iterate): Change VGS->LV to VG-LV.
21625 (grub_lvm_open): Likewise.
21626 Thanks to Michael Guntsche for finding this bug.
21627
21628 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21629
21630 * configure.ac (AC_INIT): Bumped to 1.95.
21631
21632 2006-10-14 Robert Millan <rmh@aybabtu.com>
21633
21634 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
21635 with "/dev/.static/dev/md".
21636
21637 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
21638
21639 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
21640 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
21641 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
21642 DRIVE_NAME are always freed.
21643
21644 * util/i386/pc/biosdisk.c (make_device_name): Add one into
21645 DOS_PART, as a DOS partition is counted from one instead of zero
21646 now. Reported by Robert Millan.
21647
21648 2006-10-14 Robert Millan <rmh@aybabtu.com>
21649
21650 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
21651 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
21652 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
21653 string returned by grub_guess_root_device.
21654 * util/i386/pc/grub-setup.c: Likewise.
21655 * util/i386/pc/grub-probefs.c: Likewise.
21656
21657 * util/i386/pc/grub-probefs.c: Rename to ...
21658 * util/i386/pc/grub-probe.c: ... this.
21659 * DISTLIST: Remove grub-probefs, add grub-probe.
21660 * conf/i386-efi.rmk: Likewise.
21661 * conf/i386-pc.rmk: Likewise.
21662 * util/i386/pc/grub-install.in: Likewise.
21663
21664 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
21665 choose which information we want to print.
21666
21667 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
21668
21669 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
21670 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
21671 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
21672 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
21673 video/readers/tga.c and video/i386/pc/vbeutil.c.
21674
21675 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
21676
21677 Added support for RAID and LVM.
21678
21679 * disk/lvm.c: New file.
21680 * disk/raid.c: Likewise.
21681 * include/grub/lvm.h: Likewise.
21682 * include/grub/raid.h: Likewise.
21683 * include/grub/util/lvm.h: Likewise.
21684 * include/grub/util/raid.h: Likewise.
21685 * util/lvm.c: Likewise.
21686 * util/raid.c: Likewise.
21687
21688 * include/grub/disk.h (grub_disk_dev_id): Add
21689 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
21690 (grub_disk_get_size): New prototype.
21691 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
21692 returns a partition.
21693 (grub_disk_get_size): New function.
21694
21695 * kern/i386/pc/init.c (make_install_device): Copy the prefix
21696 verbatim if grub_install_dos_part is -2.
21697
21698 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
21699 and LVM devices.
21700
21701 * util/i386/pc/grub-setup.c (setup): New argument
21702 MUST_EMBED. Force embedding of GRUB when the argument is
21703 true. Close FILE before returning.
21704 (main): Add support for RAID and LVM.
21705
21706 * conf/common.rmk: Add RAID and LVM modules.
21707 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
21708 util/lvm.c.
21709 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
21710
21711 * kern/misc.c (grub_strstr): New function.
21712 * include/grub/misc.h (grub_strstr): New prototype.
21713
21714 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
21715
21716 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
21717
21718 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
21719
21720 * kern/misc.c (grub_strtoull): Guess the base only if not
21721 specified.
21722
21723 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
21724
21725 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
21726 PowerMac support.
21727
21728 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
21729
21730 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
21731
21732 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
21733 Remove `flags' argument. All callers changed.
21734 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
21735 (IEEE1275_IHANDLE_INVALID): New variable.
21736 (IEEE1275_CELL_INVALID): New variable.
21737 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
21738 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
21739 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
21740 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
21741 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
21742 codes from Open Firmware. All callers updated.
21743 (grub_ieee1275_next_property): Directly return Open Firmware return
21744 code.
21745 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
21746 Standardize error checking from `grub_ieee1275_get_property'.
21747 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
21748 `devalias' to `aliases'. Correct comments. Consolidate error paths.
21749
21750 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
21751
21752 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
21753 `instance_to_package_args' to `instance_to_path_args'.
21754
21755 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
21756 `grub_ieee1275_chosen'.
21757
21758 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
21759 `grub_ieee1275_interpret'.
21760
21761 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
21762
21763 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
21764
21765 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
21766
21767 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
21768 (__cmpdi): Likewise.
21769
21770 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
21771 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
21772 `grub_ssize_t'.
21773
21774 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
21775
21776 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
21777 to type `grub_ssize_t'.
21778 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
21779
21780 2006-09-22 Marco Gerards <marco@gnu.org>
21781
21782 * normal/script.c (grub_script_create_cmdmenu): Skip leading
21783 newlines.
21784
21785 2006-09-22 Marco Gerards <marco@gnu.org>
21786
21787 * commands/echo.c: New file.
21788
21789 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
21790
21791 * conf/common.rmk (echo_mod_SOURCES): New variable.
21792 (echo_mod_CFLAGS): Likewise.
21793 (echo_mod_LDFLAGS): Likewise.
21794
21795 2006-09-22 Marco Gerards <marco@gnu.org>
21796
21797 * normal/main.c (get_line): Malloc memory instead of using
21798 preallocated memory. Removed the arguments `cmdline' and
21799 `max_len'. Updated all callers.
21800
21801 2006-09-22 Marco Gerards <marco@gnu.org>
21802
21803 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
21804 (normal_mod_DEPENDENCIES): Likewise.
21805
21806 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
21807 (normal_mod_DEPENDENCIES): Likewise.
21808
21809 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
21810
21811 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
21812
21813 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
21814 programs.
21815 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
21816 (normal_mod_DEPENDENCIES): Likewise.
21817 * conf/i386-pc.mk: Regenerate.
21818 * conf/i386-efi.mk: Likewise
21819 * conf/common.mk: Likewise.
21820 * conf/powerpc-ieee1275.mk: Likewise.
21821 * conf/sparc64-ieee1275.mk: Likewise.
21822
21823 2006-09-22 Robert Millan <rmh@aybabtu.com>
21824
21825 Sync with i386 version.
21826 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
21827 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
21828
21829 2006-09-21 Robert Millan <rmh@aybabtu.com>
21830
21831 Import from GRUB Legacy (lib/device.c):
21832 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
21833 (init_device_map) [__linux__]: Add support for I2O devices.
21834
21835 2006-09-14 Marco Gerards <marco@gnu.org>
21836
21837 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
21838 `-melf_i386'.
21839
21840 2006-09-14 Robert Millan <rmh@aybabtu.com>
21841
21842 * util/i386/pc/grub-install.in: Skip menu.lst when removing
21843 /boot/grub/*.lst.
21844
21845 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
21846
21847 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
21848 before adding it to device.map.
21849
21850 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
21851
21852 * genmk.rb: Let GCC generate dependencies the first time it
21853 compiles a file; using the -MD option.
21854 * conf/common.mk: Regenerate.
21855 * conf/i386-pc.mk: Likewise.
21856 * conf/i386-efi.mk: Likewise.
21857 * conf/powerpc-ieee1275.mk: Likewise.
21858 * conf/sparc64-ieee1275.mk: Likewise.
21859
21860 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
21861
21862 Move the prototypes of grub_setjmp and grub_longjmp to
21863 cpu/setjmp.h, so that each architecture may specify different
21864 attributes.
21865
21866 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
21867 (grub_longjmp): Likewise.
21868 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
21869 (grub_longjmp): Likewise.
21870 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
21871 (grub_longjmp): Likewise.
21872
21873 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
21874 [!GRUB_UTIL] (grub_longjmp): Removed.
21875
21876 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
21877
21878 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
21879 "color!" method does not return any value.
21880
21881 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21882
21883 * include/grub/bitmap.h: New file.
21884
21885 * include/grub/i386/pc/vbeutil.h: Likewise.
21886
21887 * video/bitmap.c: Likewise.
21888
21889 * video/readers/tga.c: Likewise.
21890
21891 * video/i386/pc/vbeutil.c: Likewise.
21892
21893 * commands/videotest.c: Code cleanup and updated to reflect to new
21894 video API.
21895
21896 * term/gfxterm.c: Likewise.
21897
21898 * video/video.c: Likewise.
21899
21900 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
21901 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
21902 (bitmap_mod_SOURCES): New entry.
21903 (bitmap_mod_CFLAGS): Likewise.
21904 (bitmap_mod_LDFLAGS): Likewise.
21905 (tga_mod_SOURCES): Likewise.
21906 (tga_mod_CFLAGS): Likewise.
21907 (tga_mod_LDFLAGS): Likewise.
21908
21909 * include/grub/video.h (grub_video_blit_operators): New enum type.
21910 (grub_video_render_target): Changed as forward declaration and moved
21911 actual definition to be video driver specific.
21912 (grub_video_adapter.blit_bitmap): Added blitting operator.
21913 (grub_video_adapter.blit_render_target): Likewise.
21914 (grub_video_blit_bitmap): Likewise.
21915 (grub_video_blit_render_target): Likewise.
21916
21917 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
21918 driver specific render target definition.
21919 (grub_video_vbe_map_rgba): Added driver internal helper.
21920 (grub_video_vbe_unmap_color): Updated to use
21921 grub_video_i386_vbeblit_info.
21922 (grub_video_vbe_get_video_ptr): Likewise.
21923
21924 * include/grub/i386/pc/vbeblit.h
21925 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
21926 grub_video_i386_vbeblit_info.
21927 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21928 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21929 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21930 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21931 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21932 (grub_video_i386_vbeblit_index_index): Likewise.
21933 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
21934 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21935 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21936 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
21937 operator.
21938 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
21939 operator.
21940
21941 * video/i386/pc/vbeblit.c: Updated to reflect changes on
21942 include/grub/i386/pc/vbeblit.h.
21943
21944 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
21945 Updated to use grub_video_i386_vbeblit_info.
21946 (grub_video_i386_vbefill_R8G8B8): Likewise.
21947 (grub_video_i386_vbefill_index): Likewise.
21948 (grub_video_i386_vbefill): Added generic filler.
21949
21950 * video/i386/pc/vbefill.c: Updated to reflect changes on
21951 include/grub/i386/pc/vbefill.h.
21952
21953 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
21954 grub_video_i386_vbeblit_info.
21955 (grub_video_vbe_unmap_color): Likewise.
21956 (grub_video_vbe_blit_glyph): Likewise.
21957 (grub_video_vbe_scroll): Likewise.
21958 (grub_video_vbe_draw_pixel): Removed function.
21959 (grub_video_vbe_get_pixel): Likewise.
21960 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
21961 updated code to use it.
21962 (common_blitter): Added common blitter for render target and bitmap.
21963 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
21964 (grub_video_vbe_blit_render_target): Likewise.
21965
21966 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
21967
21968 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
21969 is in text mode if there is no console control protocol instance
21970 available.
21971
21972 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21973
21974 * include/grub/video.h: Code cleanup.
21975
21976 * include/grub/i386/pc/vbe.h: Likewise.
21977
21978 * video/i386/pc/vbe.c: Likewise.
21979
21980 * video/i386/pc/vbeblit.c: Likewise.
21981
21982 * video/i386/pc/vbefill.c: Likewise.
21983
21984 * video/video.c: Likewise. Also added more comments.
21985
21986 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21987
21988 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
21989 (struct grub_biosdisk_dap): Likewise.
21990
21991 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
21992 linkage settings for all functions.
21993
21994 2006-07-12 Marco Gerards <marco@gnu.org>
21995
21996 * configure.ac (--enable-mm-debug): Fix typo.
21997
21998 * genkernsyms.sh.in: Use proper quoting for `CC'.
21999
22000 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
22001
22002 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
22003 (normal_mod_ASFLAGS): Remove "-m32".
22004
22005 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
22006
22007 * util/misc.c: Include config.h.
22008 [!HAVE_MEMALIGN]: Do not include malloc.h.
22009 (grub_memalign): Use posix_memalign, if present. Then, use
22010 memalign, if present. Otherwise, emit an error.
22011
22012 * util/grub-emu.c: Do not include malloc.h.
22013
22014 * include/grub/util/misc.h: Include unistd.h. This is required for
22015 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
22016 D. Eades III <hde@foobar-qux.org>.
22017
22018 * configure.ac (AC_GNU_SOURCE): Added.
22019 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
22020 type.
22021
22022 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
22023
22024 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
22025 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
22026
22027 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
22028
22029 * include/grub/types.h (grub_host_addr_t): Rename to
22030 grub_target_addr_t.
22031 (grub_host_off_t): Rename to grub_target_off_t.
22032 (grub_host_size_t): Rename to grub_target_size_t.
22033 (grub_host_ssize_t): Rename to grub_target_ssize_t.
22034 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
22035
22036 * include/grub/kernel.h (struct grub_module_header): Change type
22037 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
22038 (grub_module_info): Likewise.
22039
22040 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
22041
22042 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
22043 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
22044 Velazquez <jesus.velazquez@gmail.com>.
22045
22046 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
22047
22048 Count partitions from 1 instead of 0 in the string representation
22049 of partitions. Still use 0-based internally.
22050
22051 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
22052 (sun_partition_map_iterate): Use grub_partition_t instead of
22053 struct grub_partition *. Cast DESC->START_CYLINDER to
22054 grub_uint64_t after converting the endian.
22055 (sun_partition_map_probe): Subtract 1 for PARTNUM.
22056 (sun_partition_map_get_name): Add 1 to P->INDEX.
22057
22058 * partmap/pc.c (grub_partition_parse): Subtract 1 for
22059 PCDATA->DOS_PART.
22060 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
22061
22062 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
22063 zero instead of one.
22064 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
22065 (gpt_partition_map_get_name): Add 1 into P->INDEX.
22066
22067 * partmap/apple.c (apple_partition_map_iterate): Change the type
22068 of POS to unsigned.
22069 (apple_partition_map_probe): Subtract 1 for PARTNUM.
22070 (apple_partition_map_get_name): Add 1 into P->INDEX.
22071
22072 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
22073 of POS to unsigned.
22074 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
22075 calculate the offset of a partition.
22076 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
22077 (amiga_partition_map_get_name): Add 1 into P->INDEX.
22078
22079 * partmap/acorn.c (acorn_partition_map_find): Change the type of
22080 SECTOR to grub_disk_addr_t.
22081 (acorn_partition_map_iterate): Likewise.
22082 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
22083 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
22084 top.
22085 (acorn_partition_map_get_name): Add 1 into P->INDEX.
22086
22087 * kern/i386/pc/init.c (make_install_device): Add 1 into
22088 GRUB_INSTALL_DOS_PART.
22089
22090 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
22091 conditional.
22092
22093 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
22094
22095 Clean up the code to support 64-bit addressing in disks and
22096 files. This change is not enough for filesystems yet.
22097
22098 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
22099 type of "start" to grub_uint64_t.
22100 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
22101 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
22102 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
22103 convert addresses.
22104
22105 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
22106 to grub_disk_addr_t.
22107
22108 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
22109 string.
22110
22111 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22112
22113 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
22114 to char *.
22115
22116 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
22117
22118 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
22119
22120 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
22121
22122 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
22123 to grub_off_t, to detect an error from grub_file_seek.
22124 (grub_multiboot_load_elf32): Likewise.
22125
22126 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
22127 maximum unsigned long value when an overflow is detected.
22128 (grub_strtoull): New function.
22129 (grub_divmod64): Likewise.
22130 (grub_lltoa): use grub_divmod64.
22131
22132 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
22133 grub_disk_addr_t.
22134 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
22135 the pointer to next character. Use grub_strtoull instead of
22136 grub_strtoul.
22137 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
22138 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
22139 respectively.
22140
22141 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
22142 return value is signed.
22143 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
22144 test if OFFSET is less than zero, as OFFSET is unsigned now.
22145
22146 * kern/disk.c (struct grub_disk_cache): Change the type of
22147 "sector" to grub_disk_addr_t.
22148 (grub_disk_cache_get_index): Change the type of SECTOR to
22149 grub_disk_addr_t. Calculate the hash with SECTOR casted to
22150 unsigned after shifting.
22151 (grub_disk_cache_invalidate): Change the type of SECTOR to
22152 grub_disk_addr_t.
22153 (grub_disk_cache_unlock): Likewise.
22154 (grub_disk_cache_store): Likewise.
22155 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
22156 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
22157 grub_disk_addr_t and grub_uint64_t, respectively.
22158 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
22159 body, as the value of OFFSET is tweaked by
22160 grub_disk_check_range. Change the types of START_SECTOR, LEN and
22161 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
22162 respectively.
22163 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
22164 body, as the value of OFFSET is tweaked by
22165 grub_disk_check_range. Change the types of LEN and N to
22166 grub_size_t.
22167
22168 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
22169 and "saved_offset" to grub_off_t.
22170 (test_header): Cast BUF to char *.
22171 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
22172 to char *.
22173 (grub_gzio_read): Change the types of OFFSET and SIZE to
22174 grub_off_t and grub_size_t, respectively.
22175
22176 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
22177 Removed.
22178 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
22179 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
22180 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
22181 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
22182 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
22183
22184 * include/grub/types.h (grub_off_t): Unconditionally set to
22185 grub_uint64_t.
22186 (grub_disk_addr_t): Changed to grub_uint64_t.
22187
22188 * include/grub/partition.h (struct grub_partition): Change the
22189 types of "start", "len" and "offset" to grub_disk_addr_t,
22190 grub_uint64_t and grub_disk_addr_t, respectively.
22191 (grub_partition_get_start): Return grub_disk_addr_t.
22192 (grub_partition_get_len): Return grub_uint64_t.
22193
22194 * include/grub/misc.h (grub_strtoull): New prototype.
22195 (grub_divmod64): Likewise.
22196
22197 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
22198 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
22199 grub_off_t, respectively.
22200 All callers and references changed.
22201
22202 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
22203 grub_size_t in "read".
22204 All callers and references changed.
22205
22206 * include/grub/file.h (struct grub_file): Change the types of
22207 "offset" and "size" to grub_off_t and grub_off_t,
22208 respectively. Change the type of SECTOR to grub_disk_addr_t in
22209 "read_hook".
22210 (grub_file_read): Change the type of LEN to grub_size_t.
22211 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
22212 grub_off_t.
22213 (grub_file_size): Return grub_off_t.
22214 (grub_file_tell): Likewise.
22215 All callers and references changed.
22216
22217 * include/grub/disk.h (struct grub_disk_dev): Change the types of
22218 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
22219 "write".
22220 (struct grub_disk): Change the type of "total_sectors" to
22221 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
22222 "read_hook".
22223 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
22224 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
22225 (grub_disk_write): Likewise.
22226 All callers and references changed.
22227
22228 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
22229 char * for grub_strncmp to silence gcc.
22230 (grub_iso9660_mount): Likewise.
22231 (grub_iso9660_mount): Likewise.
22232 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
22233 return statement.
22234 (grub_iso9660_iterate_dir): Likewise.
22235 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
22236
22237 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
22238 LEN to grub_disk_addr_t and grub_size_t, respectively.
22239
22240 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
22241
22242 * fs/jfs.c (grub_jfs_read_file): Likewise.
22243
22244 * fs/minix.c (grub_jfs_read_file): Likewise.
22245
22246 * fs/sfs.c (grub_jfs_read_file): Likewise.
22247
22248 * fs/ufs.c (grub_jfs_read_file): Likewise.
22249
22250 * fs/xfs.c (grub_jfs_read_file): Likewise.
22251
22252 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
22253 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
22254 respectively.
22255
22256 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
22257 BLKNR to -1 instead of returning GRUB_ERRNO.
22258 (grub_ext2_read_file): Change the types of SECTOR and
22259 LEN to grub_disk_addr_t and grub_size_t, respectively.
22260
22261 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
22262 LEN to grub_disk_addr_t and grub_size_t, respectively.
22263
22264 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
22265 grub_file_read.
22266
22267 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
22268 string. Do not cast SECTOR explicitly.
22269
22270 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
22271 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
22272 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
22273 grub_disk_addr_t and grub_size_t, respectively. If the sector is
22274 over 2TB and LBA mode is not supported, raise an error.
22275 (get_safe_sectors): New function.
22276 (grub_biosdisk_read): Use get_safe_sectors.
22277 (grub_biosdisk_write): Likewise.
22278
22279 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
22280 (grub_efidisk_write): Likewise.
22281
22282 * disk/loopback.c (delete_loopback): Cosmetic changes.
22283 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
22284 correctly.
22285 (grub_loopback_open): Likewise.
22286 (grub_loopback_read): Likewise. Also, change the type of POS to
22287 grub_off_t, and fix the usage of grub_memset.
22288
22289 * commands/i386/pc/play.c: Include grub/machine/time.h.
22290
22291 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
22292 print FILE->SIZE.
22293
22294 * commands/configfile.c: Include grub/env.h.
22295
22296 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
22297 GRUB_ERRNO directly instead. Change the type of POS to
22298 grub_off_t. Follow the coding standard.
22299
22300 * commands/blocklist.c: Include grub/partition.h.
22301 (grub_cmd_blocklist): Return an error if the underlying device is
22302 not a disk. Take the starting sector of a partition into account,
22303 if a partition is used.
22304
22305 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
22306 a length field.
22307 (lba_mode): Support 64-bit addresses.
22308 (chs_mode): Likewise.
22309 (copy_buffer): Adapted to the new offsets of a length field and a
22310 segment field.
22311 (blocklist_default_start): Allocate 64-bit space.
22312
22313 * boot/i386/pc/boot.S (force_lba): Removed.
22314 (boot_drive): Moved to under KERNEL_SECTOR.
22315 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
22316 space.
22317 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
22318 is useless.
22319 (lba_mode): Refactored to support a 64-bit address. More size
22320 optimization.
22321 (setup_sectors): Likewise.
22322
22323 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
22324
22325 * DISTLIST: Added include/grub/i386/linux.h. Removed
22326 include/grub/i386/pc/linux.h
22327
22328 * configure.ac (AC_INIT): Bumped to 1.94.
22329
22330 * config.guess: Updated from gnulib.
22331 * config.sub: Likewise.
22332 * install-sh: Likewise.
22333 * mkinstalldirs: Likewise.
22334
22335 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
22336
22337 * conf/common.rmk (grub_modules_init.lst): Depended on
22338 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
22339 MODSRCFILES.
22340
22341 * genmk.rb (PModule::rule): Reverted the previous change.
22342
22343 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
22344
22345 * conf/common.rmk (grub_modules_init.lst): Depends on
22346 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
22347 that the target does not exist before producing.
22348 (grub_modules_init.h): Remove the target before generating.
22349 (grub_emu_init.c): Likewise.
22350
22351 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
22352
22353 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
22354
22355 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
22356 for the target-specific tests. Make sure that we also have the
22357 up-to-date target variables for those tests.
22358
22359 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
22360
22361 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
22362 (PModule::rule): Likewise.
22363
22364 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
22365
22366 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
22367 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
22368 target-specific flags should be prefixed.
22369 (PModule::rule): Likewise.
22370
22371 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
22372
22373 * configure.ac (CMP): Check if cmp is available explicitly.
22374
22375 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
22376
22377 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
22378 (target_cpu): New variable.
22379 (pkglibdir): Use target_cpu instead of host_cpu.
22380
22381 * util/i386/pc/grub-install.in (host_cpu): Removed.
22382 (target_cpu): New variable.
22383 (pkglibdir): Use target_cpu instead of host_cpu.
22384
22385 * util/genmoddep.c: Removed.
22386
22387 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
22388 instead of GRUB_HOST_SIZEOF_VOID_P.
22389 * kern/dl.c: Likewise.
22390
22391 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
22392 ...
22393 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22394 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22395 (GRUB_TARGET_SIZEOF_LONG): ... this.
22396 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22397 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22398 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
22399 to ...
22400 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22401 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22402 (GRUB_TARGET_SIZEOF_LONG): ... this.
22403 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22404 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22405 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
22406 to ...
22407 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22408 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22409 (GRUB_TARGET_SIZEOF_LONG): ... this.
22410 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22411 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22412
22413 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
22414 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
22415 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
22416 instead of GRUB_HOST_SIZEOF_LONG.
22417 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
22418 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
22419 GRUB_CPU_WORDS_BIGENDIAN.
22420 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
22421 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
22422 grub_host_ssize_t.
22423
22424 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
22425 (genmoddep_SOURCES): Likewise.
22426 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
22427 (genmoddep_SOURCES): Likewise.
22428 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
22429 (genmoddep_SOURCES): Likewise.
22430 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
22431 Likewise.
22432 (genmoddep_SOURCES): Likewise.
22433
22434 * genmoddep.awk: New file.
22435
22436 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
22437 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
22438 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
22439 (PModule::rule): Likewise.
22440 (Program::rule): Likewise.
22441 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
22442 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
22443 respectively.
22444
22445 * configure.ac: Rewritten intensively to use host and target
22446 instead of build and host, respectively.
22447
22448 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
22449 (host_cpu): Removed.
22450 (target_cpu): New variable.
22451 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
22452 (BUILD_CC): Removed.
22453 (BUILD_CFLAGS): Likewise.
22454 (BUILD_CPPFLAGS): Likewise.
22455 (TARGET_CC): New variable.
22456 (TARGET_CFLAGS): Likewise.
22457 (TARGET_CPPFLAGS): Likewise.
22458 (TARGET_LDFLAGS): Likewise.
22459 (AWK): Likewise.
22460 (include): Use target_cpu instead of host_cpu.
22461 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
22462
22463 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
22464
22465 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
22466
22467 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
22468 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
22469 field 'false' to 'exec_on_false'.
22470 (grub_script_create_cmdif): Renamed argument names to reflect above
22471 changes.
22472
22473 * normal/execute.c (grub_script_execute_cmdif): Likewise.
22474
22475 * normal/script.c (grub_script_create_cmdif): Likewise.
22476
22477 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
22478
22479 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
22480 top.
22481 (grub_hfsplus_btree_recptr): Likewise.
22482 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
22483 FILEBLOCK both to pass a block number and store next block
22484 number.
22485 (grub_hfsplus_read_block): Rewritten heavily to support an extent
22486 overflow file correctly. Specify errors appropriately, because
22487 fshelp expects that GRUB_ERRNO is set when fails. Reuse
22488 grub_hfsplus_btree_recptr to get the pointer to a found key.
22489 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
22490 is found.
22491
22492 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
22493 linux.mod.
22494 (_linux_mod_SOURCES): New variable.
22495 (_linux_mod_CFLAGS): Likewise.
22496 (_linux_mod_LDFLAGS): Likewise.
22497 (linux_mod_SOURCES): Likewise.
22498 (linux_mod_CFLAGS): Likewise.
22499 (linux_mod_LDFLAGS): Likewise.
22500
22501 * DISTLIST: Added loader/i386/efi/linux.c,
22502 loader/i386/efi/linux_normal.c and
22503 include/grub/i386/efi/loader.h.
22504
22505 * loader/i386/efi/linux.c: New file.
22506 * loader/i386/efi/linux_normal.c: Likewise.
22507 * include/grub/i386/efi/loader.h: Likewise.
22508
22509 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
22510
22511 * commands/blocklist.c: New file.
22512
22513 * DISTLIST: Added commands/blocklist.c.
22514
22515 * term/efi/console.c (grub_console_highlight_color): Use a lighter
22516 color for the background, and a darker color for the foreground.
22517 (grub_console_checkkey): Return READ_KEY.
22518 (grub_console_cls): Set the background to
22519 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
22520
22521 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
22522
22523 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
22524 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
22525
22526 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
22527 prototype.
22528
22529 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
22530 BG. The spec is wrong again.
22531
22532 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
22533 prototype.
22534 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
22535
22536 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22537 commands/blocklist.c.
22538 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22539
22540 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
22541 (blocklist_mod_SOURCES): New variable.
22542 (blocklist_mod_CFLAGS): Likewise.
22543 (blocklist_mod_LDFLAGS): Likewise.
22544
22545 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
22546
22547 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
22548 duplication.
22549 (lba_mode): Use %eax more intensively to reduce the code size.
22550
22551 2006-05-20 Marco Gerards <marco@gnu.org>
22552
22553 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
22554
22555 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
22556 for `menuentry'.
22557 (script): Accept leading newlines.
22558 (newlines): New rule to describe 0 or more newlines.
22559 (commands): Accept `command' with trailing newline. Fixed the
22560 order in which arguments were passed to `grub_script_add_cmd'.
22561 Accept commands separated by newlines.
22562 (function): Changed to accept newlines.
22563 (menuentry) Rewritten.
22564
22565 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
22566 front of the list, instead of to the end.
22567
22568 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
22569
22570 * util/i386/pc/grub-install.in (bindir): New variable.
22571 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
22572 Shaver <lbgwjl@gmail.com>.
22573
22574 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
22575
22576 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
22577 grub/machine/linux.h
22578 * loader/i386/pc/linux.c: Likewise.
22579
22580 * include/grub/i386/pc/linux.h: Moved to ...
22581 * include/grub/i386/linux.h: ... here.
22582
22583 * include/grub/i386/linux.h (struct linux_kernel_params): New
22584 struct.
22585
22586 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
22587
22588 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
22589 checking.
22590 (grub_video_vbe_blit_glyph): Likewise.
22591 (grub_video_vbe_blit_bitmap): Likewise.
22592 (grub_video_vbe_blit_render_target): Likewise.
22593
22594 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
22595
22596 * configure.ac (--with-platform): Properly quote the square
22597 brackets.
22598
22599 2006-05-08 Marco Gerards <marco@gnu.org>
22600
22601 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
22602 this...
22603 (kernel_elf_HEADERS): ...to this. Updated all users.
22604 (grubof_symlist.c): Renamed from this...
22605 (kernel_elf_symlist.c): ...to this. Updated all users.
22606 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
22607 (grubof_SOURCES): Renamed from this...
22608 (kernel_elf_SOURCES): ...to this.
22609 (grubof_HEADERS): Renamed from this...
22610 (kernel_elf_HEADERS): ...to this.
22611 (grubof_CFLAGS): Renamed from this...
22612 (kernel_elf_CFLAGS): ...to this.
22613 (grubof_ASFLAGS): Renamed from this...
22614 (kernel_elf_ASFLAGS): ...to this.
22615 (grubof_LDFLAGS): Renamed from this...
22616 (kernel_elf_LDFLAGS): ...to this.
22617
22618 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
22619 this...
22620 (kernel_elf_HEADERS): ...to this. Updated all users.
22621 (grubof_symlist.c): Renamed from this...
22622 (kernel_elf_symlist.c): ...to this. Updated all users.
22623 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
22624 (grubof_SOURCES): Renamed from this...
22625 (kernel_elf_SOURCES): ...to this.
22626 (grubof_HEADERS): Renamed from this...
22627 (kernel_elf_HEADERS): ...to this.
22628 (grubof_CFLAGS): Renamed from this...
22629 (kernel_elf_CFLAGS): ...to this.
22630 (grubof_ASFLAGS): Renamed from this...
22631 (kernel_elf_ASFLAGS): ...to this.
22632 (grubof_LDFLAGS): Renamed from this...
22633 (kernel_elf_LDFLAGS): ...to this.
22634
22635 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
22636 `kernel.elf' instead of `grubof'.
22637
22638 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
22639
22640 Add --with-platform to configure. Use pkglibdir instead of
22641 pkgdatadir. This is reported by Roger Leigh.
22642
22643 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
22644 (host_vendor): Likewise.
22645 (host_os): Likewise.
22646 (pkgdatadir): Likewise.
22647 (platform): New variable.
22648 (pkglibdir): Likewise.
22649 Use PKGLIBDIR instead of PKGDATADIR.
22650
22651 * util/i386/pc/grub-install.in (datadir): Removed.
22652 (host_vendor): Likewise.
22653 (host_os): Likewise.
22654 (pkgdatadir): Likewise.
22655 (platform): New variable.
22656 (pkglibdir): Likewise.
22657 Use PKGLIBDIR instead of PKGDATADIR.
22658
22659 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
22660 instead of GRUB_DATADIR.
22661 (main): Likewise.
22662 * util/i386/pc/grub-mkimage.c (usage): Likewise.
22663 (main): Likewise.
22664 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22665 (main): Likewise.
22666
22667 * configure.ac (--with-platform): New option.
22668 Use PLATFORM instead of HOST_VENDOR to specify a platform.
22669
22670 * Makefile.in: Include a makefile based on PLATFORM instead of
22671 HOST_VENDOR.
22672 (pkgdatadir): Not appended by the machine type.
22673 (pkglibdir): Appended by the machine type.
22674 (host_vendor): Removed.
22675 (platform): New variable.
22676 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
22677 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
22678 (uninstall): Likewise.
22679
22680 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
22681
22682 Use the environment context in the menu. Remove the commands
22683 "default" and "timeout", and use variables instead.
22684
22685 * normal/menu.c: Include grub/env.h.
22686 (print_entry): Cast TITLE to silence gcc.
22687 (get_timeout): New function.
22688 (set_timeout): Likewise.
22689 (get_entry_number): Likewise.
22690 (run_menu): Use a default entry, a fallback entry and a timeout
22691 in the environment variables "default", "fallback" and
22692 "timeout". Also, tweak the default entry if it is not within the
22693 current menu entries.
22694 (grub_menu_run): Use a fallback entry in the environment variable
22695 "fallback".
22696
22697 * normal/main.c (read_config_file): Do not initialize
22698 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
22699 NEWMENU->TIMEOUT.
22700 (grub_normal_execute): Use a data slot to store the menu.
22701
22702 * include/grub/normal.h (struct grub_menu): Removed default_entry,
22703 fallback_entry and timeout.
22704 (struct grub_menu_list): Removed.
22705 (grub_menu_list_t): Likewise.
22706 (struct grub_context): Likewise.
22707 (grub_context_t): Likewise.
22708 (grub_context_get): Likewise.
22709 (grub_context_get_current_menu): Likewise.
22710 (grub_context_push_menu): Likewise.
22711 (grub_context_pop_menu): Likewise.
22712 (grub_default_init): Likewise.
22713 (grub_default_fini): Likewise.
22714 (grub_timeout_init): Likewise.
22715 (grub_timeout_fini): Likewise.
22716
22717 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
22718 and timeout.mod.
22719 (normal_mod_SOURCES): Removed normal/context.c.
22720
22721 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
22722 commands/default.c, commands/timeout.c and normal/context.c.
22723 (normal_mod_SOURCES): Removed normal/context.c.
22724
22725 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
22726 commands/timeout.c and normal/context.c.
22727 (normal_mod_SOURCES): Removed normal/context.c.
22728
22729 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
22730 commands/default.c, commands/timeout.c and normal/context.c.
22731 (normal_mod_SOURCES): Removed normal/context.c.
22732
22733 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
22734 timeout.mod.
22735 (default_mod_SOURCES): Removed.
22736 (default_mod_CFLAGS): Likewise.
22737 (default_mod_LDFLAGS): Likewise.
22738 (timeout_mod_SOURCES): Removed.
22739 (timeout_mod_CFLAGS): Likewise.
22740 (timeout_mod_LDFLAGS): Likewise.
22741
22742 * DISTLIST: Removed commands/default.c, commands/timeout.c and
22743 normal/context.c.
22744
22745 * commands/default.c: Removed.
22746 * commands/timeout.c: Likewise.
22747 * normal/context.c: Likewise.
22748
22749 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
22750
22751 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
22752
22753 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
22754
22755 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
22756 "next" to "prev" for readability.
22757 (struct grub_env_sorted_var): New struct.
22758 (grub_env_context): Renamed to ...
22759 (initial_context): ... this.
22760 (grub_env_var_context): Renamed to ...
22761 (current_context): ... this.
22762 (grub_env_find): Look only at CURRENT_CONTEXT.
22763 (grub_env_context_open): Rewritten to copy exported variables from
22764 previous context.
22765 (grub_env_context_close): Rewritten according to the new
22766 scheme. Also, add an assertion to prevent the initial context from
22767 removed.
22768 (grub_env_insert): Removed the code for the sorted list.
22769 (grub_env_remove): Likewise.
22770 (grub_env_export): Simply mark the variable with
22771 GRUB_ENV_VAR_GLOBAL.
22772 (grub_env_set): A cosmetic change for naming consistency.
22773 (grub_env_get): Likewise.
22774 (grub_env_unset): Likewise.
22775 (grub_env_iterate): Rewritten to sort variables within this
22776 function.
22777 (grub_register_variable_hook): Fixed for naming consistency. Call
22778 grub_env_find again, only if NAME is not found at the first time.
22779 (mangle_data_slot_name): New function.
22780 (grub_env_set_data_slot): Likewise.
22781 (grub_env_get_data_slot): Likewise.
22782 (grub_env_unset_data_slot): Likewise.
22783
22784 * include/grub/env.h (grub_env_var_type): New enum.
22785 (GRUB_ENV_VAR_LOCAL): New constant.
22786 (GRUB_ENV_VAR_GLOBAL): Likewise.
22787 (GRUB_ENV_VAR_DATA): Likewise.
22788 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
22789 "type".
22790 (grub_env_set): Replace VAR with NAME for consistency.
22791 (grub_register_variable_hook): Likewise.
22792 (grub_env_export): Specify the name of the argument.
22793 (grub_env_set_data_slot): New prototype.
22794 (grub_env_get_data_slot): Likewise.
22795 (grub_env_unset_data_slot): Likewise.
22796
22797 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22798
22799 Extend the loader so that GRUB can accept a loader which comes
22800 back to GRUB when a loaded image exits. Also, this change adds
22801 support for a chainloader on EFI.
22802
22803 * term/efi/console.c: Include grub/misc.h.
22804 (grub_console_checkkey): Display a scan code on the top for
22805 debugging. This will be removed once the EFI port gets stable.
22806 Correct the scan code mapping.
22807
22808 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
22809 allocate memory from larger regions, in order to reduce the number
22810 of allocated regions. Otherwise, the MacOSX loader panics.
22811 (filter_memory_map): Avoid less than 1MB for compatibility with
22812 other loaders.
22813 (add_memory_regions): Allocate from the tail of a region, if
22814 possible, to avoid allocating a region near to 1MB, for the MacOSX
22815 loader.
22816
22817 * kern/efi/init.c (grub_efi_set_prefix): Specify
22818 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
22819
22820 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
22821 argument IMAGE_HANDLE and specify it to get a loaded image.
22822 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
22823 grub_efi_get_loaded_image.
22824 (grub_efi_get_filename): Divide the length by the size of
22825 grub_efi_char16_t.
22826 (grub_efi_get_device_path): New function.
22827 (grub_efi_print_device_path): Print End Device Path nodes. Divide
22828 the length by the size of grub_efi_char16_t for a file path device
22829 path node.
22830
22831 * kern/loader.c (grub_loader_noreturn): New variable.
22832 (grub_loader_set): Accept a new argument NORETURN. Set
22833 GRUB_LOADER_NORETURN to NORETURN.
22834 All callers changed.
22835 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
22836 grub_machine_fini.
22837
22838 * include/grub/efi/efi.h (grub_efi_get_device_path): New
22839 prototype.
22840 (grub_efi_get_loaded_image): Take an argument to specify an image
22841 handle.
22842
22843 * include/grub/loader.h (grub_loader_set): Added one more argument
22844 NORETURN.
22845
22846 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
22847 instead of grub_efi_open_protocol.
22848 (grub_efidisk_get_device_name): Likewise.
22849 (grub_efidisk_close): Print a newline.
22850 (grub_efidisk_get_device_handle): Fixed to use
22851 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
22852 GRUB_EFI_DEVICE_PATH_TYPE.
22853
22854 * disk/efi/efidisk.c (device_path_guid): Moved to ...
22855 * kern/efi/efi.c (device_path_guid): ... here.
22856
22857 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
22858 chain.mod.
22859 (kernel_mod_HEADERS): Added efi/disk.h.
22860 (_chain_mod_SOURCES): New variable.
22861 (_chain_mod_CFLAGS): Likewise.
22862 (_chain_mod_LDFLAGS): Likewise.
22863 (chain_mod_SOURCES): Likewise.
22864 (chain_mod_CFLAGS): Likewise.
22865 (chain_mod_LDFLAGS): Likewise.
22866
22867 * DISTLIST: Added include/grub/efi/chainloader.h,
22868 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
22869
22870 * include/grub/efi/chainloader.h: New file.
22871 * loader/efi/chainloader.c: Likewise.
22872 * loader/efi/chainloader_normal.c: Likewise.
22873
22874 2006-04-30 Marco Gerards <marco@gnu.org>
22875
22876 * commands/configfile.c (grub_cmd_source): New function.
22877 (GRUB_MOD_INIT): Register the commands `source' and `.'.
22878 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
22879
22880 2006-04-30 Marco Gerards <marco@gnu.org>
22881
22882 * normal/execute.c (grub_script_execute_cmd): Change the return
22883 type to `grub_err_t'. Correctly return the error.
22884 (grub_script_execute_cmdline): In case a command line is not a
22885 command or a function, try to interpret it as an assignment.
22886
22887 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22888
22889 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
22890 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
22891 skip a node whose name is obviously invalid as UTF-16,
22892 i.e. contains a NUL character. Stop the iteration when the last
22893 directory entry is found. Instead of using the return value of
22894 grub_hfsplus_btree_iterate_node, store the value in RET and use
22895 it, because the iterator can be stopped by the last directory
22896 entry.
22897
22898 2006-04-30 Marco Gerards <marco@gnu.org>
22899
22900 * include/grub/env.h (grub_env_export): New prototype. Reported
22901 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
22902
22903 2006-04-30 Marco Gerards <marco@gnu.org>
22904
22905 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
22906 size of the extents in a catalog file record.
22907
22908 2006-04-29 Marco Gerards <marco@gnu.org>
22909
22910 * commands/configfile.c (grub_cmd_configfile): Execute the
22911 configfile within its own context.
22912
22913 * include/grub/env.h (grub_env_context_open): New prototype.
22914 (grub_env_context_close): Likewise.
22915
22916 * kern/env.c (grub_env): Removed.
22917 (grub_env_sorted): Likewise.
22918 (grub_env_context): New variable.
22919 (grub_env_var_context): Likewise.
22920 (grub_env_find): Search both the active context and the global
22921 context.
22922 (grub_env_context_open): New function.
22923 (grub_env_context_close): Likewise.
22924 (grub_env_insert): Likewise.
22925 (grub_env_remove): Likewise.
22926 (grub_env_export): Likewise.
22927 (grub_env_set): Changed to use helper functions to avoid code
22928 duplication.
22929 (grub_env_iterate): Rewritten so both the current context and the
22930 global context are being used.
22931
22932 * normal/command.c (export_command): New function.
22933 (grub_command_init): Register the `export' function.
22934
22935 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
22936
22937 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
22938 explicitly to suppress gcc's warnings.
22939 * fs/fat.c (grub_fat_find_dir): Likewise.
22940 (grub_fat_label): Likewise.
22941 * fs/xfs.c (grub_xfs_read_inode): Likewise.
22942 (grub_xfs_mount): Likewise.
22943 (grub_xfs_label): Likewise.
22944 * fs/affs.c (grub_affs_mount): Likewise.
22945 (grub_affs_label): Likewise.
22946 (grub_affs_iterate_dir): Likewise.
22947 * fs/sfs.c (grub_sfs_mount): Likewise.
22948 (grub_sfs_iterate_dir): Likewise.
22949 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
22950 * fs/hfs.c (grub_hfs_mount): Likewise.
22951 (grub_hfs_cmp_catkeys): Likewise.
22952 (grub_hfs_find_dir): Likewise.
22953 (grub_hfs_dir): Likewise.
22954 (grub_hfs_label): Likewise.
22955 * fs/jfs.c (grub_jfs_mount): Likewise.
22956 (grub_jfs_opendir): Likewise.
22957 (grub_jfs_getent): Likewise.
22958 (grub_jfs_lookup_symlink): Likewise.
22959 (grub_jfs_label): Likewise.
22960 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
22961 (grub_hfsplus_iterate_dir): Likewise.
22962 (grub_hfsplus_btree_iterate_node): Made static.
22963
22964 * util/grub-emu.c (prefix): New variable.
22965 (grub_machine_set_prefix): New function.
22966 (main): Do not set the environment variable "prefix" here. Only
22967 set PREFIX, which is used later by grub_machine_set_prefix.
22968
22969 * include/grub/video.h: Do not include grub/symbol.h.
22970 (grub_video_register): Not exported. This symbol is not defined in
22971 the kernel.
22972 (grub_video_unregister): Likewise.
22973 (grub_video_iterate): Likewise.
22974 (grub_video_setup): Likewise.
22975 (grub_video_restore): Likewise.
22976 (grub_video_get_info): Likewise.
22977 (grub_video_get_blit_format): Likewise.
22978 (grub_video_set_palette): Likewise.
22979 (grub_video_get_palette): Likewise.
22980 (grub_video_set_viewport): Likewise.
22981 (grub_video_get_viewport): Likewise.
22982 (grub_video_map_color): Likewise.
22983 (grub_video_map_rgb): Likewise.
22984 (grub_video_map_rgba): Likewise.
22985 (grub_video_fill_rect): Likewise.
22986 (grub_video_blit_glyph): Likewise.
22987 (grub_video_blit_bitmap): Likewise.
22988 (grub_video_blit_render_target): Likewise.
22989 (grub_video_scroll): Likewise.
22990 (grub_video_swap_buffers): Likewise.
22991 (grub_video_create_render_target): Likewise.
22992 (grub_video_delete_render_target): Likewise.
22993 (grub_video_set_active_render_target): Likewise.
22994
22995 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
22996 Undefined.
22997 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
22998
22999 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
23000 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23001 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23002 instead of $(srcdir)/genkernsyms.sh.
23003
23004 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
23005 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23006 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23007 instead of $(srcdir)/genkernsyms.sh.
23008
23009 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
23010 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23011 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23012 instead of $(srcdir)/genkernsyms.sh.
23013
23014 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
23015 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23016 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23017 instead of $(srcdir)/genkernsyms.sh.
23018
23019 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
23020 genkernsyms.sh.
23021
23022 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
23023 genkernsyms.sh.
23024 (gensymlist.sh): New target.
23025 (genkernsyms.sh): Likewise.
23026
23027 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
23028 genkernsyms.sh.in and gensymlist.sh.in.
23029
23030 * genkernsyms.sh: Removed.
23031 * gensymlist.sh: Likewise.
23032
23033 * genkernsyms.sh.in: New file.
23034 * gensymlist.sh.in: Likewise.
23035
23036 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
23037
23038 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
23039 clobber "prefix", since we may have already set it manually.
23040
23041 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
23042
23043 * kern/misc.c (abort): New alias for grub_abort.
23044
23045 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
23046
23047 A new machine-specific function "grub_machine_set_prefix" is
23048 defined. This is called after loading modules, so that a prefix
23049 initialization can use modules. Also, this change adds an
23050 intensive debugging feature for the memory manager via the
23051 configure option "--enable-mm-debug".
23052
23053 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
23054 PART.LEN.
23055
23056 * kern/sparc64/ieee1275/init.c (abort): Removed.
23057 (grub_stop): Likewise.
23058 (grub_exit): New function.
23059 (grub_set_prefix): Renamed to ...
23060 (grub_machine_set_prefix): ... this.
23061 (grub_machine_init): Do not call grub_set_prefix.
23062
23063 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
23064 (grub_machine_set_prefix): ... this.
23065 (grub_machine_init): Do not call grub_set_prefix.
23066
23067 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
23068 (grub_machine_init): Do not set the prefix here.
23069
23070 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
23071
23072 * kern/efi/init.c: Include grub/mm.h.
23073 (grub_efi_set_prefix): New function.
23074
23075 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
23076 (grub_efi_get_filename): New function.
23077 (grub_print_device_path): Renamed to ...
23078 (grub_efi_print_device_path): ... this.
23079
23080 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
23081 [MM_DEBUG] (grub_realloc): Likewise.
23082 [MM_DEBUG] (grub_free): Likewise.
23083 [MM_DEBUG] (grub_memalign): Likewise.
23084 [MM_DEBUG] (grub_mm_debug): New variable.
23085 [MM_DEBUG] (grub_debug_malloc): New function.
23086 [MM_DEBUG] (grub_debug_free): New function.
23087 [MM_DEBUG] (grub_debug_realloc): New function.
23088 [MM_DEBUG] (grub_debug_memalign): New function.
23089
23090 * kern/misc.c (grub_abort): Print a newline to distinguish
23091 the message.
23092
23093 * kern/main.c (grub_main): Call grub_machine_set_prefix and
23094 grub_set_root_dev after loading modules. This is necessary when
23095 setting a prefix depends on modules.
23096
23097 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
23098 (grub_efi_print_device_path): ... this.
23099 (grub_efi_get_filename): New prototype.
23100 (grub_efi_set_prefix): Likewise.
23101
23102 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
23103 and grub/disk.h.
23104 (grub_efidisk_get_device_handle): New prototype.
23105 (grub_efidisk_get_device_name): Likewise.
23106
23107 * include/grub/mm.h: Include config.h.
23108 (MM_DEBUG): Removed.
23109 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
23110 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
23111 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
23112 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
23113 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
23114 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
23115 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
23116 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
23117 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
23118
23119 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
23120
23121 * disk/efi/efidisk.c: Include grub/partition.h.
23122 (iterate_child_devices): New function.
23123 (add_device): First, compare only last device path nodes, so that
23124 devices are sorted by the types.
23125 (grub_efidisk_get_device_handle): New function.
23126 (grub_efidisk_get_device_name): Likewise.
23127
23128 * configure.ac (--enable-mm-debug): New option to enable the
23129 memory manager debugging feature. This makes the binary much
23130 bigger, so is disabled by default.
23131
23132 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
23133
23134 Use grub_abort instead of grub_stop, and grub_exit must be
23135 define in each architecture now. Also, this change adds support
23136 for EFI disks.
23137
23138 * util/i386/pc/grub-probefs.c: Include grub/term.h.
23139 (grub_getkey): New function.
23140 (grub_term_get_current): Likewise.
23141
23142 * util/i386/pc/grub-setup.c: Include grub/term.h.
23143 (grub_getkey): New function.
23144 (grub_term_get_current): Likewise.
23145
23146 * util/misc.c (grub_stop): Renamed to ...
23147 (grub_exit): ... this.
23148
23149 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
23150 (grub_exit): ... this.
23151 (grub_machine_init): Use grub_abort instead of abort.
23152 (grub_stop): Removed.
23153
23154 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
23155 abort.
23156
23157 * kern/i386/pc/startup.S (grub_exit): New function.
23158 (cold_reboot): New label.
23159
23160 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
23161 (grub_efi_init): Call grub_efidisk_init.
23162 (grub_efi_fini): Call grub_efidisk_fini.
23163
23164 * kern/efi/efi.c: Include grub/mm.h.
23165 (grub_efi_console_control_guid): Renamed to ...
23166 (console_control_guid): ... this.
23167 (grub_efi_loaded_image_guid): Renamed to ...
23168 (loaded_image_guid): ... this.
23169 (grub_efi_locate_handle): New function.
23170 (grub_efi_open_protocol): Likewise.
23171 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
23172 GRUB_EFI_CONSOLE_CONTROL_GUID.
23173 (grub_efi_exit): Removed.
23174 (grub_stop): Likewise.
23175 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
23176 (grub_exit): New function.
23177 (grub_print_device_path): Likewise.
23178
23179 * kern/rescue.c (grub_rescue_cmd_exit): New function.
23180 (grub_enter_rescue_mode): Register "exit".
23181
23182 * kern/misc.c (grub_real_dprintf): A cosmetic change.
23183 (grub_abort): New function.
23184
23185 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
23186
23187 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
23188
23189 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
23190
23191 * include/grub/efi/efi.h (grub_efi_exit): Removed.
23192 (grub_print_device_path): New prototype.
23193 (grub_efi_locate_handle): Likewise.
23194 (grub_efi_open_protocol): Likewise.
23195
23196 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
23197 * disk/efi/efidisk.c: Likewise.
23198
23199 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
23200
23201 * include/grub/efi/console_control.h
23202 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
23203
23204 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
23205 last 8 bytes as an array.
23206 (GRUB_EFI_DISK_IO_GUID): New macro.
23207 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
23208 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
23209 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
23210 grub_uint8_t.
23211 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
23212 (struct grub_efi_device_path): Rename the member "sub_type" to
23213 "subtype".
23214 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
23215 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
23216 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
23217 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
23218 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
23219 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
23220 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
23221 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
23222 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
23223 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
23224 (struct grub_efi_pci_device_path): New structure.
23225 (grub_efi_pci_device_path_t): New type.
23226 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
23227 (struct grub_efi_pccard_device_path): New structure.
23228 (grub_efi_pccard_device_path_t): New type.
23229 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
23230 (struct grub_efi_memory_mapped_device_path): New structure.
23231 (grub_efi_memory_mapped_device_path_t): New type.
23232 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
23233 (struct grub_efi_vendor_device_path): New structure.
23234 (grub_efi_vendor_device_path_t): New type.
23235 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
23236 (struct grub_efi_controller_device_path): New structure.
23237 (grub_efi_controller_device_path_t): New type.
23238 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
23239 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
23240 (struct grub_efi_acpi_device_path): New structure.
23241 (grub_efi_acpi_device_path_t): New type.
23242 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
23243 (struct grub_efi_expanded_acpi_device_path): New structure.
23244 (grub_efi_expanded_acpi_device_path_t): New type.
23245 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
23246 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
23247 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
23248 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
23249 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
23250 (struct grub_efi_atapi_device_path): New structure.
23251 (grub_efi_atapi_device_path_t): New type.
23252 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
23253 (struct grub_efi_fibre_channel_device_path): New structure.
23254 (grub_efi_fibre_channel_device_path_t): New type.
23255 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
23256 (struct grub_efi_1394_device_path): New structure.
23257 (grub_efi_1394_device_path_t): New type.
23258 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
23259 (struct grub_efi_usb_device_path): New structure.
23260 (grub_efi_usb_device_path_t): New type.
23261 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
23262 (struct grub_efi_usb_class_device_path): New structure.
23263 (grub_efi_usb_class_device_path_t): New type.
23264 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
23265 (struct grub_efi_i2o_device_path): New structure.
23266 (grub_efi_i2o_device_path_t): New type.
23267 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
23268 (struct grub_efi_mac_address_device_path): New structure.
23269 (grub_efi_mac_address_device_path_t): New type.
23270 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
23271 (struct grub_efi_ipv4_device_path): New structure.
23272 (grub_efi_ipv4_device_path_t): New type.
23273 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
23274 (struct grub_efi_ipv6_device_path): New structure.
23275 (grub_efi_ipv6_device_path_t): New type.
23276 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
23277 (struct grub_efi_infiniband_device_path): New structure.
23278 (grub_efi_infiniband_device_path_t): New type.
23279 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
23280 (struct grub_efi_uart_device_path): New structure.
23281 (grub_efi_uart_device_path_t): New type.
23282 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
23283 (struct grub_efi_vendor_messaging_device_path): New structure.
23284 (grub_efi_vendor_messaging_device_path_t): New type.
23285 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
23286 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
23287 (struct grub_efi_hard_drive_device_path): New structure.
23288 (grub_efi_hard_drive_device_path_t): New type.
23289 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
23290 (struct grub_efi_cdrom_device_path): New structure.
23291 (grub_efi_cdrom_device_path_t): New type.
23292 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
23293 (struct grub_efi_vendor_media_device_path): New structure.
23294 (grub_efi_vendor_media_device_path_t): New type.
23295 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
23296 (struct grub_efi_file_path_device_path): New structure.
23297 (grub_efi_file_path_device_path_t): New type.
23298 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
23299 (struct grub_efi_protocol_device_path): New structure.
23300 (grub_efi_protocol_device_path_t): New type.
23301 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
23302 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
23303 (struct grub_efi_bios_device_path): New structure.
23304 (grub_efi_bios_device_path_t): New type.
23305 (struct grub_efi_disk_io): New structure.
23306 (grub_efi_disk_io_t): New type.
23307 (struct grub_efi_block_io_media): New structure.
23308 (grub_efi_block_io_media_t): New type.
23309 (struct grub_efi_block_io): New structure.
23310 (grub_efi_block_io_t): New type.
23311
23312 * include/grub/misc.h (grub_stop): Removed.
23313 (grub_exit): New prototype.
23314 (grub_abort): Likewise.
23315
23316 * include/grub/disk.h (enum grub_disk_dev_id): Added
23317 GRUB_DISK_DEVICE_EFIDISK_ID.
23318
23319 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
23320 disk/efi/efidisk.c.
23321 (kernel_syms.lst): Remove the target if an error occurs.
23322
23323 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
23324
23325 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
23326 as it was simply too buggy.
23327
23328 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
23329
23330 * kern/misc.c (grub_lltoa): New function.
23331 (grub_vsprintf): Added support for the long long suffix,
23332 i.e. "ll".
23333
23334 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
23335
23336 * Makefile.in (LDFLAGS): Add variable.
23337 (LD): Remove variable.
23338 * configure.ac: Add -m32 to LDFLAGS.
23339 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
23340 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
23341 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
23342 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
23343 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
23344 variables.
23345 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
23346 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
23347 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
23348
23349 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
23350
23351 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
23352 length for unknown glyph.
23353
23354 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
23355
23356 Add support for pre-loaded modules into the EFI port.
23357
23358 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
23359 completely. Accept one more argument DIR. The caller has changed.
23360
23361 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
23362
23363 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
23364 (grub_efi_loaded_image_guid): New variable.
23365 (grub_efi_get_loaded_image): New function.
23366 (grub_arch_modules_addr): Likewise.
23367
23368 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
23369 prototype.
23370
23371 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
23372 (struct grub_efi_loaded_image): New structure.
23373 (grub_efi_loaded_image_t): New type.
23374
23375 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
23376
23377 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
23378 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
23379 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
23380
23381 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
23382
23383 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
23384
23385 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
23386
23387 * DISTLIST: Added include/grub/efi/console.h,
23388 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
23389 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
23390
23391 * include/grub/efi/console.h: New file.
23392 * include/grub/efi/time.h: Likewise.
23393 * include/grub/i386/efi/kernel.h: Likewise.
23394 * kern/efi/init.c: Likewise.
23395 * kern/efi/mm.c: Likewise.
23396 * term/efi/console.c: Likewise.
23397
23398 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
23399 (grub_stop): Removed.
23400 (grub_get_rtc): Likewise.
23401 (grub_machine_init): Simply call grub_efi_init.
23402 (grub_machine_fini): Call grub_efi_fini.
23403
23404 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
23405 (grub_efi_output_string): Removed.
23406 (grub_efi_stall): New function.
23407 (grub_stop): Likewise.
23408 (grub_get_rtc): Likewise.
23409
23410 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
23411 (grub_efi_stall): New prototype.
23412 (grub_efi_allocate_pages): Likewise.
23413 (grub_efi_free_pages): Likewise.
23414 (grub_efi_get_memory_map): Likewise.
23415 (grub_efi_mm_init): Likewise.
23416 (grub_efi_mm_fini): Likewise.
23417 (grub_efi_init): Likewise.
23418 (grub_efi_fini): Likewise.
23419
23420 * include/grub/i386/efi/time.h: Do not include
23421 grub/symbol.h. Include grub/efi/time.h.
23422 (GRUB_TICKS_PER_SECOND): Removed.
23423 (grub_get_rtc): Likewise.
23424
23425 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
23426 Added padding. The EFI spec is buggy.
23427 (GRUB_EFI_BLACK): New macro.
23428 (GRUB_EFI_BLUE): Likewise.
23429 (GRUB_EFI_GREEN): Likewise.
23430 (GRUB_EFI_CYAN): Likewise.
23431 (GRUB_EFI_RED): Likewise.
23432 (GRUB_EFI_MAGENTA): Likewise.
23433 (GRUB_EFI_BROWN): Likewise.
23434 (GRUB_EFI_LIGHTGRAY): Likewise.
23435 (GRUB_EFI_BRIGHT): Likewise.
23436 (GRUB_EFI_DARKGRAY): Likewise.
23437 (GRUB_EFI_LIGHTBLUE): Likewise.
23438 (GRUB_EFI_LIGHTGREEN): Likewise.
23439 (GRUB_EFI_LIGHTCYAN): Likewise.
23440 (GRUB_EFI_LIGHTRED): Likewise.
23441 (GRUB_EFI_LIGHTMAGENTA): Likewise.
23442 (GRUB_EFI_YELLOW): Likewise.
23443 (GRUB_EFI_WHITE): Likewise.
23444 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
23445 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
23446 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
23447 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
23448 (GRUB_EFI_BACKGROUND_RED): Likewise.
23449 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
23450 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
23451 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
23452 (GRUB_EFI_TEXT_ATTR): Likewise.
23453
23454 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
23455 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
23456 (kernel_mod_HEADERS): Added efi/time.h.
23457
23458 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
23459
23460 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
23461 include/grub/efi/api.h, include/grub/efi/console_control.h,
23462 include/grub/efi/efi.h, include/grub/efi/pe32.h,
23463 include/grub/i386/efi/time.h, kern/efi/efi.c,
23464 kern/i386/efi/init.c, kern/i386/efi/startup.S,
23465 and util/i386/efi/grub-mkimage.c.
23466
23467 * Makefile.in (RMKFILES): Added i386-efi.rmk.
23468
23469 * genmk.rb (PModule#rule): Do not export symbols if
23470 #{prefix}_EXPORTS is set to "no".
23471
23472 * conf/i386-efi.mk: New file.
23473 * conf/i386-efi.rmk: Likewise.
23474 * include/grub/efi/api.h: Likewise.
23475 * include/grub/efi/console_control.h: Likewise.
23476 * include/grub/efi/efi.h: Likewise.
23477 * include/grub/efi/pe32.h: Likewise.
23478 * include/grub/i386/efi/time.h: Likewise.
23479 * kern/efi/efi.c: Likewise.
23480 * kern/i386/efi/init.c: Likewise.
23481 * kern/i386/efi/startup.S: Likewise.
23482 * util/i386/efi/grub-mkimage.c: Likewise.
23483
23484 2006-04-17 Marco Gerards <marco@gnu.org>
23485
23486 * include/grub/script.h: Include <grub/parser.h> and
23487 "grub_script.tab.h".
23488 (struct grub_lexer_param): New struct.
23489 (struct grub_parser_param): Likewise.
23490 (grub_script_create_arglist): Pass the state in an argument.
23491 (grub_script_add_arglist): Likewise.
23492 (grub_script_create_cmdline): Likewise.
23493 (grub_script_create_cmdblock): Likewise.
23494 (grub_script_create_cmdif): Likewise.
23495 (grub_script_create_cmdmenu): Likewise.
23496 (grub_script_add_cmd): Likewise.
23497 (grub_script_arg_add): Likewise.
23498 (grub_script_lexer_ref): Likewise.
23499 (grub_script_lexer_deref): Likewise.
23500 (grub_script_lexer_record_start): Likewise.
23501 (grub_script_lexer_record_stop): Likewise.
23502 (grub_script_mem_record): Likewise.
23503 (grub_script_mem_record_stop): Likewise.
23504 (grub_script_malloc): Likewise.
23505 (grub_script_yylex): Likewise.
23506 (grub_script_yyparse): Likewise.
23507 (grub_script_yyerror): Likewise.
23508 (grub_script_yylex): Likewise.
23509 (grub_script_lexer_init): Return the state.
23510
23511 * normal/lexer.c (grub_script_lexer_state): Removed variable.
23512 (grub_script_lexer_done): Likewise.
23513 (grub_script_lexer_getline): Likewise.
23514 (grub_script_lexer_refs): Likewise.
23515 (script): Likewise.
23516 (newscript): Likewise.
23517 (record): Likewise.
23518 (recording): Likewise.
23519 (recordpos): Likewise.
23520 (recordlen): Likewise.
23521 (grub_script_lexer_init): Return the state instead of setting
23522 global variables.
23523 (grub_script_lexer_ref): Use the newly added argument for state
23524 instead of globals.
23525 (grub_script_lexer_deref): Likewise.
23526 (grub_script_lexer_record_start): Likewise.
23527 (grub_script_lexer_record_stop): Likewise.
23528 (recordchar): Likewise.
23529 (nextchar): Likewise.
23530 (grub_script_yylex2): Likewise.
23531 (grub_script_yylex): Likewise.
23532 (grub_script_yyerror): Likewise.
23533
23534 * normal/parser.y (func_mem): Removed variable.
23535 (menu_entry): Likewise.
23536 (err): Likewise.
23537 (%lex-param): New parser option.
23538 (%parse-param): Likewise.
23539 (script): Always return the AST.
23540 (argument): Pass the state around.
23541 (arguments): Likewise.
23542 (grubcmd): Likewise.
23543 (commands): Likewise.
23544 (function): Likewise.
23545 (menuentry): Likewise.
23546 (if_statement): Likewise.
23547 (if): Likewise.
23548
23549 * normal/script.c (grub_script_memused): Removed variable.
23550 (grub_script_parsed): Likewise.
23551 (grub_script_malloc): Added a state argument. Use that instead of
23552 global variables.
23553 (grub_script_mem_record): Likewise.
23554 (grub_script_mem_record_stop): Likewise.
23555 (grub_script_arg_add): Likewise.
23556 (grub_script_add_arglist): Likewise.
23557 (grub_script_create_cmdline): Likewise.
23558 (grub_script_create_cmdif): Likewise.
23559 (grub_script_create_cmdmenu): Likewise.
23560 (grub_script_add_cmd): Likewise.
23561 (grub_script_parse): Setup the state before calling the parser.
23562
23563 2006-04-16 Marco Gerards <marco@gnu.org>
23564
23565 * normal/command.c (grub_command_init): Remove the title command.
23566
23567 * normal/lexer.c (grub_script_yylex): Renamed from this...
23568 (grub_script_yylex2): ... to this.
23569 (grub_script_yylex): New function. Temporary
23570 introduced to filter some tokens.
23571 (grub_script_yyerror): Print a newline.
23572
23573 * normal/main.c (read_config_file): Output information about the
23574 lines that contain errors. Wait for a key after all lines have
23575 been processed. Don't return an empty menu.
23576
23577 * normal/parser.y (func_mem): Don't initialize.
23578 (menu_entry): Likewise.
23579 (err): New variable.
23580 (script): Don't return anything when an error was encountered.
23581 (ws, returns): Removed rules.
23582 (argument): Disabled concatenated variable support.
23583 (arguments): Remove explicit separators.
23584 (grubcmd): Likewise.
23585 (function): Likewise.
23586 (menuentry): Likewise.
23587 (if): Likewise.
23588 (commands): Likewise. Add error handling.
23589
23590 * normal/script.c (grub_script_create_cmdline): If
23591 `grub_script_parsed' is 0, assume the parser encountered an error.
23592
23593 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
23594
23595 * configure.ac: Add support for EFI. Fix the typo
23596 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
23597
23598 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
23599
23600 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
23601 foreign multibyte characters should be shown correctly.
23602
23603 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
23604
23605 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
23606 calculation.
23607 (read_config_file): Made it to close file before returning.
23608
23609 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
23610
23611 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
23612 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
23613 video/i386/pc/vbefill.c.
23614
23615 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
23616 video/i386/pc/vbefill.c.
23617
23618 * include/grub/video.h (grub_video_blit_format): New enum.
23619 (grub_video_mode_info): Added new member blit_format.
23620 (grub_video_get_blit_format): New function prototype.
23621
23622 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
23623 function prototype.
23624 (grub_video_vbe_map_rgb): Likewise.
23625 (grub_video_vbe_unmap_color): Likewise.
23626
23627 * include/grub/i386/pc/vbeblit.h: New file.
23628
23629 * include/grub/i386/pc/vbefill.h: New file.
23630
23631 * video/video.c (grub_video_get_blit_format): New function.
23632 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
23633 (grub_video_vbe_map_rgb): Likewise.
23634 (grub_video_vbe_unmap_color): Likewise.
23635
23636 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
23637 optimized fills.
23638 (grub_video_vbe_blit_render_target): Changed to use more optimized
23639 blits.
23640 (grub_video_vbe_setup): Added detection for optimized settings.
23641 (grub_video_vbe_create_render_target): Likewise.
23642
23643 * video/i386/pc/vbeblit.c: New file.
23644
23645 * video/i386/pc/vbefill.c: New file.
23646
23647 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
23648
23649 * font/manager.c (grub_font_get_glyph): Removed font fixup from
23650 here...
23651
23652 * util/unifont2pff.rb: ... and moved it to here. Improved argument
23653 parsing to support both hex and dec ranges. If filename was missing
23654 show usage information.
23655
23656 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
23657
23658 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
23659 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
23660
23661 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
23662 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
23663 (video_mod_SOURCES): Added.
23664 (video_mod_CFLAGS): Likewise.
23665 (video_mod_LDFLAGS): Likewise.
23666 (gfxterm_mod_SOURCES): Likewise.
23667 (gfxterm_mod_CFLAGS): Likewise.
23668 (gfxterm_mod_LDFLAGS): Likewise.
23669 (videotest_mod_SOURCES): Likewise.
23670 (videotest_mod_CFLAGS): Likewise.
23671 (videotest_mod_LDFLAGS): Likewise.
23672 (vesafb_mod_SOURCES): Removed.
23673 (vesafb_mod_CFLAGS): Likewise.
23674 (vesafb_mod_LDFLAGS): Likewise.
23675 (vga_mod_SOURCES): Likewise.
23676 (vga_mod_CFLAGS): Likewise.
23677 (vga_mod_LDFLAGS): Likewise.
23678
23679 * commands/videotest.c: New file.
23680
23681 * font/manager.c (fill_with_default_glyph): Modified to use
23682 grub_font_glyph.
23683 (grub_font_get_glyph): Likewise.
23684 (fontmanager): Renamed from this...
23685 (font_manager): ... to this.
23686
23687 * include/grub/font.h (grub_font_glyph): Added new structure.
23688 (grub_font_get_glyph): Modified to use grub_font_glyph.
23689
23690 * include/grub/misc.h (grub_abs): Added as inline function.
23691
23692 * include/grub/video.h: New file.
23693
23694 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
23695 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
23696 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
23697 (grub_vbe_get_controller_info): Renamed from this...
23698 (grub_vbe_bios_get_controller_info): ... to this.
23699 (grub_vbe_get_mode_info): Renamed from this...
23700 (grub_vbe_bios_get_mode_info): ... to this.
23701 (grub_vbe_set_mode): Renamed from this...
23702 (grub_vbe_bios_set_mode): ... to this.
23703 (grub_vbe_get_mode): Renamed from this...
23704 (grub_vbe_bios_get_mode): ... to this.
23705 (grub_vbe_set_memory_window): Renamed from this...
23706 (grub_vbe_bios_set_memory_window): ... to this.
23707 (grub_vbe_get_memory_window): Renamed from this...
23708 (grub_vbe_bios_get_memory_window): ... to this.
23709 (grub_vbe_set_scanline_length): Renamed from this...
23710 (grub_vbe_set_scanline_length): ... to this.
23711 (grub_vbe_get_scanline_length): Renamed from this...
23712 (grub_vbe_bios_get_scanline_length): ... to this.
23713 (grub_vbe_set_display_start): Renamed from this...
23714 (grub_vbe_bios_set_display_start): ... to this.
23715 (grub_vbe_get_display_start): Renamed from this...
23716 (grub_vbe_bios_get_display_start): ... to this.
23717 (grub_vbe_set_palette_data): Renamed from this...
23718 (grub_vbe_bios_set_palette_data): ... to this.
23719 (grub_vbe_set_pixel_rgb): Removed.
23720 (grub_vbe_set_pixel_index): Likewise.
23721
23722 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
23723 from this...
23724 (grub_vbe_bios_get_controller_info): ... to this.
23725 (grub_vbe_get_mode_info): Renamed from this...
23726 (grub_vbe_bios_get_mode_info): ... to this.
23727 (grub_vbe_set_mode): Renamed from this...
23728 (grub_vbe_bios_set_mode): ... to this.
23729 (grub_vbe_get_mode): Renamed from this...
23730 (grub_vbe_bios_get_mode): ... to this.
23731 (grub_vbe_set_memory_window): Renamed from this...
23732 (grub_vbe_bios_set_memory_window): ... to this.
23733 (grub_vbe_get_memory_window): Renamed from this...
23734 (grub_vbe_bios_get_memory_window): ... to this.
23735 (grub_vbe_set_scanline_length): Renamed from this...
23736 (grub_vbe_set_scanline_length): ... to this.
23737 (grub_vbe_get_scanline_length): Renamed from this...
23738 (grub_vbe_bios_get_scanline_length): ... to this.
23739 (grub_vbe_set_display_start): Renamed from this...
23740 (grub_vbe_bios_set_display_start): ... to this.
23741 (grub_vbe_get_display_start): Renamed from this...
23742 (grub_vbe_bios_get_display_start): ... to this.
23743 (grub_vbe_set_palette_data): Renamed from this...
23744 (grub_vbe_bios_set_palette_data): ... to this.
23745 (grub_vbe_bios_get_controller_info): Fixed problem with registers
23746 getting corrupted after calling it. Added more pushes and pops.
23747 (grub_vbe_bios_set_mode): Likewise.
23748 (grub_vbe_bios_get_mode): Likewise.
23749 (grub_vbe_bios_get_memory_window): Likewise.
23750 (grub_vbe_bios_set_scanline_length): Likewise.
23751 (grub_vbe_bios_get_scanline_length): Likewise.
23752 (grub_vbe_bios_get_display_start): Likewise.
23753 (grub_vbe_bios_set_palette_data): Likewise.
23754
23755 * normal/cmdline.c (cl_set_pos): Refresh the screen.
23756 (cl_insert): Likewise.
23757 (cl_delete): Likewise.
23758
23759 * term/gfxterm.c: New file.
23760
23761 * term/i386/pc/vesafb.c: Removed file.
23762
23763 * video/video.c: New file.
23764
23765 * video/i386/pc/vbe.c (real2pm): Added new function.
23766 (grub_video_vbe_draw_pixel): Likewise.
23767 (grub_video_vbe_get_video_ptr): Likewise.
23768 (grub_video_vbe_get_pixel): Likewise
23769 (grub_video_vbe_init): Likewise.
23770 (grub_video_vbe_fini): Likewise.
23771 (grub_video_vbe_setup): Likewise.
23772 (grub_video_vbe_get_info): Likewise.
23773 (grub_video_vbe_set_palette): Likewise.
23774 (grub_video_vbe_get_palette): Likewise.
23775 (grub_video_vbe_set_viewport): Likewise.
23776 (grub_video_vbe_get_viewport): Likewise.
23777 (grub_video_vbe_map_color): Likewise.
23778 (grub_video_vbe_map_rgb): Likewise.
23779 (grub_video_vbe_map_rgba): Likewise.
23780 (grub_video_vbe_unmap_color): Likewise.
23781 (grub_video_vbe_fill_rect): Likewise.
23782 (grub_video_vbe_blit_glyph): Likewise.
23783 (grub_video_vbe_blit_bitmap): Likewise.
23784 (grub_video_vbe_blit_render_target): Likewise.
23785 (grub_video_vbe_scroll): Likewise.
23786 (grub_video_vbe_swap_buffers): Likewise.
23787 (grub_video_vbe_create_render_target): Likewise.
23788 (grub_video_vbe_delete_render_target): Likewise.
23789 (grub_video_vbe_set_active_render_target): Likewise.
23790 (grub_vbe_set_pixel_rgb): Remove function.
23791 (grub_vbe_set_pixel_index): Likewise.
23792 (index_color_mode): Remove static variable.
23793 (active_mode): Likewise.
23794 (framebuffer): Likewise.
23795 (bytes_per_scan_line): Likewise.
23796 (grub_video_vbe_adapter): Added new static variable.
23797 (framebuffer): Likewise.
23798 (render_target): Likewise.
23799 (initial_mode): Likewise.
23800 (mode_in_use): Likewise.
23801 (mode_list): Likewise.
23802
23803 2006-03-10 Marco Gerards <marco@gnu.org>
23804
23805 * configure.ac (AC_INIT): Bumped to 1.93.
23806
23807 * DISTLIST: Added `include/grub/hfs.h'.
23808
23809 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
23810
23811 * boot/i386/pc/boot.S (general_error): Before looping, try INT
23812 18H, which might help the BIOS falling back to next boot media.
23813
23814 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
23815
23816 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
23817 Poe Chen <poe.poechen@gmail.com>.
23818
23819 2006-01-17 Marco Gerards <marco@gnu.org>
23820
23821 * include/grub/normal.h: Include <grub/script.h>.
23822 (grub_command_list): Removed struct.
23823 (grub_command_list_t): Removed type.
23824 (grub_menu_entry): Remove members `num' and `command_list'. Add
23825 members `commands' and `sourcecode'.
23826 * include/grub/script.h: Add inclusion guards.
23827 (grub_script_cmd_menuentry): New struct.
23828 (grub_script_execute_menuentry): New prototype.
23829 (grub_script_lexer_record_start): Likewise.
23830 (grub_script_lexer_record_stop): Likewise.
23831 * normal/execute.c (grub_script_execute_menuentry): New function.
23832 * normal/lexer.c (record, recording, recordpos, recordlen): New
23833 variables.
23834 (grub_script_lexer_record_start): New function.
23835 (grub_script_lexer_record_stop): Likewise.
23836 (recordchar): Likewise.
23837 (nextchar): Likewise.
23838 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
23839 2048 as the buffer size. Add the tokens `menuentry' and `@'.
23840 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
23841 (current_menu): New variable.
23842 (free_menu): Mainly rewritten.
23843 (grub_normal_menu_addentry): New function.
23844 (read_config_file): Rewritten.
23845 * normal/menu.c (run_menu_entry): Mainly rewritten.
23846 * normal/menu_entry.c (make_screen): Rewritten the code to insert
23847 the menu entry.
23848 (run): Mainly rewritten.
23849 * normal/parser.y (menu_entry): New variable.
23850 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
23851 (menuentry): New rule.
23852 (command): Add `menuentry'.
23853 (if_statement): Allow additional returns before `fi'.
23854 * normal/script.c (grub_script_create_cmdmenu): New function.
23855
23856 2006-01-03 Marco Gerards <marco@gnu.org>
23857
23858 * INSTALL: GNU Bison is required.
23859 * configure.ac: Rewritten the test to detect Bison.
23860 * Makefile.in (YACC): New variable. Reported by Xun Sun
23861 <xun.sun.cn@gmail.com>.
23862
23863 2006-01-03 Marco Gerards <marco@gnu.org>
23864
23865 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
23866 the HFS+ filesystem to filesystem blocks.
23867 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
23868 GCC warning is silenced.
23869
23870 2006-01-03 Marco Gerards <marco@gnu.org>
23871
23872 * partmap/apple.c (apple_partition_map_iterate): Convert the data
23873 read from disk from big endian to host byte order.
23874
23875 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
23876
23877 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
23878 documentation.
23879 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
23880 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
23881 embedded HFS+ filesystem.
23882 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
23883 (grub_hfs_sblock): Move from here...
23884 * include/grub/hfs.h: To here... New file.
23885 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
23886 documentation.
23887 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
23888 New macros.
23889 (grub_hfsplus_volheader): Change type of member `magic' to
23890 `grub_uint16_t'.
23891 (grub_hfsplus_data): Add new member `embedded_offset'.
23892 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
23893 returned block.
23894 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
23895 Calculate the offset.
23896
23897 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23898
23899 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
23900 Removed.
23901 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
23902
23903 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23904
23905 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
23906 ENV->NAME is NULL after allocating ENV->VALUE.
23907
23908 2005-12-25 Marco Gerards <marco@gnu.org>
23909
23910 * kern/env.c (grub_env_set): Rewritten the error handling code.
23911
23912 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23913
23914 * geninit.sh: Made more robust, and more portable.
23915
23916 2005-12-25 Marco Gerards <marco@gnu.org>
23917
23918 Add support for Apple HFS+ filesystems.
23919
23920 * fs/hfsplus.c: New file.
23921
23922 * DISTLIST: Added `fs/hfsplus.c'.
23923
23924 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
23925 (hfsplus_mod_SOURCES): New variable.
23926 (hfsplus_mod_CFLAGS): Likewise.
23927 (hfsplus_mod_LDFLAGS): Likewise.
23928 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
23929 (grub_setup_SOURCES): Likewise.
23930 (grub_mkdevicemap_SOURCES): Likewise.
23931 (grub_emu_SOURCES): Likewise.
23932 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23933
23934 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
23935
23936 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
23937
23938 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23939
23940 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
23941 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
23942 include/grub/parser.h, include/grub/script.h, kern/parser.c,
23943 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
23944 normal/lexer.c, normal/parser.y, normal/script.c, and
23945 partmap/gpt.c.
23946 Removed kern/sparc64/cache.c.
23947
23948 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
23949 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
23950 grub_emu_init.c.
23951
23952 * configure.ac (AC_INIT): Bumped to 1.92.
23953
23954 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
23955
23956 * kern/err.c (grub_error_push): Added new function to support error
23957 stacks.
23958 (grub_error_pop): Likewise.
23959 (grub_error_stack_items): New local variable to support error stacks.
23960 (grub_error_stack_pos): Likewise.
23961 (grub_error_stack_assert): Likewise.
23962 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
23963 stack depth.
23964 (grub_print_error): Added support to print errors from error stack.
23965
23966 * include/grub/err.h (grub_error_push): Added function prototype.
23967 (grub_error_pop): Likewise.
23968
23969 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
23970
23971 * configure.ac: Accept `powerpc64' as host_cpu.
23972 (amd64): Rename to `biarch32'.
23973
23974 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
23975 non-cacheline-aligned addresses.
23976
23977 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
23978 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
23979 if `size' is non-zero.
23980
23981 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
23982
23983 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
23984 and `cd' to make sure the filename is not prefixed with a
23985 directory name.
23986 (pkgdata_MODULES): Add `gpt.mod'.
23987 (gpt_mod_SOURCES): New variable.
23988 (gpt_mod_CFLAGS): Likewise.
23989 (gpt_mod_LDFLAGS): Likewise.
23990
23991 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
23992
23993 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
23994 New macro.
23995
23996 * partmap/gpt.c: New file.
23997
23998 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
23999 GPT partition map is detected.
24000
24001 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
24002
24003 * commands/i386/pc/play.c: New file.
24004 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
24005 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
24006 macros.
24007
24008 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
24009
24010 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
24011 ((unused))' to silence gcc warning.
24012
24013 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
24014
24015 * configure.ac: Correct `AC_PROG_YACC' test.
24016
24017 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24018
24019 * util/powerpc/ieee1275/grub-install.in: Run the mount point
24020 check before installing files.
24021
24022 2005-11-22 Mike Small <smallm@panix.com>
24023
24024 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
24025 number regex so multidigit numbers are recognized correctly.
24026
24027 2005-11-22 Mike Small <smallm@panix.com>
24028
24029 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
24030 debugging message before attempting to claim memory.
24031 (grub_rescue_cmd_initrd): Add a claim debugging message and try
24032 multiple addresses in case of failure.
24033
24034 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24035
24036 * term/tparm.c (get_space): Remove empty `if' statement.
24037
24038 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
24039
24040 * kern/parser.c (check_varstate): Rename `state' to 's'.
24041
24042 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24043
24044 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
24045 variable definitions to the beginning of each function. Sort stack
24046 variables by size.
24047 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
24048 `buf' argument to `char *'.
24049
24050 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24051
24052 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
24053 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
24054 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
24055 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
24056 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
24057 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
24058 configfile.mod, search.mod, gzio.mod and test.mod.
24059 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
24060 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
24061 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
24062 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
24063 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
24064 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
24065 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
24066 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
24067 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
24068 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
24069 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24070 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24071 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
24072 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
24073 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
24074 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
24075 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24076 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
24077 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
24078 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
24079 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
24080 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
24081 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
24082
24083 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
24084 `grep --include'.
24085 (pkgdata_MODULES): Add test.mod.
24086
24087 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24088
24089 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
24090 appending to variables with "+=".
24091 (PModule): Use full pathname to generate *.lst filenames.
24092
24093 * Makefile.in: Fixed list rules moved from genmk.rb.
24094 (.DELETE_ON_ERROR): New special target.
24095 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
24096
24097 * conf/i386-pc.rmk: Include conf/common.mk.
24098 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
24099 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
24100 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
24101 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
24102 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
24103 configfile.mod, search.mod, gzio.mod and test.mod.
24104 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
24105 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
24106 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
24107 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
24108 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
24109 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
24110 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
24111 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
24112 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
24113 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
24114 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24115 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24116 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
24117 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
24118 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
24119 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
24120 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24121 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
24122 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
24123 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
24124 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
24125 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
24126 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
24127 here...
24128 * conf/common.rmk: ... to here. New file.
24129
24130 * conf/common.mk: New file.
24131
24132 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
24133
24134 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
24135 (grub_script.tab.c): ... here.
24136
24137 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
24138 (grub_script.tab.c): ... here.
24139
24140 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
24141 (grub_script.tab.c): ... here.
24142
24143 * normal/command.c (grub_command_find): Fixed a memory leak of
24144 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
24145
24146 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24147
24148 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
24149 "@" which marks the start of a comment on ARM.
24150 (VARIABLE): Likewise.
24151
24152 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24153
24154 Add support for Linux/ADFS partition tables.
24155
24156 * partmap/acorn.c: New file.
24157
24158 * include/grub/acorn_filecore.h: Likewise.
24159
24160 * DISTLIST: Added `partmap/acorn.c' and
24161 `include/grub/acorn_filecore.h'.
24162
24163 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24164 `partmap/acorn.c'.
24165 (pkgdata_MODULES): Add `acorn.mod'.
24166 (acorn_mod_SOURCES): New variable.
24167 (acorn_mod_CFLAGS): Likewise.
24168
24169 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
24170 `partmap/acorn.c'.
24171 (pkgdata_MODULES): Add `acorn.mod'.
24172 (acorn_mod_SOURCES): New variable.
24173 (acorn_mod_CFLAGS): Likewise.
24174
24175 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
24176 (pkgdata_MODULES): Add `acorn.mod'.
24177 (acorn_mod_SOURCES): New variable.
24178 (acorn_mod_CFLAGS): Likewise.
24179 (acorn_mod_LDFLAGS): Likewise.
24180
24181 * include/types.h (grub_disk_addr_t): New typedef.
24182
24183 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
24184
24185 * geninit.sh: New file.
24186
24187 * geninitheader.sh: Likewise.
24188
24189 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
24190 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
24191 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
24192 * commands/configfile.c (grub_configfile_init)
24193 (grub_configfile_fini): Likewise.
24194 * commands/default.c (grub_default_init, grub_default_fini):
24195 Likewise.
24196 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
24197 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
24198 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
24199 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
24200 Likewise.
24201 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
24202 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
24203 Likewise.
24204 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
24205 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
24206 Likewise.
24207 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
24208 Likewise.
24209 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
24210 Likewise.
24211 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
24212 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
24213 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
24214 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
24215 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
24216 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
24217 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
24218 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
24219 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
24220 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
24221 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
24222 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
24223 * partmap/amiga.c (grub_amiga_partition_map_init)
24224 (grub_amiga_partition_map_fini): Likewise.
24225 * partmap/apple.c (grub_apple_partition_map_init)
24226 (grub_apple_partition_map_fini): Likewise.
24227 * partmap/pc.c (grub_pc_partition_map_init)
24228 (grub_pc_partition_map_fini): Likewise.
24229 * partmap/sun.c (grub_sun_partition_map_init,
24230 grub_sun_partition_map_fini): Likewise.
24231 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
24232 Likewise.
24233
24234 * util/grub-emu.c: Include <grub_modules_init.h>.
24235 (main): Don't initialize and de-initialize any modules directly,
24236 use `grub_init_all' and `grub_fini_all' instead.
24237
24238 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
24239 `grub_vesafb_mod_init'.
24240 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
24241 all users.
24242 * term/i386/pc/vga.c (grub_vga_init): Renamed to
24243 `grub_vga_mod_init'. Updated all users.
24244 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
24245
24246 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
24247 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
24248 rules.
24249
24250 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
24251 Generate a function to initialize the module in utilities.
24252 Updated all callers.
24253 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
24254 initialize the module in utilities. Updated all callers.
24255
24256 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
24257
24258 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
24259 escape sequence and a literal ^L to clear the screen.
24260
24261 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
24262 when returning from Open Firmware.
24263
24264 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
24265
24266 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
24267 (grub_ofconsole_height): Likewise.
24268 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
24269 manually insert a '\n'.
24270 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
24271 `grub_ofconsole_height'. Return early if these are already set.
24272
24273 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
24274
24275 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
24276 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
24277 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
24278 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
24279 and `normal/script.c'.
24280 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24281 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24282 (test_mod_SOURCES): New variable.
24283 (test_mod_CFLAGS): Likewise.
24284 (test_mod_LDFLAGS): Likewise.
24285 (pkgdata_MODULES): Add `test.mod'.
24286 (grub_script.tab.c): New rule.
24287 (grub_script.tab.h): Likewise.
24288
24289 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
24290
24291 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24292 `commands/test.c', `normal/execute.c', `normal/lexer.c',
24293 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24294 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24295 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24296 (test_mod_SOURCES): New variable.
24297 (test_mod_CFLAGS): Likewise.
24298 (pkgdata_MODULES): Add `test.mod'.
24299 (grub_script.tab.c): New rule.
24300 (grub_script.tab.h): Likewise.
24301
24302 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
24303
24304 Add initial scripting support.
24305
24306 * commands/test.c: New file.
24307 * include/grub/script.h: Likewise.
24308 * normal/execute.c: Likewise.
24309 * normal/function.c: Likewise.
24310 * normal/lexer.c: Likewise.
24311 * normal/parser.y: Likewise.
24312 * normal/script.c: Likewise.
24313
24314 * configure.ac: Add `AC_PROG_YACC' test.
24315
24316 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
24317 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
24318 `normal/function.c' and `normal/script.c'.
24319 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24320 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24321 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
24322 variables.
24323 (pkgdata_MODULES): Add `test.mod'.
24324 (grub_script.tab.c): New rule.
24325 (grub_script.tab.h): Likewise.
24326
24327 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
24328
24329 * include/grub/normal.h (grub_test_init): New prototype.
24330 (grub_test_fini): Likewise.
24331
24332 * normal/command.c: Include <grub/script.h>.
24333 (grub_command_execute): Rewritten.
24334
24335 * util/grub-emu.c (main): Call `grub_test_init' and
24336 `grub_test_fini'.
24337
24338 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24339
24340 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
24341 to 0.
24342 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
24343 there are no pending characters.
24344
24345 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24346
24347 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
24348 `grub_strndup' to drop device arguments. Replace unnecessary
24349 `grub_strndup' with `grub_strdup'.
24350
24351 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24352
24353 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
24354 `debug' environment variable has been set.
24355
24356 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
24357
24358 * Makefile.in (install-local): Use $(DATA).
24359 (uninstall): Likewise.
24360 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
24361 (sbin_UTILITIES): ... to here.
24362 (sbin_SCRIPTS): New variable.
24363 (grub_install_SOURCES): New variable.
24364 * util/powerpc/ieee1275/grub-install.in: New file.
24365 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
24366 variable.
24367 (add_segments): Call `grub_util_get_path'.
24368
24369 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
24370
24371 From Timothy Baldwin:
24372 * commands/ls.c (grub_ls_list_files): Close FILE with
24373 grub_file_close.
24374 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
24375
24376 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
24377
24378 * include/grub/parser.h: New file.
24379
24380 * kern/parser.c: Likewise.
24381
24382 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
24383 (grub_setup_SOURCES): Likewise.
24384 (grub_probefs_SOURCES): Likewise.
24385 (grub_emu_SOURCES): Likewise.
24386 (kernel_img_HEADERS): Add `parser.h'.
24387
24388 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
24389 (grub_emu_SOURCES): Add `kern/parser.c'.
24390 (grubof_SOURCES): Likewise.
24391
24392 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
24393 (grubof_SOURCES): Add `kern/parser.c'.
24394
24395 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
24396
24397 * kern/misc.c (grub_split_cmdline): Removed function.
24398
24399 * kern/rescue.c: Include <grub/parser.h>.
24400 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
24401 of `grub_split_cmdline'.
24402
24403 * normal/command.c: Include <grub/parser.h>.
24404 (grub_command_execute): Use `grub_parser_split_cmdline' instead
24405 of `grub_split_cmdline'.
24406
24407 * normal/completion.c: Include <grub/parser.h>.
24408 (cmdline_state): New variable.
24409 (iterate_dir): End the filename with a quote depending on the
24410 command line state.
24411 (get_state): new function.
24412 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
24413 split the arguments and determine the current argument. When the
24414 argument string is not quoted, escape all spaces.
24415
24416 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24417
24418 * normal/sparc64/setjmp.S: New file.
24419
24420 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24421
24422 * include/grub/sparc64/libgcc.h: New file.
24423 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
24424 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
24425 normal/sparc64/setjmp.c.
24426
24427 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24428
24429 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
24430 * kern/sparc64/cache.S: New file.
24431 * kern/sparc64/cache.c: Removed.
24432 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
24433 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
24434 -mtune=ultrasparc.
24435 (COMMON_LDFLAGS): Add -melf64_sparc.
24436 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
24437 (grubof_SOURCES): Use cache.S instead of cache.c.
24438 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
24439 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
24440 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
24441 commented though.
24442 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
24443 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
24444 (linux_mod_CFLAGS): Commented out.
24445 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
24446 out because module isn't built.
24447 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
24448 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
24449 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
24450 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
24451 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
24452 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
24453 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
24454 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
24455 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
24456 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
24457 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24458 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24459 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
24460 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
24461
24462 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
24463
24464 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
24465 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
24466 longer, because HFS should not be used on PC.
24467
24468 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24469
24470 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
24471 consistently within the loop.
24472
24473 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
24474
24475 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
24476 directory can not be read.
24477
24478 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24479
24480 * configure.ac (AC_INIT): Increase the version number to 1.91.
24481
24482 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
24483 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
24484 term/i386/pc/serial.c.
24485
24486 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24487
24488 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
24489 file size must be permitted.
24490
24491 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
24492 between %ah and %al.
24493
24494 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24495
24496 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
24497 grub_uint64_t.
24498 Call the hook with a NUL-terminated filename.
24499 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
24500 grub_cpu_to_be32.
24501
24502 * kern/term.c (cursor_state): New variable.
24503 (grub_term_set_current): Reset the cursor state on a new
24504 terminal.
24505 (grub_setcursor): Rewritten to use CURSOR_STATE.
24506 (grub_getcursor): New function.
24507
24508 * include/grub/term.h (grub_getcursor): New prototype.
24509
24510 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
24511 integers on ARM. Reported by Timothy Baldwin
24512 <T.E.Baldwin99@members.leeds.ac.uk>.
24513
24514 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
24515
24516 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
24517 allocated.
24518 (grub_sfs_dir): Likewise.
24519
24520 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
24521
24522 Add support for the SFS filesystem.
24523
24524 * fs/sfs.c: New file.
24525
24526 * DISTLIST: Added `fs/sfs.c'.
24527
24528 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
24529 (grub_probefs_SOURCES): Likewise.
24530 (grub_emu_SOURCES): Likewise.
24531 (pkgdata_MODULES): Add `sfs.mod'.
24532 (sfs_mod_SOURCES): New variable.
24533 (sfs_mod_CFLAGS): Likewise.
24534 (sfs_mod_LDFLAGS): Likewise.
24535
24536 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
24537 (pkgdata_MODULES): Add `sfs.mod'.
24538 (sfs_mod_SOURCES): New variable.
24539 (sfs_mod_CFLAGS): Likewise.
24540
24541 * util/grub-emu.c (main): Call `grub_sfs_init' and
24542 `grub_sfs_fini'.
24543
24544 * include/grub/fs.h (grub_sfs_init): New prototype.
24545 (grub_sfs_fini): Likewise.
24546
24547 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
24548
24549 Add support for the AFFS filesystem.
24550
24551 * fs/affs.c: New file.
24552
24553 * DISTLIST: Added `fs/affs.c'.
24554
24555 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
24556 (grub_probefs_SOURCES): Likewise.
24557 (grub_emu_SOURCES): Likewise.
24558 (pkgdata_MODULES): Add `affs.mod'.
24559 (affs_mod_SOURCES): New variable.
24560 (affs_mod_CFLAGS): Likewise.
24561 (affs_mod_LDFLAGS): Likewise.
24562
24563 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
24564 (pkgdata_MODULES): Add `affs.mod'.
24565 (affs_mod_SOURCES): New variable.
24566 (affs_mod_CFLAGS): Likewise.
24567
24568 * util/grub-emu.c (main): Call `grub_affs_init' and
24569 `grub_affs_fini'.
24570
24571 * include/grub/fs.h (grub_affs_init): New prototype.
24572 (grub_affs_fini): Likewise.
24573
24574 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
24575
24576 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
24577
24578 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
24579
24580 * configure.ac: Accept `x86_64' as host_cpu. In that case add
24581 `-m32' to CFLAGS.
24582
24583 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
24584 linking.
24585
24586 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
24587 (COMMON_LDFLAGS): New variable.
24588 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
24589 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
24590 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
24591 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
24592 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
24593 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
24594 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
24595 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
24596 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
24597 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
24598 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
24599 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
24600 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
24601 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
24602 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
24603 variables.
24604 (normal_mod_ASFLAGS): Add `-m32'.
24605
24606 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
24607 (grub_host_size_t, grub_host_ssize_t): New types.
24608 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
24609 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
24610 `GRUB_HOST_SIZEOF_VOID_P'.
24611
24612 * include/grub/kernel.h (struct grub_module_header): Type of
24613 member offset changed to `grub_host_off_t'. Type of member size
24614 changed to `grub_host_size_t'.
24615 (struct grub_module_info): Type of member offset changed to
24616 `grub_host_off_t'. Type of member size changed to
24617 `grub_host_size_t'.
24618
24619 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
24620
24621 Make GRUB's kernel compliant to Multiboot Specification.
24622
24623 * kern/i386/pc/startup.S (multiboot_header): New label.
24624 (multiboot_entry): Likewise.
24625 (multiboot_trampoline): Likewise.
24626
24627 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24628 Increased to 0x4A0.
24629
24630 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
24631 put parentheses after a question mark.
24632 [!GRUB_UTIL] (my_mod): New variable.
24633
24634 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
24635
24636 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
24637
24638 Adds support for the XFS filesystem. Btrees are not supported
24639 yet.
24640
24641 * fs/xfs.c: New file.
24642
24643 * DISTLIST: Added `fs/xfs.c'.
24644
24645 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
24646 (grub_probefs_SOURCES): Likewise.
24647 (grub_emu_SOURCES): Likewise.
24648 (pkgdata_MODULES): Add `xfs.mod'.
24649 (xfs_mod_SOURCES): New variable.
24650 (xfs_mod_CFLAGS): Likewise.
24651
24652 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
24653 (pkgdata_MODULES): Add `xfs.mod'.
24654 (xfs_mod_SOURCES): New variable.
24655 (xfs_mod_CFLAGS): Likewise.
24656
24657 * util/grub-emu.c (main): Call `grub_xfs_init' and
24658 `grub_xfs_fini'.
24659
24660 * include/grub/fs.h (grub_xfs_init): New prototype.
24661 (grub_xfs_fini): Likewise.
24662
24663
24664 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
24665
24666 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
24667 color modes, allow greater than 16 colors to be configured as
24668 a default palette.
24669
24670 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
24671
24672 * normal/completion.c (complete_arguments): Add the qualifier
24673 const into OPTIONS.
24674
24675 From Omniflux <omniflux+lists@omniflux.com>:
24676 * include/grub/terminfo.h: New file.
24677 * include/grub/tparm.h: Likewise.
24678 * include/grub/i386/pc/serial.h: Likewise.
24679 * term/terminfo.c: Likewise.
24680 * term/tparm.c: Likewise.
24681 * term/i386/pc/serial.c: Likewise.
24682 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
24683 serial.mod.
24684 (terminfo_mod_SOURCES): New variable.
24685 (terminfo_mod_CFLAGS): Likewise.
24686 (serial_mod_SOURCES): Likewise.
24687 (serial_mod_CFLAGS): Likewise.
24688
24689 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
24690
24691 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
24692 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
24693 and kern/powerpc/ieee1275/cmain.c, respectively.
24694
24695 * boot/powerpc/ieee1275/crt0.S: Moved to ...
24696 * kern/powerpc/ieee1275/crt0.S: ... here.
24697
24698 * boot/powerpc/ieee1275/cmain.c: Moved to ...
24699 * kern/powerpc/ieee1275/cmain.c: ... here.
24700
24701 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
24702 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
24703 instead of boot/powerpc/ieee1275/crt0.S and
24704 boot/powerpc/ieee1275/cmain.c, respectively.
24705
24706 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
24707 sectors. It was not used anyway.
24708
24709 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
24710
24711 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
24712 `unused parameter' warning.
24713
24714 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
24715
24716 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
24717 function.
24718 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
24719 getcharwidth.
24720
24721 2005-08-28 Marco Gerards <metgerards@student.han.nl>
24722
24723 * include/grub/normal.h (enum grub_completion_type): Added
24724 `GRUB_COMPLETION_TYPE_ARGUMENT'.
24725
24726 * normal/cmdline.c (print_completion): Handle
24727 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
24728 * normal/menu_entry.c (store_completion): Likewise.
24729
24730 * normal/completion.c (complete_arguments): New function.
24731 (grub_normal_do_completion): Call `complete_arguments' when the
24732 current words start with a dash.
24733
24734 2005-08-27 Marco Gerards <metgerards@student.han.nl>
24735
24736 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
24737 `gzio.mod' instead of `io.mod').
24738
24739 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
24740
24741 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
24742 (DISTDIRS): Added io and video.
24743 Rewrite the search routine to make an output consistently.
24744
24745 * DISTLIST: Added conf/sparc64-ieee1275.mk,
24746 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
24747 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
24748 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
24749 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
24750 util/powerpc/ieee1275/misc.c.
24751
24752 * include/grub/gzio.h: New file.
24753 * io/gzio.c: Likewise.
24754
24755 * kern/file.c (grub_file_close): Call grub_device_close only if
24756 FILE->DEVICE is not NULL.
24757
24758 * include/grub/mm.h [!NULL] (NULL): New macro.
24759
24760 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
24761
24762 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
24763 (pkgdata_MODULES): Added gzio.mod.
24764 (gzio_mod_SOURCES): New variable.
24765 (gzio_mod_CFLAGS): Likewise.
24766
24767 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
24768 (pkgdata_MODULES): Added gzio.mod.
24769 (gzio_mod_SOURCES): New variable.
24770 (gzio_mod_CFLAGS): Likewise.
24771
24772 * commands/cat.c: Include grub/gzio.h.
24773 (grub_cmd_cat): Use grub_gzfile_open instead of
24774 grub_file_open.
24775
24776 * commands/cmp.c: Include grub/gzio.h.
24777 (grub_cmd_cmp): Use grub_gzfile_open instead of
24778 grub_file_open.
24779
24780 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
24781 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
24782 grub_file_open.
24783 (grub_rescue_cmd_module): Likewise.
24784
24785 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
24786
24787 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
24788 kern/sparc64/ieee1275/init.c because it contains _start.
24789 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
24790
24791 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
24792
24793 * configure.ac: Add support for sparc64 host with ieee1275
24794 firmware.
24795 * configure: Generated from configure.ac.
24796 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
24797 instead of int.
24798 (grub_ofdisk_read): Likewise.
24799 (grub_ofdisk_open): Use %p to print pointer values, and cast the
24800 pointers as (void *) to remove a warning.
24801 (grub_ofdisk_close): Likewise.
24802 (grub_ofdisk_read): Likewise.
24803 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
24804 returns, so make it return void to remove a warning.
24805 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
24806 Corresponding prototype change.
24807 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
24808 values, and cast the pointers as (void *) to remove a warning.
24809 (grub_mm_dump): Likewise.
24810 * conf/sparc64-ieee1275.mk: New file.
24811 * conf/sparc64-ieee1275.rmk: Likewise.
24812 * include/grub/sparc64/setjmp.h: Likewise.
24813 * include/grub/sparc64/types.h: Likewise.
24814 * include/grub/sparc64/ieee1275/console.h: Likewise.
24815 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24816 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24817 * include/grub/sparc64/ieee1275/time.h: Likewise.
24818 * kern/sparc64/cache.c: Likewise.
24819 * kern/sparc64/dl.c: Likewise.
24820 * kern/sparc64/ieee1275/init.c: Likewise.
24821 * kern/sparc64/ieee1275/openfw.c: Likewise.
24822
24823 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
24824
24825 * util/console.c (grub_ncurses_putchar): If C is greater than
24826 0x7f, set C to a question mark.
24827 (grub_ncurses_getcharwidth): New function.
24828 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
24829 getcharwidth.
24830
24831 * normal/menu.c (print_entry): Made aware of Unicode. First,
24832 convert TITLE to UCS-4, and predict the cursor position by
24833 grub_getcharwidth.
24834
24835 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
24836 const to SRC.
24837 * kern/misc.c (grub_utf16_to_utf8): Likewise.
24838
24839 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24840
24841 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
24842 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24843 grub_strcat.
24844
24845 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
24846 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24847 grub_strcpy and grub_strlen. Take it into account that a space
24848 character is inserted as a delimiter.
24849
24850 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24851
24852 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
24853 invalid magic in the error.
24854
24855 * commands/search.c: New file.
24856
24857 * util/grub-emu.c (main): Call grub_search_init and
24858 grub_search_fini.
24859
24860 * kern/rescue.c (grub_rescue_print_disks): Removed.
24861 (grub_rescue_print_devices): New function.
24862 (grub_rescue_cmd_ls): Use grub_device_iterate with
24863 grub_rescue_print_devices instead of grub_disk_dev_iterate with
24864 grub_rescue_print_disks.
24865
24866 * kern/partition.c (grub_partition_iterate): Return the result of
24867 PARTMAP->ITERATE instead of GRUB_ERRNO.
24868
24869 * kern/device.c: Include grub/partition.h.
24870 (grub_device_iterate): New function.
24871
24872 * include/grub/partition.h (grub_partition_iterate): Return int
24873 instead of grub_err_t.
24874
24875 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
24876 prototype.
24877 [GRUB_UTIL] (grub_search_fini): Likewise.
24878
24879 * include/grub/device.h (grub_device_iterate): New prototype.
24880
24881 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24882 commands/search.c.
24883 (pkgdata_MODULES): Added search.mod.
24884 (search_mod_SOURCES): New variable.
24885 (search_mod_CFLAGS): Likewise.
24886
24887 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
24888 (pkgdata_MODULES): Added search.mod.
24889 (search_mod_SOURCES): New variable.
24890 (search_mod_CFLAGS): Likewise.
24891
24892 * commands/ls.c (grub_ls_list_disks): Renamed to ...
24893 (grub_ls_list_devices): ... this, and use grub_device_iterate.
24894 All callers changed.
24895
24896 * DISTLIST: Added commands/search.c.
24897
24898 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24899
24900 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
24901 conversion.
24902 (grub_getcharwidth): New function.
24903
24904 * kern/misc.c (grub_utf8_to_ucs4): New function.
24905
24906 * include/grub/term.h (struct grub_term): Added a new member
24907 "getcharwidth".
24908 (grub_getcharwidth): New prototype.
24909
24910 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
24911
24912 * term/i386/pc/console.c (map_char): New function. Segregated from
24913 grub_console_putchar.
24914 (grub_console_putchar): Use map_char.
24915 (grub_console_getcharwidth): New function.
24916 (grub_console_term): Specified grub_console_getcharwidth as
24917 getcharwidth.
24918
24919 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
24920 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
24921
24922 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
24923 GRUB_ERRNO.
24924 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
24925 on grub_strtoul completely.
24926 (write_char): Declare local variables in the beginning of the
24927 function.
24928 (grub_vesafb_getcharwidth): New function.
24929 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
24930 getcharwidth.
24931
24932 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
24933
24934 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
24935 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
24936 commands/i386/pc/vbetest.c.
24937
24938 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
24939 call grub_vbe_get_controller_info again, because the returned
24940 information is volatile.
24941 (grub_vbe_set_video_mode): Mostly rewritten.
24942 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
24943 grub_vbe_status_t correctly.
24944 (grub_vbe_get_video_mode_info): Likewise.
24945 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
24946 several if statements.
24947
24948 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
24949 * commands/i386/pc/vbeinfo.c: ... this.
24950
24951 * commands/i386/pc/vbe_test.c: Renamed to ...
24952 * commands/i386/pc/vbetest.c: ... this.
24953
24954 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
24955 ...
24956 (grub_cmd_vbeinfo): ... this. Save video modes before
24957 iterating. Skip a video mode, if it is not available, not enough
24958 information is given or it is monochrome. Show the memory
24959 model. Leave the interpretation of MODEVAR to grub_strtoul
24960 completely.
24961 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
24962 (GRUB_MOD_FINI): Likewise.
24963
24964 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
24965 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
24966 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
24967 duplicated grub_env_get. Leave the interpretation of MODEVAR to
24968 grub_strtoul completely.
24969 (real2pm): Removed.
24970 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
24971 (GRUB_MOD_FINI): Likewise.
24972
24973 * normal/misc.c: Include grub/mm.h.
24974
24975 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
24976 vbe_list_modes with vbetest.mod and vbeinfo.mod.
24977 (vbe_list_modes_mod_SOURCES): Removed.
24978 (vbe_list_modes_mod_CFLAGS): Likewise.
24979 (vbe_test_mod_SOURCES): Likewise.
24980 (vbe_test_mod_CFLAGS): Likewise.
24981 (vbeinfo_mod_SOURCES): New variable.
24982 (vbeinfo_mod_CFLAGS): Likewise.
24983 (vbetest_mod_SOURCES): Likewise.
24984 (vbetest_mod_CFLAGS): Likewise.
24985
24986 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
24987
24988 * normal/misc.c: New file.
24989
24990 * DISTLIST: Added normal/misc.c.
24991
24992 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
24993 DISK to HOOK. Call HOOK with DISK.
24994 * partmap/apple.c (apple_partition_map_iterate): Likewise.
24995 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24996 * partmap/sun.c (sun_partition_map_iterate): Likewise.
24997
24998 * normal/menu_entry.c (struct screen): Added a new member
24999 "completion_shown".
25000 (completion_buffer): New global variable.
25001 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
25002 (store_completion): New function.
25003 (complete): Likewise.
25004 (clear_completions): Likewise.
25005 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
25006 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
25007 a tab, call complete.
25008
25009 * normal/completion.c (disk_dev): Removed.
25010 (print_simple_completion): Likewise.
25011 (print_partition_completion): Likewise.
25012 (print_func): New global variable.
25013 (add_completion): Do not take the arguments WHAT or PRINT any
25014 longer. Added a new argument TYPE. Instead of printing directly,
25015 call PRINT_FUNC if not NULL.
25016 All callers changed.
25017 (complete_device): Use a local variable DEV instead of
25018 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
25019 (grub_normal_do_completion): Take a new argument HOOK. Do not
25020 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
25021 empty string, return NULL instead.
25022 All callers changed.
25023
25024 * normal/cmdline.c (print_completion): New function.
25025
25026 * kern/partition.c (grub_partition_iterate): Add an argument DISK
25027 to HOOK.
25028 All callers changed.
25029
25030 * kern/disk.c (grub_print_partinfo): Removed.
25031
25032 * include/grub/partition.h (struct grub_partition_map): Add a new
25033 argument DISK into HOOK of ITERATE.
25034 (grub_partition_iterate): Add a new argument DISK to HOOK.
25035
25036 * include/grub/normal.h (enum grub_completion_type): New enum.
25037 (grub_completion_type_t): New type.
25038 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
25039 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
25040 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
25041 (GRUB_COMPLETION_TYPE_FILE): Likewise.
25042 (grub_normal_do_completion): Added a new argument HOOK.
25043 (grub_normal_print_device_info): New prototype.
25044
25045 * include/grub/disk.h (grub_print_partinfo): Removed.
25046
25047 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
25048 (normal_mod_SOURCES): Likewise.
25049 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25050 (normal_mod_SOURCES): Likewise.
25051
25052 * commands/ls.c (grub_ls_list_disks): Use
25053 grub_normal_print_device_info instead of grub_print_partinfo. Free
25054 PNAME.
25055 (grub_ls_list_files): Use grub_normal_print_device_info instead of
25056 duplicating the code.
25057
25058 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
25059
25060 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
25061 follow GCS more precisely.
25062 * commands/i386/pc/vbe_test.c: Likewise.
25063 * include/grub/i386/pc/vbe.h: Likewise.
25064 * term/i386/pc/vesafb.c: Likewise.
25065 * video/i386/pc/vbe.c: Likewise.
25066
25067 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
25068
25069 * DISTLIST: Added term/i386/pc/vesafb.c
25070 DISTLIST: Added video/i386/pc/vbe.c
25071 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
25072 DISTLIST: Added commands/i386/pc/vbe_test.c.
25073 * commands/i386/pc/vbe_list_modes.c: New file.
25074 * commands/i386/pc/vbe_test.c: Likewise.
25075 * term/i386/pc/vesafb.c: Likewise.
25076 * video/i386/pc/vbe.c: Likewise.
25077 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
25078 (grub_vbe_probe) Added prototype.
25079 (grub_vbe_set_video_mode) Likewise.
25080 (grub_vbe_get_video_mode) Likewise.
25081 (grub_vbe_get_video_mode_info) Likewise.
25082 (grub_vbe_set_pixel_rgb) Likewise.
25083 (grub_vbe_set_pixel_index) Likewise.
25084 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
25085 (pkgdata_MODULES): Added vesafb.mod.
25086 (pkgdata_MODULES): Added vbe_list_modes.mod.
25087 (pkgdata_MODULES): Added vbe_test.mod.
25088 (vbe_mod_SOURCES): Added.
25089 (vbe_mod_CFLAGS): Likewise.
25090 (vesafb_mod_SOURCES): Likewise.
25091 (vesafb_mod_CFLAGS): Likewise.
25092 (vbe_list_modes_mod_SOURCES): Likewise.
25093 (vbe_list_modes_mod_CFLAGS): Likewise.
25094 (vbe_test_mod_SOURCES): Likewise.
25095 (vbe_test_mod_CFLAGS): Likewise.
25096
25097 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
25098
25099 * normal/command.c (grub_command_execute): If INTERACTIVE is
25100 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
25101 CMDLINE. Disable the pager if INTERACTIVE is true.
25102 All callers are changed.
25103
25104 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
25105 before reading a config file.
25106 * normal/main.c (read_config_file): Even if a command is not
25107 found, register it if it is within an entry.
25108
25109 * util/grub-emu.c: Include sys/types.h and unistd.h.
25110 (options): Added --hold.
25111 (struct arguments): Added a new member "hold".
25112 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
25113 missing.
25114 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
25115 cleared by a debugger, if it is not zero.
25116
25117 * include/grub/normal.h (grub_command_execute): Add an argument
25118 INTERACTIVE.
25119
25120 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
25121
25122 * DISTLIST: Added include/grub/i386/pc/vbe.h.
25123
25124 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
25125
25126 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
25127 program with another one, because the old one didn't detect a bug
25128 in gcc-3.4. Always use regparm 2, because the new test is still
25129 not enough for gcc-4.0. Someone must investigate a simple test
25130 case which detects a bug in gcc-4.0.
25131
25132 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
25133
25134 * DISTLIST: Added normal/completion.c.
25135
25136 * normal/completion.c: New file.
25137
25138 * term/i386/pc/console.c (grub_console_getwh): New function.
25139 (grub_console_term): Assign grub_console_getwh to getwh.
25140
25141 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
25142 function is defined in normal/completion.c as
25143 grub_normal_do_completion.
25144 (grub_cmdline_get): Use grub_normal_do_completion instead of
25145 grub_tab_complete.
25146
25147 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
25148 returns non-zero, otherwise return 0.
25149 (grub_partition_iterate): First, probe the partition map. Then,
25150 call ITERATE only for this partition map.
25151
25152 * kern/misc.c (grub_strncmp): Rewritten.
25153
25154 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
25155 returns non-zero. Otherwise return 0.
25156
25157 * include/grub/partition.h (grub_partition_map_iterate): Return
25158 int instead of void.
25159
25160 * include/grub/normal.h (grub_normal_do_completion): New prototype.
25161
25162 * include/grub/misc.h (grub_strncmp): Change the type of N to
25163 grub_size_t.
25164
25165 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
25166 of void.
25167
25168 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
25169 unsigned explicitly before comparing it with I.
25170
25171 * kern/main.c (grub_env_write_root): Add the attribute unused into
25172 VAR.
25173
25174 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25175 normal/completion.c.
25176 (normal_mod_SOURCES): Likewise.
25177 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25178 (normal_mod_SOURCES): Likewise.
25179
25180 * normal/command.c (grub_iterate_commands): If ITERATE returns
25181 non-zero, return one immediately.
25182
25183 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
25184
25185 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
25186 * kern/i386/pc/startup.S: Updated Global Descriptor table's
25187 descriptions.
25188 (grub_vbe_get_controller_info): New function.
25189 (grub_vbe_get_mode_info): Likewise.
25190 (grub_vbe_set_mode): Likewise.
25191 (grub_vbe_get_mode): Likewise.
25192 (grub_vbe_set_memory_window): Likewise.
25193 (grub_vbe_get_memory_window): Likewise.
25194 (grub_vbe_set_scanline_length): Likewise.
25195 (grub_vbe_get_scanline_length): Likewise.
25196 (grub_vbe_set_display_start): Likewise.
25197 (grub_vbe_get_display_start): Likewise.
25198 (grub_vbe_set_palette_data): Likewise.
25199 * include/grub/i386/pc/vbe.h: New file.
25200
25201 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25202
25203 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
25204 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
25205 * DISTLIST: Likewise.
25206 * kern/ieee1275/of.c: Moved to ...
25207 * kern/ieee1275/ieee1275.c: ... here.
25208
25209 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25210
25211 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
25212 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
25213 Pass 0 as `end' parameter to grub_strtoul().
25214
25215 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25216
25217 * include/grub/powerpc/ieee1275/console.h: Do not include
25218 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
25219 ifdef.
25220 (grub_console_cur_color): Remove i386-specific prototype.
25221 (grub_console_real_putchar): Likewise.
25222 (grub_console_checkkey): Likewise.
25223 (grub_console_getkey): Likewise.
25224 (grub_console_getxy): Likewise.
25225 (grub_console_gotoxy): Likewise.
25226 (grub_console_cls): Likewise.
25227 (grub_console_setcursor): Likewise.
25228 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
25229 Include <grub/machine/console.h>.
25230 * term/ieee1275/ofconsole.c: Likewise.
25231
25232 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
25233
25234 * Makefile.in (LIBLZO): New variable.
25235
25236 * configure.ac: Check for LZO version 2.
25237
25238 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
25239 lzo/lzo1x.h instead of lzo1x.h.
25240
25241 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
25242 of -llzo.
25243
25244 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
25245 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
25246
25247 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
25248 copying the data from PARTITION to P.
25249
25250 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25251
25252 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
25253 negative, unload the module.
25254
25255 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
25256 map is "pc_partition_map" but not "pc".
25257 (usage): Fix the description. The options are --boot-image and
25258 --core-image but not --boot-file or --core-file.
25259 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
25260 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
25261 DEFAULT_DIRECTORY.
25262
25263 * util/i386/pc/grub-install.in: Do not specify --boot-file or
25264 --core-file. Specify INSTALL_DEVICE as an argument.
25265
25266 * util/console.c: Include config.h.
25267 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
25268 [HAVE_NCURSES_H]: Include ncurses.h.
25269 [HAVE_CURSES_H]: Include curses.h.
25270 [!A_NORMAL] (A_NORMAL): Defined as zero.
25271 [!A_STANDOUT] (A_STANDOUT): Likewise.
25272
25273 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
25274 -lncurses.
25275 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
25276
25277 * configure.ac: Check for curses libraries and headers.
25278
25279 * Makefile.in (LIBCURSES): New variable.
25280
25281 * genmk.rb (Script::rule): Set the executable bits.
25282
25283 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
25284 name of the PC partition map is "pc_partition_map" but not "pc".
25285
25286 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25287
25288 * util/i386/pc/grub-install.in (grub_probefs): New variable.
25289 (modules): Likewise.
25290 (usage): Added descriptions for --modules and --grub-probefs.
25291 Handle --modules and --grub-probefs. Save the arguments in MODULES
25292 and GRUB_PROBEFS, respectively.
25293 Auto-detect a filesystem module against GRUBDIR. If the result is
25294 empty and modules are not specified explicitly, abort the
25295 installation. Add the result to MODULES.
25296
25297 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
25298 disk/powerpc/ieee1275/ofdisk.c,
25299 include/grub/powerpc/ieee1275/init.h and
25300 term/powerpc/ieee1275/ofconsole.c.
25301 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
25302 term/ieee1275/ofconsole.c.
25303
25304 * include/grub/powerpc/ieee1275/console.h: Resurrected.
25305
25306 * COPYING: Upgraded to the latest version. Only the address of the
25307 FSF office has changed.
25308
25309 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25310
25311 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
25312 kern/ieee1275.c with kern/ieee1275/of.c.
25313
25314 * kern/ieee1275.c: Moved to ...
25315 * kern/ieee1275/of.c: ... here.
25316
25317 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
25318
25319 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
25320 readability.
25321
25322 * config.guess: Updated to the latest version from gnulib.
25323 * config.sub: Likewise.
25324 * install.sh: Likewise.
25325 * mkinstalldirs: Likewise.
25326
25327 * include/grub/console.h: Removed. This file is arch-specific. Do
25328 not put this in include/grub.
25329
25330 * include/grub/i386/pc/console.h: Resurrected.
25331
25332 * util/console.c: Include grub/machine/console.h instead of
25333 grub/console.h.
25334 * util/grub-emu.c: Likewise.
25335
25336 2005-08-04 Marco Gerards <metgerards@student.han.nl>
25337
25338 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
25339 hardcoded value.
25340
25341 From Vincent Pelletier <subdino2004@yahoo.fr>
25342 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
25343 Redefined to use grub_getwh.
25344 (grub_term): New member named getwh.
25345 (grub_getwh): New prototype.
25346 * kern/term.c (grub_getwh): New function.
25347 * term/i386/pc/console.c (grub_console_getwh): New function.
25348 (grub_console_term): New member `getwh'.
25349 * term/i386/pc/vga.c (grub_vga_getwh): New function.
25350 (grub_vga_term): New member `getwh'.
25351 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
25352 grub_ssize_t.
25353 (grub_ofconsole_getw): New function.
25354 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
25355 (grub_ofconsole_term): New field named getwh and new initial
25356 value.
25357
25358 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
25359
25360 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
25361 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
25362 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
25363 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
25364 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
25365 of <grub/machine/ieee1275.h>.
25366 * commands/ieee1275/reboot.c: Likewise.
25367 * boot/powerpc/ieee1275/ieee1275.c: Move ...
25368 * kern/ieee1275.c: ... to here. All users updated. Change all
25369 parameter structs to use new type `grub_ieee1275_cell_t'.
25370 * term/powerpc/ieee1275/ofconsole.c: Move ...
25371 * term/ieee1275/ofconsole.c: ... to here. All users updated.
25372 * disk/powerpc/ieee1275/ofdisk.c: Move ...
25373 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
25374 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
25375 to return int.
25376 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
25377 Remove unused prototypes. All users updated.
25378 * include/grub/powerpc/ieee1275/console.h: Removed.
25379 * include/grub/powerpc/ieee1275/ieee1275.h: Define
25380 `grub_ieee1275_cell_t'.
25381 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
25382 Cast comparisons with -1 to the correct type.
25383 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
25384 type to match `grub_ieee1275_entry_fn'.
25385
25386 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
25387
25388 * DISTLIST: Added util/i386/pc/grub-probefs.c.
25389
25390 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
25391 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
25392 partmap/sun.c.
25393 (grub_probefs_SOURCES): New variable.
25394
25395 * util/i386/pc/grub-probefs.c: New file.
25396
25397 * util/i386/pc/grub-setup.c (main): Call
25398 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
25399 grub_hfs_init and grub_jfs_init to initialize the system. Call
25400 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
25401 grub_pc_partition_map_fini to finish the system.
25402
25403 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
25404
25405 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
25406 function.
25407 (grub_multiboot_load_elf32): Likewise.
25408 (grub_multiboot_is_elf64): Likewise.
25409 (grub_multiboot_load_elf64): Likewise.
25410 (grub_multiboot_load_elf): Likewise.
25411 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
25412 an ELF32 or ELF64 file.
25413 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
25414
25415 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
25416 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
25417 NULL before calling FS->LABEL.
25418 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
25419 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
25420 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
25421 before calling FS->LABEL.
25422
25423 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
25424
25425 * util/i386/pc/grub-install.in (datadir): New variable.
25426 (libdir): Removed.
25427 (pkgdatadir): New variable.
25428 (pkglibdir): Removed.
25429
25430 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
25431
25432 * DISTLIST: Added util/i386/pc/grub-install.in.
25433
25434 * util/i386/pc/grub-install.in: New file.
25435
25436 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
25437 (grub_install_SOURCES): Likewise.
25438
25439 * genmk.rb: Added support for scripts.
25440 (Script): New class.
25441 (scripts): New variable.
25442
25443 * Makefile.in (install-local): Install sbin_SCRIPTS by
25444 INSTALL_SCRIPT.
25445 (uninstall): Remove sbin_SCRIPTS.
25446
25447 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
25448 device, try to get a GRUB device by
25449 grub_util_biosdisk_get_grub_dev.
25450 Free DEST_DEV.
25451
25452 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
25453 description for --device-map.
25454
25455 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
25456
25457 Change the semantics of variable hooks. They now return strings
25458 instead of error values.
25459
25460 * util/i386/pc/grub-setup.c: Include grub/env.h.
25461 (setup): Use grub_device_set_root instead of grub_env_set.
25462
25463 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
25464 grub_env_get instead of grub_device_set_root and
25465 grub_device_get_root, respectively.
25466
25467 * kern/main.c (grub_env_write_root): New function.
25468 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
25469 grub_env_set instead of grub_device_set_root.
25470
25471 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
25472 many variables.
25473 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
25474 rather than calling ENV->WRITE_HOOK afterwards.
25475 (grub_env_get): Return the result of ENV->READ_HOOK rather than
25476 passing a pointer of a pointer.
25477 (grub_register_variable_hook): Change the types of "read_hook" and
25478 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
25479 respectively.
25480 Allocate the default empty string on the heap, because this string
25481 may be freed later.
25482
25483 * kern/device.c: Include grub/env.h.
25484 (grub_device_set_root): Removed.
25485 (grub_device_get_root): Likewise.
25486 (grub_device_open): Use grub_env_get instead of
25487 grub_device_get_root.
25488
25489 * include/grub/env.h (grub_env_read_hook_t): New type.
25490 (grub_env_write_hook_t): Likewise.
25491 (grub_env_var): Change the types of "read_hook" and "write_hook"
25492 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
25493 (grub_register_variable_hook): Likewise.
25494
25495 * include/grub/device.h (grub_device_set_root): Removed.
25496 (grub_device_set_root): Likewise.
25497
25498 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
25499 make sure that DIRNAME terminates with '/', so that
25500 grub_fat_find_dir will fail if PATH is not a directory.
25501
25502 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
25503 from DIRNAME.
25504 Use the qualifier auto for print_files and print_files_long.
25505 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
25506 as a regular file.
25507 Put a newline only if there is no error.
25508 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
25509 used.
25510
25511 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
25512
25513 * kern/partition.c (grub_partition_probe): Initialize PART to
25514 NULL. Otherwise, when no partition map is registered, this returns
25515 a garbage.
25516
25517 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
25518
25519 * partmap/apple.c (apple_partition_map_iterate): Check if POS
25520 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
25521 valid.
25522
25523 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
25524
25525 * commands/ls.c (grub_ls_list_disks): Print the filesystem
25526 information on each device, if it does not have partitions. Print
25527 "Device" instead of "Disk", because this function is not specific
25528 to disk devices.
25529
25530 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
25531 static to ensure that it is put on the memory rather than a
25532 register.
25533
25534 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
25535
25536 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
25537 (grub_cat_init): Likewise.
25538 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
25539 (options): Likewise.
25540 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
25541 (grub_configfile_init): Likewise.
25542 * font/manager.c (GRUB_MOD_INIT): Likewise.
25543 * commands/help.c (GRUB_MOD_INIT): Likewise.
25544 (grub_help_init): Likewise.
25545 * normal/command.c (grub_command_init): Likewise.
25546 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
25547 * disk/loopback.c (grub_loop_init): Likewise.
25548 (GRUB_MOD_INIT): Likewise.
25549 * commands/ls.c (grub_ls_init): Likewise.
25550 (GRUB_MOD_INIT): Likewise.
25551 (options): Likewise.
25552 * commands/boot.c (grub_boot_init): Likewise.
25553 (GRUB_MOD_INIT): Likewise.
25554 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
25555 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
25556 (GRUB_MOD_INIT): Likewise.
25557 * commands/cmp.c (grub_cmp_init): Likewise.
25558 (GRUB_MOD_INIT): Likewise.
25559
25560 * normal/arg.c: Use <> instead of "" to include header files.
25561 (SHORT_ARG_HELP): New macro.
25562 (SHORT_ARG_USAGE): Likewise.
25563 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
25564 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
25565 descriptions.
25566 (find_short): Check if C is 'h' or 'u' explicitly.
25567 (grub_arg_show_help): Use space characters instead of tabs. Treat
25568 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
25569 are shown with --help and --usage only if they are not used for
25570 the command itself.
25571 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
25572 'h' and 'u'.
25573
25574 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
25575 const into "longarg". Change the type of "shortarg" to int.
25576
25577 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
25578
25579 * boot/i386/pc/boot.S (boot_drive_check): New label.
25580
25581 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
25582 macro.
25583
25584 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
25585 which do not pass a boot drive correctly. Copied from GRUB Legacy.
25586
25587 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
25588
25589 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
25590 When turning off Gate A20, skip the check and return immediately,
25591 because this is not fatal usually.
25592
25593 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
25594
25595 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
25596 be 0x7C00 instead of 0x8000.
25597
25598 * boot/i386/pc/pxeboot.S: Rewritten.
25599
25600 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
25601 EXT_C.
25602 (gate_a20_check_state): Read a byte from 0x108000. Invert the
25603 result.
25604
25605 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
25606
25607 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
25608 robustness. This routine now supports a BIOS call and System
25609 Control Port A to modify the gate A20.
25610
25611 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25612 Increased to 0x440.
25613
25614 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
25615
25616 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
25617 device path and resulting ihandle.
25618 (grub_ofdisk_close): dprintf the ihandle being closed.
25619 (grub_ofdisk_read): dprintf function parameters.
25620 * kern/mm.c (grub_mm_init_region): Likewise.
25621 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
25622 (grub_linux_boot): dprintf the Linux entry point, initrd address and
25623 size, and boot arguments.
25624 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
25625 before loading into memory.
25626 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
25627 before loading into memory.
25628
25629 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
25630
25631 * kern/mm.c: Added much documentation.
25632 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
25633 8, set to 5 instead of 8.
25634
25635 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
25636
25637 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
25638
25639 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
25640 (grub_mkdevicemap_SOURCES): New variable.
25641
25642 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
25643 lib/device.c of GRUB Legacy.
25644
25645 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
25646
25647 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
25648 instead of PATH is NULL.
25649
25650 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
25651
25652 * commands/cmp.c (BUFFER_SIZE): New macro.
25653 (grub_cmd_cmp): Close the right file at the right time. Compare
25654 only data just read. Don't report files of different size as
25655 identical. Dynamically allocate buffers. Move variable
25656 declarations at the beginning of function.
25657
25658 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
25659
25660 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
25661 reverse.
25662
25663 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
25664
25665 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
25666 when backspace is pressed at beginning of line.
25667
25668 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
25669
25670 * DISTLIST: Added genfslist.sh.
25671
25672 * normal/main.c (fs_module_list): New variable.
25673 (autoload_fs_module): New function.
25674 (read_fs_list): Likewise.
25675 (grub_normal_execute): Call read_fs_list.
25676
25677 * kern/fs.c (grub_fs_autoload_hook): New variable.
25678 (grub_fs_probe): Added support for auto-loading.
25679
25680 * include/grub/normal.h (struct grub_fs_module_list): New struct.
25681 (grub_fs_module_list_t): New type.
25682
25683 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
25684 (grub_fs_autoload_hook): New prototype.
25685
25686 * genfslist.sh: New file.
25687
25688 * genmk.rb: Added a rule to generate a filesystem list.
25689
25690 2005-06-30 Marco Gerards <metgerards@student.han.nl>
25691
25692 * configure.ac: Fix the test for cross-compiling.
25693
25694 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
25695 define GRUB_UTIL anymore.
25696
25697 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
25698 so this function works on other systems than just big endian.
25699 (load_modules): Likewise.
25700 (add_segments): Likewise.
25701
25702 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
25703
25704 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
25705 contains `l' modifier, get a long from va_arg().
25706
25707 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
25708
25709 * kern/mm.c (grub_free): If the next free block which is being
25710 merged is the first free block, set the first block to the block
25711 being freed.
25712 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
25713
25714 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
25715
25716 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
25717 `grub_ieee1275_chosen'.
25718
25719 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
25720
25721 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
25722 (grub_ieee1275_chosen): New variable.
25723 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
25724 `chosen'.
25725 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
25726 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
25727 Rename first argument to `phandle' for consistency.
25728 (grub_ieee1275_get_property_length): Likewise.
25729 (grub_ieee1275_next_property): Likewise. Change type of first argument
25730 to grub_ieee1275_phandle_t.
25731 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
25732 Move export next to declaration.
25733 (grub_ieee1275_chosen): New variable.
25734 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
25735 Correct cosmetic typo.
25736 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
25737 `grub_ieee1275_chosen'.
25738 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
25739 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
25740 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
25741 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
25742 `grub_ieee1275_chosen'.
25743
25744 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
25745
25746 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
25747 /chosen/bootargs.
25748 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
25749 /chosen/bootargs as "variable=value" pairs.
25750
25751 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
25752
25753 * include/grub/misc.h (grub_dprintf): New macro.
25754 (grub_real_dprintf): New prototype.
25755 (grub_strword): Likewise.
25756 (grub_iswordseparator): Likewise.
25757 * kern/misc.c (grub_real_dprintf): New function.
25758 (grub_strword): Likewise.
25759 (grub_iswordseparator): Likewise.
25760
25761 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
25762
25763 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
25764 (roundup): Remove macro.
25765 (grub_ieee1275_flags): Make static.
25766 (grub_ieee1275_realmode): Remove.
25767 (grub_ieee1275_test_flag): New function.
25768 (grub_ieee1275_set_flag): Likewise.
25769 (find_options): Rename to `grub_ieee1275_find_options'; update
25770 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
25771 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
25772 (cmain): New prototype.
25773 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
25774 `grub_ieee1275_flags' directly.
25775 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
25776 machine/biosdisk.h.
25777 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
25778 Don't include grub/machine/init.h.
25779 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
25780 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
25781 Remove prototype.
25782 (grub_ieee1275_realmode): Likewise.
25783 (grub_ieee1275_flag): New enum.
25784 (grub_ieee1275_test_flag): New prototype.
25785 (grub_ieee1275_set_flag): New prototype.
25786 * include/grub/powerpc/ieee1275/init.h: Remove file.
25787 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
25788 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
25789 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
25790 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
25791 comment.
25792 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
25793 `grub_ieee1275_test_flag'.
25794 (grub_ieee1275_encode_devname): Likewise.
25795
25796 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
25797
25798 * include/grub/powerpc/ieee1275/ieee1275.h
25799 (grub_ieee1275_encode_devname): New prototype.
25800 (grub_ieee1275_get_filename): Likewise.
25801 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
25802 function.
25803 (grub_set_prefix): Likewise.
25804 (grub_machine_init): Call grub_set_prefix.
25805 * kern/powerpc/ieee1275/openfw.c: Fix typos.
25806 (grub_parse_type): New enum.
25807 (grub_ieee1275_get_devargs): New function.
25808 (grub_ieee1275_get_devname): Likewise.
25809 (grub_ieee1275_parse_args): Likewise.
25810 (grub_ieee1275_get_filename): Likewise.
25811 (grub_ieee1275_encode_devname): Likewise.
25812
25813 2005-03-30 Marco Gerards <metgerards@student.han.nl>
25814
25815 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
25816 `grub_loader_unset'.
25817
25818 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
25819
25820 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
25821 instead of grub_ieee1275_interpret.
25822 (grub_halt_init): New function.
25823 (grub_halt_fini): Likewise.
25824 (GRUB_MOD_INIT): Correct message grammar.
25825 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
25826 instead of grub_ieee1275_interpret.
25827 (grub_reboot_init): New function.
25828 (grub_reboot_fini): Likewise.
25829 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
25830 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
25831 util/i386/pc/misc.c with commands/ieee1275/halt.c,
25832 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
25833 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
25834 function.
25835 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
25836 Add prototype.
25837 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
25838 prototype.
25839 (grub_halt): Likewise.
25840 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
25841 (cmain): Remove __attribute__((unused)).
25842 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
25843 (grub_heap_len): Likewise.
25844 (grub_machine_fini): New function.
25845 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
25846 (grub_halt): Likewise.
25847 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
25848 function.
25849 * util/powerpc/ieee1275/misc.c: New file.
25850
25851 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
25852
25853 * DISTLIST: New file.
25854 * gendistlist.sh: Likewise.
25855
25856 * Makefile.in (COMMON_DISTFILES): Removed.
25857 (BOOT_DISTFILES): Likewise.
25858 (CONF_DISTFILES): Likewise.
25859 (DISK_DISTFILES): Likewise.
25860 (FS_DISTFILES): Likewise.
25861 (INCLUDE_DISTFILES): Likewise.
25862 (KERN_DISTFILES): Likewise.
25863 (LOADER_DISTFILES): Likewise.
25864 (TERM_DISTFILES): Likewise.
25865 (UTIL_DISTFILES): Likewise.
25866 (DISTFILES): Likewise.
25867 (uninstall): Uninstall files in $(pkgdata_DATA).
25868 (DISTLIST): New target.
25869 (distdir): Use the contents of the file DISTLIST to get a list of
25870 distributed files.
25871
25872 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
25873
25874 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
25875 descriptor. This is ported from GRUB Legacy.
25876
25877 * gencmdlist.sh: Added an extra semicolon to make it work with
25878 old sed versions. Reported by Robert Bihlmeyer
25879 <robbe@orcus.priv.at>.
25880
25881 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
25882
25883 Automatic loading of commands is supported.
25884
25885 * normal/main.c (read_command_list): New function.
25886 (grub_normal_execute): Call read_command_list.
25887
25888 * normal/command.c (grub_register_command): Return zero or CMD.
25889 Allocate CMD->NAME from the heap.
25890 Initialize CMD->MODULE_NAME to zero.
25891 Find the same name as well. If the same command is found and it is
25892 a dummy command, overwrite members. If it is not a dummy command,
25893 return zero.
25894 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
25895 (grub_command_find): If a dummy command is found, load a module
25896 and retry to find a command only once.
25897
25898 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
25899 make sure that each command is loaded.
25900
25901 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
25902 macro.
25903 (struct grub_command): Remove const from the member `name'.
25904 Add a new member `module_name'.
25905 (grub_register_command): Return grub_command_t.
25906
25907 * commands/help.c (grub_cmd_help): Call grub_command_find to make
25908 sure that each command is loaded.
25909
25910 * genmk.rb (PModule::rule): Specify a module name without the
25911 suffix ".mod" to gencmdlist.sh.
25912
25913 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25914
25915 * gencmdlist.sh: New file.
25916
25917 * genmk.rb (PModule::rule): Generate a rule for a command list.
25918 Clean command.lst.
25919 Generate command.lst from $(COMMANDFILES).
25920
25921 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
25922 (DATA): Added $(pkgdata_DATA).
25923 (install-local): Install files in $(pkgdata_DATA).
25924
25925 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25926
25927 * term/i386/pc/vga.c (debug_command): Removed.
25928 (GRUB_MOD_INIT): Do not register the command "debug".
25929
25930 From Hollis Blanchard:
25931 * commands/configfile.c: New file.
25932 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25933 commands/configfile.c.
25934 (pkgdata_MODULES): Added configfile.mod.
25935 (configfile_mod_SOURCES): New variable.
25936 (configfile_mod_CFLAGS): Likewise.
25937 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25938 commands/configfile.c.
25939 (pkgdata_MODULES): Added configfile.mod.
25940 (configfile_mod_SOURCES): New variable.
25941 (configfile_mod_CFLAGS): Likewise.
25942 * util/grub-emu.c (main): Call grub_configfile_init and
25943 grub_configfile_fini.
25944 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
25945 prototype.
25946 [GRUB_UTIL] (grub_configfile_fini): Likewise.
25947
25948 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
25949
25950 * normal/arg.c (grub_arg_show_help): Do not show the bug report
25951 address.
25952
25953 * commands/help.c (grub_cmd_help): Do not print newlines after
25954 the last command in print_command_help.
25955
25956 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
25957
25958 * commands/default.h: New file.
25959 * commands/timeout.h: Likewise.
25960 * normal/context.c: Likewise.
25961
25962 * util/misc.c: Do not include sys/times.h.
25963 Include sys/time.h and grub/machine/time.h.
25964 (grub_get_rtc): Rewritten with gettimeofday.
25965
25966 * util/grub-emu.c (main): Call grub_default_init and
25967 grub_timeout_init before grub_normal_init, and call
25968 grub_timeout_fini and grub_default_fini after grub_main.
25969
25970 * util/console.c (grub_ncurses_checkkey): Return the read
25971 character or -1.
25972
25973 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
25974 timeouts.
25975
25976 * normal/main.c (read_config_file): Push MENU. If this fails,
25977 print an error and wait for a user input.
25978 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
25979 If a menu is empty or an error occurs, pop MENU.
25980 (grub_normal_execute): Pop and free MENU after grub_menu_run
25981 returns.
25982
25983 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
25984
25985 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
25986 include time.h.
25987 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
25988 without GRUB_UTIL.
25989 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
25990 time.h.
25991 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
25992 without GRUB_UTIL.
25993
25994 * include/grub/normal.h (struct grub_menu_list): New struct.
25995 (grub_menu_list_t): New type.
25996 (struct grub_context): New struct.
25997 (grub_context_t): New type.
25998 (grub_register_command): Got rid of EXPORT_FUNC.
25999 (grub_unregister_command): Likewise.
26000 (grub_context_get): New prototype.
26001 (grub_context_get_current_menu): Likewise.
26002 (grub_context_push_menu): Likewise.
26003 (grub_context_pop_menu): Likewise.
26004 [GRUB_UTIL] (grub_default_init): Likewise.
26005 [GRUB_UTIL] (grub_default_fini): Likewise.
26006 [GRUB_UTIL] (grub_timeout_init): Likewise.
26007 [GRUB_UTIL] (grub_timeout_fini): Likewise.
26008
26009 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
26010 commands/timeout.c and normal/context.c.
26011 (pkgdata_MODULES): Added default.mod and timeout.mod.
26012 (normal_mod_SOURCES): Added normal/context.c.
26013 (default_mod_SOURCES): New variable.
26014 (default_mod_CFLAGS): Likewise.
26015 (timeout_mod_SOURCES): Likewise.
26016 (timeout_mod_CFLAGS): Likewise.
26017 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
26018 conf/i386-pc.rmk.
26019 (pkgdata_MODULES): Added default.mod and timeout.mod.
26020 (normal_mod_SOURCES): Added normal/context.c.
26021 (default_mod_SOURCES): New variable.
26022 (default_mod_CFLAGS): Likewise.
26023 (timeout_mod_SOURCES): Likewise.
26024 (timeout_mod_CFLAGS): Likewise.
26025
26026 * Makefile.in (all-local): Added $(MKFILES).
26027
26028 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
26029
26030 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
26031 (grub_emu_SOURCES): Likewise.
26032 (pkgdata_MODULES): Add `sun.mod'.
26033 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
26034 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26035 `partmap/sun.c'.
26036 (pkgdata_MODULES): Add `sun.mod'.
26037 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
26038 * include/grub/partition.h (grub_sun_partition_map_init): New
26039 prototype.
26040 (grub_sun_partition_map_fini): Likewise.
26041 * partmap/sun.c: New file.
26042 * util/grub-emu.c (main): Initialize and de-initialize the sun
26043 partitionmap support.
26044
26045 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
26046
26047 This implements an Emacs-like menu entry editor.
26048
26049 * normal/menu_entry.c: New file.
26050
26051 * util/console.c (grub_ncurses_putchar): Translate some Unicode
26052 characters to ASCII.
26053 (saved_char): New variable.
26054 (grub_ncurses_checkkey): Rewritten completely.
26055 (grub_ncurses_getkey): Likewise.
26056 (grub_ncurses_init): Call raw instead of cbreak.
26057
26058 * normal/menu.c (print_entry): Do not put a space.
26059 (init_page): Renamed to ...
26060 (grub_menu_init_page): ... this. All callers changed.
26061 (edit_menu_entry): Removed.
26062 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
26063
26064 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
26065
26066 * kern/misc.c (grub_vprintf): Call grub_refresh.
26067
26068 * normal/menu.c (DISP_LEFT): Renamed to ...
26069 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
26070 * normal/menu.c (DISP_UP): Renamed to ...
26071 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
26072 * normal/menu.c (DISP_RIGHT): Renamed to ...
26073 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
26074 * normal/menu.c (DISP_DOWN): Renamed to ...
26075 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
26076 * normal/menu.c (DISP_HLINE): Renamed to ...
26077 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
26078 * normal/menu.c (DISP_VLINE): Renamed to ...
26079 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
26080 * normal/menu.c (DISP_UL): Renamed to ...
26081 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
26082 * normal/menu.c (DISP_UR): Renamed to ...
26083 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
26084 * normal/menu.c (DISP_LL): Renamed to ...
26085 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
26086 * normal/menu.c (DISP_LR): Renamed to ...
26087 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
26088 * normal/menu.c (TERM_WIDTH): Renamed to ...
26089 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
26090 * normal/menu.c (TERM_HEIGHT): Renamed to ...
26091 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
26092 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
26093 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
26094 * normal/menu.c (TERM_MARGIN): Renamed to ...
26095 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
26096 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
26097 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
26098 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
26099 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
26100 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
26101 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
26102 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
26103 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
26104 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
26105 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
26106 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
26107 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
26108 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
26109 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
26110 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
26111 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
26112 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
26113 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
26114 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
26115 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
26116 All callers changed.
26117
26118 * include/grub/normal.h: New prototype.
26119
26120 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26121 normal/menu_entry.c.
26122 (normal_mod_SOURCES): Likewise.
26123 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26124 (normal_mod_SOURCES): Likewise.
26125
26126 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
26127
26128 * include/grub/normal.h (grub_halt_init): New prototype.
26129 (grub_halt_fini): Likewise.
26130 (grub_reboot_init): Likewise.
26131 (grub_reboot_fini): Likewise.
26132
26133 * util/grub-emu.c: Include signal.h.
26134 (main_env): New global variable.
26135 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
26136 catch C-c.
26137 (grub_machine_fini): New function.
26138 (main): Call grub_halt_init and grub_reboot_init before
26139 grub_main, and grub_reboot_fini and grub_halt_fini after it.
26140 Call setjmp with MAIN_ENV to go back afterwards.
26141 Call grub_machine_fini right before return.
26142
26143 * include/grub/util/misc.h: Include setjmp.h.
26144 (main_env): New prototype.
26145
26146 * include/grub/kernel.h (grub_machine_fini): New prototype.
26147 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
26148 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
26149
26150 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
26151 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
26152 * term/i386/pc/console.c (grub_console_fini): Likewise.
26153
26154 * util/i386/pc/misc.c: New file.
26155
26156 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26157 util/i386/pc/misc.c, commands/i386/pc/halt.c and
26158 commands/i386/pc/reboot.c.
26159
26160 2005-02-14 Guillem Jover <guillem@hadrons.org>
26161
26162 * include/grub/dl.h (grub_dl_check_header): New prototype.
26163 (grub_arch_dl_check_header): Change return type to grub_err_t,
26164 remove size parameter and export function. Update all callers.
26165 * kern/dl.c (grub_dl_check_header): New function.
26166 (grub_dl_load_core): Use `grub_dl_check_header' instead of
26167 `grub_arch_dl_check_header'. Check ELF type. Check if sections
26168 are inside the core.
26169 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
26170 independent ELF header checks.
26171 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
26172 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
26173 `grub_dl_check_header' instead of explicit checks. Check for the
26174 ELF type.
26175 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
26176 `grub_dl_check_header' instead of explicit checks. Remove arch
26177 specific ELF header checks.
26178
26179 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
26180 argument SIZE.
26181
26182 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
26183
26184 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
26185 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
26186
26187 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
26188
26189 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
26190 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
26191 (part_map_iterate): Clear `grub_errno' and return 0 if
26192 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
26193 * partmap/amiga.c (amiga_partition_map_iterate): Return
26194 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
26195 * partmap/apple.c (apple_partition_map_iterate): Likewise.
26196
26197 2005-02-01 Guillem Jover <guillem@hadrons.org>
26198
26199 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
26200 help info.
26201
26202 2005-01-31 Marco Gerards <metgerards@student.han.nl>
26203
26204 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
26205 Removed prototype.
26206 (grub_rescue_cmd_linux): New prototype.
26207 (grub_rescue_cmd_initrd): Likewise.
26208 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
26209 `bi_rec'.
26210 (grub_linux_release_mem): Release the memory for the initrd.
26211 (grub_load_linux): Renamed from this...
26212 (grub_rescue_cmd_linux): ...To this. Changed all callers.
26213 Changed `entry' not to be static. Loop over memory regions to
26214 find another one when the default fails.
26215 (grub_rescue_cmd_initrd): New function.
26216 (grub_linux_init): Remove function.
26217 (grub_linux_fini): Likewise.
26218 (GRUB_MOD_INIT): Register `initrd'.
26219 (GRUB_MOD_FINI): Unregister `initrd'.
26220 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
26221 Function removed.
26222 (grub_linux_normal_fini): Likewise.
26223 (GRUB_MOD_INIT): Register `initrd'.
26224 (GRUB_MOD_FINI): Unregister `initrd'.
26225
26226 2005-01-31 Marco Gerards <metgerards@student.han.nl>
26227
26228 * commands/help.c: New file.
26229 * normal/arg.c (show_help): Renamed to...
26230 (grub_arg_show_help): ... this.
26231 * commands/i386/pc/halt.c: New file.
26232 * commands/i386/pc/reboot.c: Likewise.
26233 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
26234 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
26235 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
26236 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
26237 variables.
26238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26239 `commands/help.c'.
26240 (pkgdata_MODULES): Add `help.mod'.
26241 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
26242 * grub/i386/pc/init.h (grub_reboot): New prototype.
26243 (grub_halt): Likewise.
26244 * include/grub/normal.h (grub_arg_show_help): New prototype.
26245 (grub_help_init): Likewise.
26246 (grub_help_fini): Likewise.
26247 * util/grub-emu.c (main): Initialize and deinitialize the help
26248 command.
26249
26250 * normal/cmdline.c (grub_cmdline_get): Doc fix.
26251
26252 * normal/command.c (grub_command_init): Fixed the description of
26253 the `set' and `unset' commands.
26254
26255 2005-01-31 Marco Gerards <metgerards@student.han.nl>
26256
26257 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
26258 function.
26259 * commands/ieee1275/halt.c: New file.
26260 * commands/ieee1275/reboot.c: Likewise.
26261 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
26262 `__attribute__ ((unused))'. Some GCS related fixed.
26263 (grub_suspend_init) [GRUB_UTIL]: Function removed.
26264 (grub_suspend_fini): Likewise.
26265 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
26266 and `halt.mod'.
26267 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
26268 (halt_mod_CFLAGS): New variables.
26269 * include/grub/powerpc/ieee1275/ieee1275.h
26270 (grub_ieee1275_interpret): New prototype.
26271
26272 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
26273
26274 * include/grub/misc.h (memmove): New prototype.
26275 (memcpy): Likewise.
26276
26277 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
26278
26279 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
26280 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
26281
26282 2005-01-22 Marco Gerards <metgerards@student.han.nl>
26283
26284 * kern/misc.c (grub_strndup): Function rewritten.
26285
26286 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
26287
26288 * normal/menu.c (TERM_WIDTH): Macro redefined.
26289 (TERM_TOP_BORDER_Y): Likewise.
26290 (draw_border): Replaced while-loop by a for-loop. Make the number
26291 of lines consistent with the number of lines displayed in
26292 print_entries. Added a margin below the rectangle.
26293 (print_entry): Make the entry fit in the rectangle.
26294 (print_entries): Display the scroll arrows next to the right
26295 border.
26296
26297 2005-01-21 Marco Gerards <metgerards@student.han.nl>
26298
26299 * fs/minix.c (grub_minix_find_file): Reserve more space for
26300 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
26301 `grub_strncpy' to copy `path' into it.
26302
26303 2005-01-21 Marco Gerards <metgerards@student.han.nl>
26304
26305 Add the loopback device, a device via which files can be accessed
26306 as devices.
26307
26308 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
26309 (pkgdata_MODULES): Add loopback.mod.
26310 (loopback_mod_SOURCES): New variable.
26311 (loopback_mod_CFLAGS): Likewise.
26312 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26313 `disk/loopback.c'.
26314 (pkgdata_MODULES): Add loopback.mod.
26315 (loopback_mod_SOURCES): New variable.
26316 (loopback_mod_CFLAGS): Likewise.
26317 * disk/loopback.c: new file.
26318 * include/grub/normal.h (grub_loop_init): New prototype.
26319 (grub_loop_fini): New prototype.
26320 * util/grub-emu.c (main): Initialize and de-initialize loopback
26321 support.
26322 * include/grub/disk.h (grub_disk_dev_id): Add
26323 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
26324
26325 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
26326
26327 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
26328 function.
26329 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
26330 (suspend_mod_SOURCES): New variable.
26331 (suspend_mod_CFLAGS): Likewise.
26332 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
26333 New prototype.
26334 * commands/ieee1275/suspend.c: New file.
26335
26336 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
26337
26338 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
26339 ((unused))' to `__attribute__ ((used))'.
26340 (GRUB_MOD_FINI): Likewise.
26341 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
26342 * genmk.rb (PModule): Assign space to common symbols when linking
26343 modules.
26344
26345 2005-01-20 Marco Gerards <metgerards@student.han.nl>
26346
26347 * include/grub/mm.h (grub_mm_init_region): Change the type of the
26348 `unsigned' arguments to `grub_size_t'.
26349 (grub_malloc): Likewise.
26350 (grub_realloc): Likewise.
26351 (grub_memalign): Likewise.
26352 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
26353 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
26354 * util/misc.c (grub_malloc): Likewise.
26355 (grub_realloc): Likewise.
26356 * kern/mm.c (get_header_from_pointer): Change the casts to
26357 `unsigned' into a cast to `grub_size_t'.
26358
26359 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
26360 point to `currnode' when `currnode' is changed.
26361
26362 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
26363 Schottelius <nico-linux@schottelius.org>.
26364
26365 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
26366
26367 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
26368 (note_path): Remove variable.
26369 (GRUB_IEEE1275_NOTE_NAME): New macro.
26370 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
26371 (grub_ieee1275_note_hdr): New structure.
26372 (grub_ieee1275_note_desc): Likewise.
26373 (grub_ieee1275_note): Likewise.
26374 (load_note): Remove `dir' argument. All callers updated. Remove
26375 `note_img' and `path'. Do not load a file from `note_path'.
26376 Initialize a struct grub_ieee1275_note and write that to `out'.
26377 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
26378
26379 2005-01-05 Marco Gerards <metgerards@student.han.nl>
26380
26381 * util/misc.c (grub_util_read_image): Revert last change. It
26382 called `grub_util_read_at', which seeks from the beginning of the
26383 file.
26384
26385 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
26386
26387 * TODO: Add note about endianness in grub-mkimage.
26388 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
26389 section.
26390 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
26391 (grub_mkimage_SOURCES): New target.
26392 * include/grub/kernel.h (grub_start_addr): Remove variable.
26393 (grub_end_addr): Likewise.
26394 (grub_total_module_size): Likewise.
26395 (grub_kernel_image_size): Likewise.
26396 (GRUB_MODULE_MAGIC): New constant.
26397 (grub_module_info): New structure.
26398 (grub_arch_modules_addr): New prototype.
26399 (grub_get_end_addr): Remove prototype.
26400 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
26401 * include/grub/powerpc/ieee1275/kernel.h: New file.
26402 * include/grub/util/misc.h (grub_util_get_fp_size): New
26403 prototype.
26404 (grub_util_read_at): Likewise.
26405 (grub_util_write_image_at): Likewise.
26406 * kern/main.c (grub_get_end_addr): Remove function.
26407 (grub_load_modules): Call grub_arch_modules_addr instead of using
26408 grub_end_addr. Look for a grub_module_info struct in memory. Use
26409 the grub_module_info fields instead of calling grub_get_end_addr
26410 as loop conditions. Move grub_add_unused_region code here.
26411 (grub_add_unused_region): Remove function.
26412 * kern/i386/pc/init.c: Include grub/cache.h.
26413 (grub_machine_init): Remove call to grub_get_end_addr. Remove
26414 one call to add_mem_region.
26415 (grub_arch_modules_addr): New function.
26416 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
26417 (grub_total_module_size): Likewise.
26418 Include grub/machine/kernel.h.
26419 (grub_arch_modules_addr): New function.
26420 * util/grub-emu.c (grub_end_addr): Remove variable.
26421 (grub_total_module_size): Likewise.
26422 (grub_arch_modules_addr): New function.
26423 * util/misc.c: Include unistd.h.
26424 (grub_util_get_fp_size): New function.
26425 (grub_util_read_at): Likewise.
26426 (grub_util_write_image_at): Likewise.
26427 (grub_util_read_image): Call grub_util_read_at.
26428 (grub_util_write_image): Call grub_util_write_image_at.
26429 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
26430 additional memory in kernel_img for a struct grub_module_info.
26431 Fill in that grub_module_info.
26432 * util/powerpc/ieee1275/grub-mkimage.c: New file.
26433
26434 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
26435
26436 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
26437 New function.
26438 * include/grub/powerpc/ieee1275/ieee1275.h
26439 (grub_ieee1275_milliseconds): New prototype.
26440 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
26441 Change to 1000.
26442 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
26443 grub_ieee1275_milliseconds.
26444
26445 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
26446
26447 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
26448 variable.
26449 (find_options): New function.
26450 (cmain): Call find_options.
26451 * include/grub/powerpc/ieee1275/ieee1275.h
26452 (grub_ieee1275_realmode): New extern variable.
26453 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
26454 grub_map if grub_ieee1275_realmode is false.
26455
26456 2004-12-29 Marco Gerards <metgerards@student.han.nl>
26457
26458 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
26459 lines are inserted and make it work like readline. Reported by
26460 Vincent Pelletier <subdino2004@yahoo.fr>.
26461
26462 2004-12-28 Marco Gerards <metgerards@student.han.nl>
26463
26464 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
26465
26466 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
26467 `kern/powerpc/cache.S'.
26468
26469 2004-12-27 Marco Gerards <metgerards@student.han.nl>
26470
26471 * genmk.rb: Handle the `Program' class in the main loop. Written
26472 by Johan Rydberg <jrydberg@gnu.org>.
26473 (Program): New class.
26474 (programs): New variable.
26475 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
26476 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
26477 instead of "grub/kernel.h". Include <grub/machine/init.h>.
26478 (help_arch): Function removed.
26479 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
26480 `powerpc/libgcc.h' and `loader.h'.
26481 (pkgdata_PROGRAMS): New variable.
26482 (sbin_UTILITIES): Variable removed.
26483 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
26484 (grubof_SOURCES): Variable re-defined so it only includes the
26485 core functionality.
26486 (grubof_CFLAGS): Remove `-DGRUBOF'.
26487 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
26488 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
26489 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
26490 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
26491 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
26492 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
26493 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
26494 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
26495 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
26496 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
26497 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
26498 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
26499 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
26500 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
26501 (pc_mod_CFLAGS): New variables.
26502 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
26503 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
26504 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
26505 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
26506 Moved from here...
26507 * include/grub/i386/pc/init.h (grub_os_area_addr)
26508 (rub_os_area_size): ... to here.
26509 * include/grub/powerpc/ieee1275/ieee1275.h
26510 (grub_ieee1275_entry_fn): Export symbol.
26511 * include/grub/powerpc/ieee1275/init.h: New file.
26512 * include/grub/powerpc/libgcc.h: Likewise.
26513 * include/grub/cache.h: Likewise.
26514 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
26515 <hollis@penguinppc.org>.
26516 * kern/dl.c: Include <grub/cache.h>.
26517 (grub_dl_flush_cache): New function.
26518 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
26519 for this module.
26520 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
26521 (grub_console_init): Removed prototypes.
26522 (grub_machine_init): Don't initialize the modules anymore.
26523 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
26524 static.
26525 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
26526 Macro undef removed.
26527 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
26528 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
26529 relocation `R_PPC_REL32'. Return an error when the relocation is
26530 unknown.
26531 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
26532 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
26533 * util/misc.c (grub_arch_sync_caches): Likewise.
26534
26535 2004-12-19 Marco Gerards <metgerards@student.han.nl>
26536
26537 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
26538 `symlist.c', add `grubof_symlist.c'.
26539 (symlist.c): Variable removed.
26540 (grubof_HEADERS): Variable added.
26541 (grubof_symlist.c): New target.
26542 (kernel_syms.lst): Use `grubof_HEADERS' instead of
26543 `kernel_img_HEADERS'.
26544 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
26545 * kern/powerpc/dl.c: New file.
26546 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
26547 Function removed.
26548 (grub_arch_dl_relocate_symbols): Likewise.
26549 (grub_register_exported_symbols): Likewise.
26550
26551 2004-12-13 Marco Gerards <metgerards@student.han.nl>
26552
26553 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
26554 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
26555 to fail instead. Reported by Vincent Pelletier
26556 <subdino2004@yahoo.fr>.
26557
26558 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
26559 it is not allocated. Reported by Vincent Pelletier
26560 <subdino2004@yahoo.fr>.
26561
26562 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
26563 output so the output looks better.
26564
26565 2004-12-04 Marco Gerards <metgerards@student.han.nl>
26566
26567 Modulize the partition map support and add support for the amiga
26568 partition map.
26569
26570 * commands/ls.c: Include <grub/partition.h> instead of
26571 <grub/machine/partition.h>.
26572 * kern/disk.c: Likewise.
26573 * kern/rescue.c: Likewise.
26574 * loader/i386/pc/chainloader.c: Likewise.
26575 * normal/cmdline.c: Likewise.
26576 * kern/powerpc/ieee1275/init.c: Likewise.
26577 (grub_machine_init): Call `grub_pc_partition_map_init',
26578 `grub_amiga_partition_map_init' and
26579 `grub_apple_partition_map_init'.
26580 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
26581 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
26582 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
26583 `partition.h' and `pc_partition.h'.
26584 (grub_setup_SOURCES): Remove
26585 `disk/i386/pc/partition.c'. Add `kern/partition.c',
26586 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
26587 (grub_emu_SOURCES): Likewise.
26588 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
26589 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
26590 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
26591 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
26592 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
26593 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
26594 (grubof_SOURCES): Likewise.
26595 * disk/i386/pc/partition.c: File removed.
26596 * disk/powerpc/ieee1275/partition.c: Likewise.
26597 * include/grub/powerpc/ieee1275/partition.h: Likewise.
26598 * include/grub/i386/pc/partition.h: Likewise.
26599 * kern/partition.c: New file.
26600 * partmap/amiga.c: Likewise.
26601 * partmap/apple.c: Likewise.
26602 * partmap/pc.c: Likewise.
26603 * include/grub/partition.h: Likewise..
26604 * include/grub/pc_partition.h: Likewise.
26605 * util/grub-emu.c: Include <grub/partition.h> instead of
26606 <grub/machine/partition.h>.
26607 (main): Call `grub_pc_partition_map_init',
26608 `grub_amiga_partition_map_init' and
26609 `grub_apple_partition_map_init' and deinitialize afterwards.
26610 * util/i386/pc/biosdisk.c: Include `#include
26611 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
26612 `<grub/machine/partition.h>'.
26613 * util/i386/pc/grub-setup.c: Likewise.
26614 * util/i386/pc/biosdisk.c: Likewise.
26615 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
26616 partition information in case of a PC partition.
26617 * util/i386/pc/grub-setup.c: Include `#include
26618 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
26619 `<grub/machine/partition.h>'.
26620 (setup): Only access the PC specific partition information in case
26621 of a PC partition.
26622
26623 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
26624
26625 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
26626 (grub_longjmp): Likewise.
26627 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
26628 20.
26629 * normal/powerpc/setjmp.S: New file.
26630 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
26631 `normal/powerpc/setjmp.S'.
26632 (grubof_CFLAGS): Add `-DGRUBOF'.
26633 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
26634 [GRUB_UTIL && !GRUBOF].
26635
26636 2004-11-16 Marco Gerards <metgerards@student.han.nl>
26637
26638 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
26639 property named `name'. Correctly handle the error returned by
26640 `grub_ieee1275_finddevice' if a device can not be opened.
26641
26642 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
26643
26644 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
26645 `actual' for negativity.
26646 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
26647 kern/fshelp.c.
26648
26649 2004-11-01 Marco Gerards <metgerards@student.han.nl>
26650
26651 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
26652 (PAGE_OFFSET): New macro.
26653 (CRTC_ADDR_PORT): Likewise.
26654 (CRTC_DATA_PORT): Likewise.
26655 (START_ADDR_HIGH_REGISTER): Likewise.
26656 (START_ADDR_LOW_REGISTER): Likewise.
26657 (GRAPHICS_ADDR_PORT): Likewise.
26658 (GRAPHICS_DATA_PORT): Likewise.
26659 (READ_MAP_REGISTER): Likewise.
26660 (INPUT_STATUS1_REGISTER): Likewise.
26661 (INPUT_STATUS1_VERTR_BIT): Likewise.
26662 (page): New variable.
26663 (wait_vretrace): New function.
26664 (set_read_map): Likewise.
26665 (set_start_address): Likewise.
26666 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
26667 the right page.
26668 (check_vga_mem): Take the page into account.
26669 (write_char): Likewise.
26670 (write_cursor): Likewise.
26671 (scroll_up): Likewise. Copy the page to the page that is not
26672 shown and switch between both pages.
26673 (grub_vga_putchar): Fix off by one error.
26674 (grub_vga_cls): Wait for the vertical retrace. Take the page into
26675 account.
26676
26677 2004-11-01 Marco Gerards <metgerards@student.han.nl>
26678
26679 Add support for iso9660 (including rockridge).
26680
26681 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
26682 (iso9660_mod_SOURCES): New variable.
26683 (iso9660_mod_CFLAGS): Likewise.
26684 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
26685 * include/grub/fs.h (grub_iso9660_init): New prototype.
26686 * util/grub-emu.c (main): Call `grub_iso9660_init'.
26687 * fs/iso9660.c: New file.
26688
26689 * include/grub/misc.h (grub_strncat): New prototype.
26690 * kern/misc.c (grub_strncat): New function.
26691
26692 * fs/hfs.c (grub_hfs_mount): Translate the error
26693 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
26694 * fs/jfs.c (grub_jfs_mount): Likewise.
26695 * fs/ufs.c (grub_ufs_mount): Likewise.
26696
26697 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
26698
26699 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
26700 which initialized BAT registers.
26701 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
26702 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
26703 Move from here...
26704 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
26705 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
26706 ... to here.
26707 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
26708 (grub_mapclaim): Likewise.
26709 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
26710 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
26711 hand.
26712
26713 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
26714
26715 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
26716 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
26717 -ffreestanding and -msoft-float.
26718
26719 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
26720
26721 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
26722 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
26723 set in grub_ieee1275_flags.
26724
26725 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
26726
26727 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
26728 prototype.
26729 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
26730 grub_console_init first.
26731 Change the memory range used for grub_ieee1275_claim and
26732 grub_mm_init_region.
26733 Print an error message if the claim fails.
26734 Include <grub/misc.h>.
26735
26736 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
26737
26738 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
26739 Call grub_children_iterate for device nodes of type `scsi',
26740 `ide', or `ata'.
26741 (grub_ofdisk_open): Remove manual device alias resolution.
26742 Fix memory leak when device cannot be opened.
26743 * include/grub/powerpc/ieee1275/ieee1275.h
26744 (grub_children_iterate): New prototype.
26745 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
26746 New function.
26747 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26748 Return -1 if args.size was -1.
26749
26750 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
26751
26752 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
26753 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
26754 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
26755 Open Firmware's memory for it; claim memory from _start to _end.
26756 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
26757 (_end): New extern.
26758 (_start): Zero BSS from __bss_start to _end.
26759 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
26760 New extern.
26761 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
26762
26763 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
26764
26765 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
26766 -1 if args.base was -1.
26767
26768 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
26769
26770 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
26771 escape sequence instead of a literal ^L. Also call
26772 grub_ofconsole_gotoxy.
26773
26774 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
26775
26776 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
26777 void * arguments to grub_addr_t. All callers updated. Also make
26778 the `result' argument optional.
26779 (grub_ieee1275_release): change void * arguments to grub_addr_t.
26780 All callers updated.
26781
26782 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
26783
26784 * commands/ls.c (grub_ls_list_files): Use the string following the
26785 initial ')', if present, as the filesystem path.
26786 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
26787
26788 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
26789
26790 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
26791
26792 Make the source code of the menu interface more readable.
26793
26794 * normal/menu.c: Include grub/mm.h.
26795 (TERM_WIDTH): New macro.
26796 (TERM_HEIGHT): Likewise.
26797 (TERM_INFO_HEIGHT): Likewise.
26798 (TERM_MARGIN): Likewise.
26799 (TERM_SCROLL_WIDTH): Likewise.
26800 (TERM_TOP_BORDER_Y): Likewise.
26801 (TERM_LEFT_BORDER_X): Likewise.
26802 (TERM_BORDER_WIDTH): Likewise.
26803 (TERM_MESSAGE_HEIGHT): Likewise.
26804 (TERM_BORDER_HEIGHT): Likewise.
26805 (TERM_NUM_ENTRIES): Likewise.
26806 (TERM_FIRST_ENTRY_Y): Likewise.
26807 (TERM_ENTRY_WIDTH): Likewise.
26808 (TERM_CURSOR_X): Likewise.
26809 (draw_border): Use macros instead of magic numbers.
26810 (print_entry): Likewise.
26811 (print_entries): Likewise.
26812 (run_menu): Likewise. Also, handle the key 'e'.
26813 (run_menu_entry): Ignore empty command lines.
26814 (print_message): Added a new argument EDIT. If EDIT is true,
26815 print a different message.
26816 (init_page): Likewise.
26817 (edit_menu_entry): New function. Not implemented yet.
26818
26819 2004-09-17 Marco Gerards <metgerards@student.han.nl>
26820
26821 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
26822 can be loaded from normal mode.
26823
26824 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
26825 `multiboot.mod'.
26826 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
26827 (multiboot_mod_CFLAGS): New variables.
26828 * loader/i386/pc/linux_normal.c: New file.
26829 * loader/i386/pc/multiboot_normal.c: Likewise.
26830
26831 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
26832 attribute `unused'.
26833
26834 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
26835 `fdiro' to read the mode information from instead of `diro'.
26836
26837 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
26838 looking up a symlink.
26839
26840 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
26841 macro.
26842 * normal/command.c (grub_command_execute): Don't parse the
26843 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
26844 flags of the command.
26845
26846 * normal/menu.c (grub_menu_run): Fix typo.
26847
26848 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
26849
26850 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
26851
26852 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
26853 `y + 1' instead of `y - 1'.
26854
26855 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
26856
26857 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
26858
26859 From Hollis Blanchard <hollis@penguinppc.org>:
26860 * kern/misc.c (memmove): New alias for grub_memmove.
26861 (memcmp): New alias for grub_memcmp.
26862 (memset): New alias for grub_memset.
26863 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26864 Change "int handle" to "grub_ieee1275_phandle_t handle".
26865 * include/grub/powerpc/ieee1275/ieee1275.h
26866 (grub_ieee1275_get_property): Likewise.
26867
26868 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
26869
26870 Added normal mode command `chainloader' as module chain.mod, which
26871 depends on normal.mod and _chain.mod.
26872
26873 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
26874 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
26875 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
26876 Deleted prototype.
26877 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
26878 but arguments parsing moved to ...
26879 (grub_chainloader_cmd): ... here. New function.
26880 * include/grub/i386/pc/chainloader.h: New file.
26881 * loader/i386/pc/chainloader_normal.c: Likewise.
26882
26883 2004-09-11 Marco Gerards <metgerards@student.han.nl>
26884
26885 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
26886 (grub_mkimage_LDFLAGS): Likewise.
26887 (grub_emu_SOURCES): Likewise.
26888 (kernel_img_HEADERS): Added fshelp.h.
26889 * fs/ext2.c: Include <grub/fshelp.h>.
26890 (FILETYPE_REG): New macro.
26891 (FILETYPE_INO_REG): Likewise.
26892 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
26893 Changed all users.
26894 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
26895 all users.
26896 (grub_fshelp_node): New struct.
26897 (grub_ext2_data): Added member `diropen'. Changed member `inode'
26898 to a pointer.
26899 (grub_ext2_get_file_block): Removed function.
26900 (grub_ext2_read_block): New function.
26901 (grub_ext2_read_file): Replaced parameter `data' by `node'.
26902 This function was written.
26903 (grub_ext2_mount): Read the root inode. Create a diropen struct.
26904 (grub_ext2_find_file): Removed function.
26905 (grub_ext2_read_symlink): New function.
26906 (grub_ext2_iterate_dir): Likewise.
26907 (grub_ext2_open): Rewritten.
26908 (grub_ext2_dir): Rewritten.
26909 * include/grub/fshelp.h: New file.
26910 * fs/fshelp.c: Likewise.
26911
26912 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
26913
26914 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
26915 (print_message): Add a missing newline.
26916 (run_menu): Added timeout support.
26917 (run_menu_entry): New local function.
26918 (grub_menu_run): Added support for booting.
26919
26920 * kern/loader.c (grub_loader_is_loaded): New function.
26921
26922 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
26923 (grub_get_rtc): Exported.
26924
26925 * include/grub/i386/pc/time.h: Include grub/symbol.h.
26926 (grub_get_rtc): Exported.
26927
26928 * include/grub/normal.h (struct grub_command_list): Remove
26929 constant from the member `command'.
26930
26931 * include/grub/loader.h (grub_loader_is_loaded): Declared.
26932
26933 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
26934
26935 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
26936
26937 2004-08-28 Marco Gerards <metgerards@student.han.nl>
26938
26939 Add support for the JFS filesystem.
26940
26941 * fs/jfs.c: New file.
26942 * include/grub/fs.h (grub_jfs_init): New prototype.
26943 (grub_jfs_fini): New prototype.
26944 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
26945 (grub_emu_SOURCES): Likewise.
26946 (pkgdata_MODULES): Add jfs.mod.
26947 (jfs_mod_SOURCES): New variable.
26948 (jfs_mod_CFLAGS): Likewise.
26949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
26950 (grubof_SOURCES): Likewise.
26951 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
26952
26953 * fs/fat.c (grub_fat_find_dir): Convert the filename little
26954 endian to the host endian.
26955 (grub_fat_utf16_to_utf8): Move function from there...
26956 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
26957 the endianness of the source string anymore.
26958 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
26959
26960 2004-08-24 Marco Gerards <metgerards@student.han.nl>
26961
26962 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
26963 (grub_boot_fini) [GRUB_UTIL]: Likewise.
26964 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
26965 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
26966
26967 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
26968 (grub_hfs_iterate_dir): Make the function static. Add prototypes
26969 for `node_found' and `it_dir'.
26970 (grub_hfs_dir): Add prototype for `dir_hook'.
26971
26972 * fs/minix.c (grub_minix_get_file_block): Add prototype for
26973 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
26974 and `indir32' to silence a gcc warning.
26975
26976 * include/grub/fs.h (grub_hfs_init): New prototype.
26977 (grub_hfs_fini): Likewise.
26978
26979
26980 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
26981
26982 Each disk device has its own id now. This is useful to make use
26983 of multiple disk devices.
26984
26985 * include/grub/disk.h (grub_disk_dev_id): New enum.
26986 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
26987 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
26988
26989 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
26990 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
26991
26992 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
26993 GRUB_DISK_DEVICE_OFDISK_ID as an id.
26994
26995 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
26996 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
26997
26998 * include/grub/disk.h (struct grub_disk_dev): Added a new member
26999 "id" which is used by the cache manager.
27000
27001 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
27002 of just "GRUB".
27003
27004 2004-08-18 Marco Gerards <metgerards@student.han.nl>
27005
27006 * fs/hfs.c: New file.
27007 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
27008 (grub_emu_SOURCES): Likewise.
27009 (pkgdata_MODULES): Add hfs.mod.
27010 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
27011 (grubof_SOURCES): Likewise.
27012 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
27013
27014 * include/grub/misc.h (grub_strncasecmp): Add prototype.
27015 * kern/misc.c (grub_strncasecmp): Add function.
27016
27017 2004-08-14 Marco Gerards <metgerards@student.han.nl>
27018
27019 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
27020 with parentheses.
27021
27022 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
27023 (grub_ext2_dir): In case the directory entry type is unknown, read
27024 it from the inode.
27025
27026 2004-08-02 Peter Bruin <pjbruin@dds.nl>
27027
27028 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
27029 grub_load_linux instead of grub_rescue_cmd_linux as second
27030 argument of grub_rescue_register_command.
27031
27032 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
27033
27034 2004-07-27 Marco Gerards <metgerards@student.han.nl>
27035
27036 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
27037 function.
27038 * commands/boot.c: Remove the check for `GRUB_UTIL'.
27039 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27040 `loader/powerpc/ieee1275/linux.c',
27041 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
27042 * include/grub/powerpc/ieee1275/ieee1275.h
27043 (grub_ieee1275_release): New prototype.
27044 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
27045 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
27046 normal, boot, linux and linux_normal.
27047 * loader/powerpc/ieee1275/linux.c: New file.
27048 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27049
27050 2004-07-12 Marco Gerards <metgerards@student.han.nl>
27051
27052 * normal/arg.c (grub_arg_parse): Correct error handling after
27053 reallocating the argumentlist (check if `argl' is not null instead
27054 of checking if `args' is not null).
27055 * kern/mm.c (grub_realloc): Return the same pointer when using the
27056 same region, instead of returning the header address.
27057
27058 2004-07-11 Marco Gerards <metgerards@student.han.nl>
27059
27060 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
27061 one block instead of two when looking for the initial partition.
27062 (grub_partition_probe): Initialize the local variable `p' with 0.
27063 Use base 10 for the grub_strtoul call.
27064 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
27065 need for one local variable.
27066 (grub_strtoul): Don't add the new value to `num', instead of that
27067 just assign it.
27068
27069 2004-07-11 Marco Gerards <metgerards@student.han.nl>
27070
27071 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
27072 (pxeboot_img_SOURCES): New variable.
27073 (pxeboot_img_ASFLAGS): Likewise.
27074 (pxeboot_img_LDFLAGS): Likewise.
27075 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
27076 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
27077 <lode_leroy@hotmail.com>.
27078
27079 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27080
27081 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
27082 there was no input.
27083
27084 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27085
27086 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
27087 the history buffer logic.
27088
27089 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27090
27091 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
27092 (FILETYPE_INO_SYMLINK): New macros.
27093 (grub_ext2_find_file): Check if the node is a directory using the
27094 inode stat information instead of using the filetype in the
27095 dirent. Exclude the first character of an absolute symlink.
27096 (grub_ext2_dir): Mask out the filetype part of the mode member of
27097 the inode.
27098
27099 2004-05-24 Marco Gerards <metgerards@student.han.nl>
27100
27101 Add support for UFS version 1 and 2. Add support for the minix
27102 filesystem version 1 and 2, both the variants with 14 and 30 long
27103 filenames.
27104
27105 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
27106 fs/minix.c.
27107 (grub_emu_SOURCES): Likewise.
27108 (pkgdata_MODULES): Add ufs.mod and minix.mod.
27109 (ufs_mod_SOURCES): New variable.
27110 (ufs_mod_CFLAGS): Likewise.
27111 (minix_mod_SOURCES): Likewise.
27112 (minix_mod_CFLAGS): Likewise.
27113 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
27114 fs/minix.c.
27115 (grubof_SOURCES): Likewise.
27116 * fs/ufs.c: New file.
27117 * fs/minix.c: New file.
27118 * include/grub/fs.h (grub_ufs_init): New prototype.
27119 (grub_ufs_fini): Likewise.
27120 (grub_minix_init): Likewise.
27121 (grub_minix_fini): Likewise.
27122 * util/grub-emu.c (main): Initialize and deinitialize UFS and
27123 minix fs.
27124
27125 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
27126
27127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
27128 commands/ls.c, commands/terminal.c, commands/boot.c,
27129 commands/cmp.c and commands/cat.c.
27130 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
27131
27132 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
27133 "env.h"
27134
27135 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27136
27137 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
27138 and grub_, respectively. Because the conversion is trivial and
27139 mechanical, I omit the details here. Please refer to the CVS
27140 if you need more information.
27141
27142 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27143
27144 * include/pupa: Renamed to ...
27145 * include/grub: ... this.
27146 * util/i386/pc/pupa-mkimage.c: Renamed to ...
27147 * util/i386/pc/grub-mkimage.c: ... this.
27148 * util/i386/pc/pupa-setup.c: Renamed to ...
27149 * util/i386/pc/grub-setup.c: ... this.
27150 * util/pupa-emu.c: Renamed to ...
27151 * util/grub-emu.c: ... this.
27152
27153 2004-03-29 Marco Gerards <metgerards@student.han.nl>
27154
27155 Add support for the newworld apple macintosh (PPC). This has been
27156 tested on the powerbook 2000 only. It only adds support for
27157 generic ieee1275 functions, console and disk support. This should
27158 be easy to port to other architectures with support for Open
27159 Firmware.
27160
27161 * configure.ac: Accept the powerpc as host_cpu. In the case of
27162 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
27163 specific tests are only executed while building for the i386.
27164 Inverse test for crosscompile.
27165 * genmk.rb (Utility): Allow assembler files.
27166 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
27167 * conf/powerpc-ieee1275.rmk: New file.
27168 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
27169 * disk/powerpc/ieee1275/partition.c: Likewise.
27170 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
27171 * include/pupa/powerpc/ieee1275/console.h: Likewise.
27172 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
27173 * include/pupa/powerpc/ieee1275/time.h: Likewise.
27174 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
27175 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
27176 * include/pupa/powerpc/ieee1275/loader.h
27177 * include/pupa/powerpc/setjmp.h: Likewise.
27178 * include/pupa/powerpc/types.h: Likewise.
27179 * kern/powerpc/ieee1275/init.c: Likewise.
27180 * kern/powerpc/ieee1275/openfw.c: Likewise.
27181 * term/powerpc/ieee1275/ofconsole.c: Likewise.
27182
27183 These files were written by Johan Rydberg
27184 (jrydberg@night.trouble.net) and I only modified them slightly.
27185
27186 * boot/powerpc/ieee1275/cmain.c: New file.
27187 * boot/powerpc/ieee1275/crt0.S: Likewise.
27188 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
27189 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
27190
27191 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
27192
27193 * Makefile.in: Update copyright.
27194 * genmodsrc.sh: Likewise.
27195 * gensymlist.sh: Likewise.
27196 * term/i386/pc/vga.c: Indent correctly.
27197
27198 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
27199 bugreporting address.
27200 * util/i386/pc/pupa-setup.c (usage): Likewise,
27201 (main): Call pupa_ext2_init and pupa_ext2_fini.
27202
27203 * fs/fat.c (log2): Renamed to ...
27204 (fat_log2): ... this.
27205 All callers changed.
27206 * kern/misc.c (memcpy): Alias to pupa_memmove.
27207 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
27208 lvalue cast.
27209 * util/console.c (pupa_ncurses_fini): Return 0.
27210
27211 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
27212 Move fail label here.
27213 [__GNU__]: Don't warn when using stat.
27214 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
27215 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
27216 long int. Use strtol instead of strtoul.
27217
27218 2004-03-14 Marco Gerards <metgerards@student.han.nl>
27219
27220 * commands/boot.c: New file.
27221 * commands/cat.c: Likewise.
27222 * commands/cmp.c: Likewise.
27223 * commands/ls.c: Likewise.
27224 * commands/terminal.c: Likewise.
27225 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
27226 (pupa_register_command): Changed interface to match the new
27227 argument parser.
27228 (pupa_command_execute): Changed (almost rewritten) so it uses
27229 pupa_split_command. Added support for setting variables using the
27230 syntax `foo=bar'.
27231 (rescue_command): Changed to work with the new argument parser.
27232 (terminal_command): Moved from here to commands/terminal.c.
27233 (set_command): New function.
27234 (unset_command): New function.
27235 (insmod_command): New function.
27236 (rmmod_command): New function.
27237 (lsmod_command): New function.
27238 (pupa_command_init): Don't initialize the command terminal
27239 anymore. Initialize the commands set, unset, insmod, rmmod and
27240 lsmod.
27241 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
27242 (kernel_img_HEADERS): Add arg.h and env.h.
27243 (pupa_mkimage_LDFLAGS): Add kern/env.c.
27244 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
27245 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
27246 normal/arg.c.
27247 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
27248 terminal.mod.
27249 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
27250 (boot_mod_SOURCES): New variable.
27251 (terminal_mod_SOURCES): Likewise.
27252 (ls_mod_SOURCES): Likewise.
27253 (cmp_mod_SOURCES): Likewise.
27254 (cat_mod_SOURCES): Likewise.
27255
27256 * normal/arg.c: New file.
27257 * kern/env.c: Likewise.
27258 * include/pupa/arg.h: Likewise.
27259 * include/pupa/env.h: Likewise.
27260 * font/manager.c (font_command): Changed to match argument parsing
27261 interface changes.
27262 (PUPA_MOD_INIT): Likewise.
27263 * hello/hello.c (pupa_cmd_hello): Likewise.
27264 (PUPA_MOD_INIT): Likewise.
27265 * include/pupa/disk.h: Include <pupa/device.h>.
27266 (pupa_print_partinfo): New prototype.
27267 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
27268 (pupa_dl_get_prefix): Likewise.
27269 * include/pupa/misc.h: Include <pupa/err.h>.
27270 (pupa_isgraph): New prototype.
27271 (pupa_isdigit): Likewise.
27272 (pupa_split_cmdline): Likewise.
27273 * include/pupa/normal.h: Include <pupa/arg.h>.
27274 (pupa_command): Changed the prototype of the member `func' to
27275 match the argument parsing interface. Added member `options'.
27276 (pupa_register_command): Updated to match function.
27277 (pupa_arg_parse): New prototype.
27278 (pupa_hello_init) [PUPA_UTIL]: New prototype.
27279 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
27280 (pupa_ls_init) [PUPA_UTIL]: Likewise.
27281 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
27282 (pupa_cat_init) [PUPA_UTIL]: Likewise.
27283 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
27284 (pupa_boot_init) [PUPA_UTIL]: Likewise.
27285 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
27286 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
27287 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
27288 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
27289 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
27290 * kern/disk.c: Include <pupa/file.h>.
27291 (pupa_print_partinfo): New function.
27292 * kern/dl.c: Include <pupa/env.h>.
27293 (pupa_dl_dir): Variable removed.
27294 (pupa_dl_load): Use the environment variable `prefix' instead of
27295 the variable pupa_dl_dir.
27296 (pupa_dl_set_prefix): Function removed.
27297 (pupa_dl_get_prefix): Likewise.
27298 * kern/i386/pc/init.c: Include <pupa/env.h>.
27299 (pupa_machine_init): Use the environment variable `prefix' instead of
27300 using pupa_dl_set_prefix to set the prefix.
27301 * kern/main.c: Include <pupa/env.h>.
27302 (pupa_set_root_dev): Use the environment variable `prefix' instead of
27303 using pupa_dl_get_prefix to get the prefix.
27304 * kern/misc.c: Include <pupa/env.h>.
27305 (pupa_isdigit): New function.
27306 (pupa_isgraph): Likewise.
27307 (pupa_ftoa): Likewise.
27308 (pupa_vsprintf): Added support for printing values of the type
27309 `double'. Make it possible to format variable output when using
27310 formatting like `%1.2%f'.
27311 (pupa_split_cmdline): New function.
27312 * kern/rescue.c: Include <pupa/env.h>.
27313 (next_word): Removed function.
27314 (pupa_rescue_cmd_prefix): Likewise.
27315 (pupa_rescue_cmd_set): New function.
27316 (pupa_rescue_cmd_unset): New function.
27317 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
27318 split the command line instead of splitting it here. Added
27319 support for setting variables using the syntax `foo=bar'. Don't
27320 initialize the prefix command anymore. Initialized the set and
27321 unset commands.
27322 * normal/cmdline.c: Include <pupa/env.h>.
27323 (pupa_tab_complete): Added prototypes for print_simple_completion,
27324 print_partition_completion, add_completion, iterate_commands,
27325 iterate_dev, iterate_part and iterate_dir. Moved code to print
27326 partition information from here to kern/disk.c.
27327 (pupa_cmdline_run): Don't check if the function exists anymore.
27328 * normal/main.c: Include <pupa/env.h>.
27329 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
27330 instead of using pupa_dl_get_prefix to get the prefix.
27331 * term/i386/pc/vga.c: Include <pupa/arg.h>.
27332 (check_vga_mem): Cast pointers to `void *' to silence a gcc
27333 warning.
27334 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
27335 (pupa_vga_setcolor): Declare unused variables with `__attribute__
27336 ((unused))' to silence a gcc warning.
27337 (pupa_vga_setcolor): Likewise.
27338 (debug_command): Changed to match argument parsing
27339 interface changes.
27340 * util/pupa-emu.c: Include <pupa/env.h>.
27341 (options): Added 0's for unused fields to silence a gcc warning.
27342 (argp): Likewise.
27343 (main): Use the environment variable `prefix' instead of using
27344 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
27345 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
27346 and terminal.
27347
27348 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
27349 * util/misc.c: Include <malloc.h>.
27350 (pupa_malloc): Rewritten so errors are correctly reported.
27351 (pupa_realloc): Likewise.
27352 (pupa_memalign): Likewise.
27353 (pupa_mm_init_region): Declare unused variables with
27354 `__attribute__ ((unused))' to silence a gcc warning.
27355 * normal/i386/setjmp.S: Remove tab at the end of the file to
27356 silence a gcc warning.
27357 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
27358 variables with `__attribute__ ((unused))' to silence a gcc
27359 warning.
27360 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
27361 local variable i unsigned to silence a gcc warning.
27362
27363 * kern/term.c: Include <pupa/misc.h>.
27364 (pupa_more_lines): New variable.
27365 (pupa_more): Likewise.
27366 (pupa_putcode): When the pager is active pause at the end of every
27367 screen.
27368 (pupa_set_more): New function.
27369 * include/pupa/term.h (pupa_set_more): New prototype.
27370
27371
27372 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
27373
27374 Now this project is GRUB 2 rather than PUPA. The location of
27375 the CVS repository was moved to GRUB's.
27376
27377 * configure.ac: Use bug-grub as the reporting address.
27378 Use GRUB instead of PUPA.
27379 Change the version number to 1.90.
27380
27381 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
27382
27383 * genkernsyms.sh: Updated copyright information.
27384 * genmk.rb: Likewise.
27385 * genmodsrc.sh: Likewise.
27386 * gensymlist.sh: Likewise.
27387 * boot/i386/pc/boot.S: Likewise.
27388 * boot/i386/pc/diskboot.S: Likewise.
27389 * disk/i386/pc/biosdisk.c: Likewise.
27390 * disk/i386/pc/partition.c: Likewise.
27391 * font/manager.c: Likewise.
27392 * fs/ext2.c: Likewise.
27393 * fs/fat.c: Likewise.
27394 * include/pupa/boot.h: Likewise.
27395 * include/pupa/device.h: Likewise.
27396 * include/pupa/disk.h: Likewise.
27397 * include/pupa/dl.h: Likewise.
27398 * include/pupa/elf.h: Likewise.
27399 * include/pupa/err.h: Likewise.
27400 * include/pupa/file.h: Likewise.
27401 * include/pupa/font.h: Likewise.
27402 * include/pupa/fs.h: Likewise.
27403 * include/pupa/kernel.h: Likewise.
27404 * include/pupa/loader.h: Likewise.
27405 * include/pupa/misc.h: Likewise.
27406 * include/pupa/mm.h: Likewise.
27407 * include/pupa/net.h: Likewise.
27408 * include/pupa/normal.h: Likewise.
27409 * include/pupa/rescue.h: Likewise.
27410 * include/pupa/setjmp.h: Likewise.
27411 * include/pupa/symbol.h: Likewise.
27412 * include/pupa/term.h: Likewise.
27413 * include/pupa/types.h: Likewise.
27414 * include/pupa/i386/setjmp.h: Likewise.
27415 * include/pupa/i386/types.h: Likewise.
27416 * include/pupa/i386/pc/biosdisk.h: Likewise.
27417 * include/pupa/i386/pc/boot.h: Likewise.
27418 * include/pupa/i386/pc/console.h: Likewise.
27419 * include/pupa/i386/pc/init.h: Likewise.
27420 * include/pupa/i386/pc/kernel.h: Likewise.
27421 * include/pupa/i386/pc/linux.h: Likewise.
27422 * include/pupa/i386/pc/loader.h: Likewise.
27423 * include/pupa/i386/pc/memory.h: Likewise.
27424 * include/pupa/i386/pc/multiboot.h: Likewise.
27425 * include/pupa/i386/pc/partition.h: Likewise.
27426 * include/pupa/i386/pc/time.h: Likewise.
27427 * include/pupa/i386/pc/vga.h: Likewise.
27428 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
27429 * include/pupa/util/getroot.h: Likewise.
27430 * include/pupa/util/misc.h: Likewise.
27431 * include/pupa/util/resolve.h: Likewise.
27432 * kern/device.c: Likewise.
27433 * kern/disk.c: Likewise.
27434 * kern/dl.c: Likewise.
27435 * kern/err.c: Likewise.
27436 * kern/file.c: Likewise.
27437 * kern/fs.c: Likewise.
27438 * kern/loader.c: Likewise.
27439 * kern/main.c: Likewise.
27440 * kern/misc.c: Likewise.
27441 * kern/mm.c: Likewise.
27442 * kern/rescue.c: Likewise.
27443 * kern/term.c: Likewise.
27444 * kern/i386/dl.c: Likewise.
27445 * kern/i386/pc/init.c: Likewise.
27446 * kern/i386/pc/lzo1x.S: Likewise.
27447 * kern/i386/pc/startup.S: Likewise.
27448 * loader/i386/pc/chainloader.c: Likewise.
27449 * loader/i386/pc/linux.c: Likewise.
27450 * loader/i386/pc/multiboot.c: Likewise.
27451 * normal/cmdline.c: Likewise.
27452 * normal/command.c: Likewise.
27453 * normal/main.c: Likewise.
27454 * normal/menu.c: Likewise.
27455 * normal/i386/setjmp.S: Likewise.
27456 * term/i386/pc/console.c: Likewise.
27457 * term/i386/pc/vga.c: Likewise.
27458 * util/console.c: Likewise.
27459 * util/genmoddep.c: Likewise.
27460 * util/misc.c: Likewise.
27461 * util/pupa-emu.c: Likewise.
27462 * util/resolve.c: Likewise.
27463 * util/unifont2pff.rb: Likewise.
27464 * util/i386/pc/biosdisk.c: Likewise.
27465 * util/i386/pc/getroot.c: Likewise.
27466 * util/i386/pc/pupa-mkimage.c: Likewise.
27467 * util/i386/pc/pupa-setup.c: Likewise.
27468
27469 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
27470
27471 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
27472 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
27473 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
27474 reading and reset it after reading.
27475 (pupa_ext2_close): Return PUPA_ERR_NONE.
27476
27477 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
27478 Correct value.
27479 (struct linux_kernel_header): Add kernel_version and
27480 initrd_addr_max.
27481 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
27482 pupa_file_read succeeds.
27483 (pupa_rescue_cmd_initrd): Implement.
27484
27485 2003-12-03 Marco Gerards <metgerards@student.han.nl>
27486
27487 * fs/ext2.c (pupa_ext2_label): New function.
27488 (pupa_ext2_fs): Added label.
27489 * fs/fat.c (pupa_fat_label): New function.
27490 (pupa_fat_fs): Added label.
27491 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
27492
27493 * kern/misc.c (pupa_strndup): New function.
27494 * include/pupa/misc.h (pupa_strndup): New prototype.
27495
27496 * include/pupa/normal.h: Include <pupa/err.h>.
27497 (pupa_set_history): New prototype.
27498 (pupa_iterate_commands): New prototype.
27499 * normal/cmdline.c: Include <pupa/machine/partition.h>,
27500 <pupa/disk.h>, <pupa/file.h>.
27501 (hist_size): New variable.
27502 (hist_lines): Likewise.
27503 (hist_end): Likewise.
27504 (hist_used): Likewise.
27505 (pupa_set_history): New function.
27506 (pupa_history_get): Likewise.
27507 (pupa_history_add): Likewise.
27508 (pupa_history_replace): Likewise.
27509 (pupa_tab_complete): Likewise.
27510 (pupa_cmdline_run): Added tab completion and history buffer. Tab
27511 completion shows partitionnames while completing partitions, this
27512 feature was suggested by Jeff Bailey.
27513 * normal/command.c (pupa_iterate_commands): New function.
27514 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
27515 (pupa_normal_init): Initialize history buffer.
27516 (PUPA_MOD_INIT): Likewise.
27517 (pupa_normal_fini): Free the history buffer.
27518 (PUPA_MOD_FINI): Likewise.
27519
27520 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
27521 key.
27522
27523 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
27524 * configure.ac [i386]: Check for regparam bug.
27525 (NESTED_FUNC_ATTR) [! i386]: Defined.
27526
27527 2003-11-17 Marco Gerards <metgerards@student.han.nl>
27528
27529 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
27530 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
27531 (pupa_emu_SOURCES): New variable.
27532 (pupa_emu_LDFLAGS): Likewise.
27533 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
27534 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
27535 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
27536 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
27537 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
27538 (pupa_jmp_buf): New typedef.
27539 (pupa_setjmp) [PUPA_UTIL]: New macro.
27540 (pupa_longjmp) [PUPA_UTIL]: Likewise.
27541 * include/pupa/term.h (struct pupa_term): New member `refresh'.
27542 (pupa_refresh): New prototype.
27543 * include/pupa/util/getroot.h: New file.
27544 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
27545 it.
27546 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
27547 (pupa_rescue_cmd_cat): Likewise.
27548 (pupa_rescue_cmd_ls): Likewise.
27549 (pupa_rescue_cmd_testload): Likewise.
27550 (pupa_rescue_cmd_lsmod): Likewise.
27551 * normal/cmdline.c (pupa_cmdline_get): Likewise.
27552 * normal/menu.c (run_menu): Likewise.
27553 * kern/term.c (pupa_cls): Likewise.
27554 (pupa_refresh): New function.
27555 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
27556 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
27557 * util/console.c: New file.
27558
27559 * util/i386/pc/getroot.c: New file.
27560 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
27561 (pupa_putchar): New function.
27562 (pupa_refresh): Likewise.
27563 (xgetcwd): Function moved to ...
27564 (strip_extra_slashes): Likewise.
27565 (get_prefix): Likewise.
27566 * util/i386/pc/getroot.c: ... here.
27567 (find_root_device): Function moved and renamed to...
27568 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
27569 Changed all callers.
27570 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
27571 and renamed to...
27572 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
27573 Changed all callers.
27574 * util/misc.c (pupa_memalign): New function.
27575 (pupa_mm_init_region): Likewise.
27576 (pupa_register_exported_symbols): Likewise.
27577 (pupa_putchar): Function removed.
27578 * util/pupa-emu.c: New file.
27579
27580 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
27581
27582 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
27583 (_multiboot_mod_SOURCES): New variable.
27584 (_multiboot_mod_CFLAGS): Likewise.
27585 * loader/i386/pc/multiboot.c: New file.
27586 * include/pupa/i386/pc/multiboot.h: Likewise.
27587 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
27588 (pupa_multiboot_real_boot): New function.
27589 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
27590 (pupa_multiboot_real_boot): New prototype.
27591 (pupa_rescue_cmd_multiboot): Likewise
27592 (pupa_rescue_cmd_module): Likewise.
27593
27594 * kern/loader.c (pupa_loader_set): Continue when
27595 pupa_loader_unload_func() fails.
27596 (pupa_loader_unset): New function.
27597 * include/pupa/loader.h (pupa_loader_unset): New prototype.
27598
27599 * kern/misc.c (pupa_stpcpy): New function.
27600 * include/pupa/misc.h (pupa_stpcpy): New prototype.
27601
27602 2003-11-12 Marco Gerards <metgerards@student.han.nl>
27603
27604 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
27605 for available extensions.
27606
27607 * include/pupa/i386/pc/time.h: New file.
27608 * kern/disk.c: Include <pupa/machine/time.h>.
27609 (PUPA_CACHE_TIMEOUT): New macro.
27610 (pupa_last_time): New variable.
27611 (pupa_disk_open): Flush the cache when there was a timeout.
27612 (pupa_disk_close): Reset the timer.
27613 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
27614 pupa_currticks.
27615 * util/misc.c: Include <sys/times.h>
27616 (pupa_get_rtc): New function.
27617
27618 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
27619
27620 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
27621 as blocks.
27622 (pupa_ext2_get_file_block): Use blocks member.
27623
27624 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
27625 first block. Return -1 instead of pupa_errno on error.
27626
27627 2003-10-27 Marco Gerards <metgerards@student.han.nl>
27628
27629 * README: In the pupa-mkimage example use _chain instead of chain
27630 and ext2 instead of fat.
27631 * TODO: Replace ext2fs with jfs as an example. Add an item for
27632 adding journal playback for ext2fs.
27633 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
27634 (pkgdata_MODULES): Added ext2.mod.
27635 (ext2_mod_SOURCES): New variable.
27636 (ext2_mod_CFLAGS): Likewise.
27637 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
27638 * include/pupa/misc.h (pupa_strncpy): New prototype.
27639 (pupa_strcat): Likewise.
27640 (pupa_strncmp): Likewise.
27641 * kern/misc.c (pupa_strcat): Enable function.
27642 (pupa_strncpy): New function.
27643 (pupa_strncmp): Likewise.
27644 * fs/ext2.c: New file.
27645
27646 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
27647 when the read failed before retrying.
27648 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
27649 (_FILE_OFFSET_BITS): Likewise.
27650 * configure.ac: Added AC_SYS_LARGEFILE.
27651
27652 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
27653
27654 * genmk.rb (PModule#rule): Make sure to get only symbol names
27655 from the output of nm.
27656 Reported by Robert Millan <rmh.grub@aybabtu.com>.
27657
27658 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
27659
27660 I forgot to check in these changes for a long time. This adds
27661 incomplete support for VGA console, and this is still very
27662 buggy. Also, a lot of consideration is required for I18N,
27663 UNICODE, and VGA font issues. Therefore, assume that this is
27664 such that "better than nothing".
27665
27666 * font/manager.c: New file.
27667 * include/pupa/font.h: Likewise.
27668 * include/pupa/i386/pc/vga.h: Likewise.
27669 * term/i386/pc/vga.c: Likewise.
27670 * util/unifont2pff.rb: Likewise.
27671
27672 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
27673 (pkgdata_MODULES): Added vga.mod and font.mod.
27674 (vga_mod_SOURCES): New variables.
27675 (vga_mod_CFLAGS): Likewise.
27676 (font_mod_SOURCES): Likewise.
27677 (font_mod_CFLAGS): Likewise.
27678
27679 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
27680
27681 * include/pupa/term.h: Include pupa/err.h.
27682 (struct pupa_term): Added init and fini.
27683 Changed the argument of putchar to pupa_uint32_t.
27684
27685 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
27686 (pupa_console_real_putchar): New prototype.
27687 (pupa_console_putchar): Removed.
27688 (pupa_console_checkkey): Exported.
27689 (pupa_console_getkey): Likewise.
27690
27691 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
27692 characters.
27693
27694 * kern/term.c (pupa_term_set_current): Rewritten.
27695 (pupa_putchar): Likewise.
27696 (pupa_putcode): New function.
27697
27698 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
27699 (pupa_console_real_putchar): ... this.
27700 (pupa_vga_set_mode): New function.
27701 (pupa_vga_get_font): Likewise.
27702
27703 * normal/command.c: Include pupa/term.h.
27704 (terminal_command): New function.
27705 (pupa_command_init): Register the command "terminal".
27706
27707 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
27708 (DISP_UP): Likewise.
27709 (DISP_RIGHT): Likewise.
27710 (DISP_DOWN): Likewise.
27711 (DISP_HLINE): Likewise.
27712 (DISP_VLINE): Likewise.
27713 (DISP_UL): Likewise.
27714 (DISP_UR): Likewise.
27715 (DISP_LL): Likewise.
27716 (DISP_LR): Likewise.
27717
27718 * term/i386/pc/console.c (pupa_console_putchar): New function.
27719
27720 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
27721
27722 * util/resolve.c (pupa_util_resolve_dependencies): BUG
27723 FIX. Reverse the path_list.
27724
27725 * include/pupa/normal.h: Export pupa_register_command and
27726 pupa_unregister_command.
27727
27728 * hello/hello.c (pupa_cmd_hello): New module.
27729 * conf/i386-pc.rmk: Added hello.mod.
27730
27731 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
27732
27733 * kern/i386/pc/lzo1x.S: New file.
27734
27735 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
27736 (compress_kernel): New variable.
27737 (generate_image): Heavily modified to support compressing a
27738 large part of the core image.
27739
27740 * util/misc.c (pupa_util_read_image): Fix a file descriptor
27741 leak.
27742 (pupa_util_load_image): New function.
27743
27744 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
27745 (pupa_compressed_size): New variable.
27746 (codestart): Enable Gate A20 here.
27747 Decompress the compressed part of the core image.
27748 Rearrange the code to put functions and variables which are
27749 required for initialization in the non-compressed part.
27750 Include lzo1x.S.
27751
27752 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
27753 here.
27754
27755 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
27756
27757 * include/pupa/i386/pc/kernel.h
27758 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
27759 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
27760 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
27761 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
27762 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
27763
27764 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
27765
27766 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
27767 (Utility#rule): Likewise.
27768
27769 * configure.ac: Check if LZO is available.
27770
27771 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
27772
27773 * include/pupa/normal.h: New file.
27774 * include/pupa/setjmp.h: Likewise.
27775 * include/pupa/i386/setjmp.h: Likewise.
27776 * normal/cmdline.c: Likewise.
27777 * normal/command.c: Likewise.
27778 * normal/main.c: Likewise.
27779 * normal/menu.c: Likewise.
27780 * normal/i386/setjmp.S: Likewise.
27781
27782 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
27783 (pupa_rescue_cmd_initrd): Likewise.
27784
27785 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
27786 Likewise.
27787
27788 * kern/i386/pc/startup.S (translation_table): New variable.
27789 (translate_keycode): New function.
27790 (pupa_console_getkey): Call translate_keycode.
27791
27792 * kern/rescue.c (attempt_normal_mode): New function.
27793 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
27794 it failed, print a message.
27795
27796 * kern/mm.c (pupa_real_malloc): Print more information when a
27797 free magic is broken.
27798 (pupa_free): If the first free header is not free actually, set
27799 it to P.
27800
27801 * kern/main.c (pupa_load_normal_mode): Just load the module
27802 "normal".
27803 (pupa_main): Don't print the message
27804 "Entering into rescue mode..." here.
27805
27806 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
27807 Declared.
27808 (pupa_rescue_cmd_initrd): Likewise.
27809 (pupa_rescue_cmd_initrd): Likewise.
27810
27811 * include/pupa/symbol.h (FUNCTION): Specify the type.
27812 (VARIABLE): Likewise.
27813
27814 * include/pupa/err.h (pupa_err_t): Added
27815 PUPA_ERR_UNKNOWN_COMMAND.
27816
27817 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
27818 (pupa_dl_get_prefix): Likewise.
27819
27820 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
27821 Added _chain.mod and _linux.mod instead of chain.mod and
27822 linux.mod.
27823 (chain_mod_SOURCES): Renamed to ...
27824 (_chain_mod_SOURCES): ... this.
27825 (chain_mod_CFLAGS): Renamed to ...
27826 (_chain_mod_CFLAGS): ... this.
27827 (linux_mod_SOURCES): Renamed to ...
27828 (_linux_mod_SOURCES): ... this.
27829 (linux_mod_CFLAGS): Renamed to ...
27830 (_linux_mod_CFLAGS): ... this.
27831 (normal_mod_SOURCES): New variable.
27832 (normal_mod_CFLAGS): Likewise.
27833 (normal_mod_ASFLAGS): Likewise.
27834
27835 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
27836
27837 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
27838 possible.
27839
27840 * kern/dl.c (pupa_dl_ref): Refer depending modules
27841 recursively.
27842 (pupa_dl_unref): Unrefer depending modules recursively.
27843 Don't call pupa_dl_unload implicitly, because PUPA can crash if
27844 a module is unloaded before one depending on that module is
27845 unloaded.
27846 (pupa_dl_unload): Unload depending modules explicitly,
27847 if possible.
27848
27849 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
27850
27851 * include/pupa/i386/pc/linux.h: New file.
27852 * loader/i386/pc/linux.c: Likewise.
27853
27854 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
27855 Removed.
27856 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
27857 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
27858 of PUPA_CHAINLOADER_BOOT_SECTOR.
27859
27860 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
27861 (pupa_linux_prot_size): New variable.
27862 (pupa_linux_tmp_addr): Likewise.
27863 (pupa_linux_real_addr): Likewise.
27864 (pupa_linux_boot_zimage): New function.
27865 (pupa_linux_boot_bzimage): Likewise.
27866
27867 * kern/i386/pc/init.c (struct mem_region): New structure.
27868 (MAX_REGIONS): New macro.
27869 (mem_regions): New variable.
27870 (num_regions): Likewise.
27871 (pupa_os_area_addr): Likewise.
27872 (pupa_os_area_size): Likewise.
27873 (pupa_lower_mem): Likewise.
27874 (pupa_upper_mem): Likewise.
27875 (add_mem_region): New function.
27876 (compact_mem_regions): Likewise.
27877 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
27878 the size of the conventional memory and that of so-called upper
27879 memory (before the first memory hole).
27880 Instead of adding each found region to free memory, use
27881 add_mem_region and add them after removing overlaps.
27882 Also, add only 1/4 of the upper memory to free memory. The rest
27883 is used for loading OS images. Maybe this is ad hoc, but this
27884 makes it much easier to relocate OS images when booting.
27885
27886 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
27887 (pupa_enter_rescue_mode): Don't register initrd and module.
27888
27889 * kern/mm.c: Include pupa/dl.h.
27890
27891 * kern/main.c: Include pupa/file.h and pupa/device.h.
27892
27893 * kern/loader.c (pupa_loader_load_module_func): Removed.
27894 (pupa_loader_load_module): Likewise.
27895
27896 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
27897 ``.o''.
27898
27899 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
27900 (pupa_linux_tmp_addr): Likewise.
27901 (pupa_linux_real_addr): Likewise.
27902 (pupa_linux_boot_zimage): Likewise.
27903 (pupa_linux_boot_bzimage): Likewise.
27904
27905 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
27906 (pupa_upper_mem): Likewise.
27907 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
27908 module is too dangerous.
27909
27910 * include/pupa/loader.h (pupa_os_area_addr): Declared.
27911 (pupa_os_area_size): Likewise.
27912 (pupa_loader_set): Remove the first argument. Loader doesn't
27913 manage modules or initrd any longer.
27914 (pupa_loader_load_module): Removed.
27915
27916 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
27917 (linux_mod_SOURCES): New variable.
27918 (linux_mod_CFLAGS): Likewise.
27919
27920 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
27921
27922 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
27923 the length of a blocklist correctly.
27924
27925 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
27926 Use ioctl only if the OS file is a block device.
27927 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
27928 not very useful for normal files.
27929
27930 * kern/main.c (pupa_set_root_dev): New function.
27931 (pupa_load_normal_mode): Likewise.
27932 (pupa_main): Call those above.
27933
27934 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
27935 pupa_uint16_t.
27936
27937 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
27938
27939 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
27940
27941 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
27942 (setup): Configure the installed partition information and the
27943 dl prefix.
27944
27945 * loader/i386/pc/chainloader.c (my_mod): New variable.
27946 (pupa_chainloader_unload): New function.
27947 (pupa_rescue_cmd_chainloader): Refer itself.
27948 (PUPA_MOD_INIT): Save its own module in MY_MOD.
27949
27950 * kern/i386/pc/startup.S (install_partition): Removed.
27951 (version_string): Likewise.
27952 (config_file): Likewise.
27953 (pupa_install_dos_part): New variable.
27954 (pupa_install_bsd_part): Likewise.
27955 (pupa_prefix): Likewise.
27956 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
27957
27958 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
27959 and pupa/misc.h.
27960 (make_install_device): New function.
27961 (pupa_machine_init): Set the dl prefix.
27962
27963 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
27964 (buf): Renamed to ...
27965 (linebuf): ... this.
27966 (pupa_rescue_cmd_prefix): New function.
27967 (pupa_rescue_cmd_insmod): Likewise.
27968 (pupa_rescue_cmd_rmmod): Likewise.
27969 (pupa_rescue_cmd_lsmod): Likewise.
27970 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
27971 rmmod and lsmod.
27972
27973 * kern/mm.c (pupa_memalign): If failed even after invalidating
27974 disk caches, unload unneeded modules and retry.
27975
27976 * kern/misc.c (pupa_memmove): New function.
27977 (pupa_memcpy): Removed.
27978 (pupa_strcpy): New function.
27979 (pupa_itoa): Made static.
27980
27981 * kern/dl.c (pupa_dl_iterate): New function.
27982 (pupa_dl_ref): Likewise.
27983 (pupa_dl_unref): Likewise.
27984 (pupa_dl_unload): Return if succeeded or not.
27985 (pupa_dl_unload_unneeded): New function.
27986 (pupa_dl_unload_all): Likewise.
27987 (pupa_dl_init): Renamed to ...
27988 (pupa_dl_set_prefix): ... this.
27989 (pupa_dl_get_prefix): New function.
27990
27991 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
27992 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
27993 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
27994 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
27995 (pupa_install_dos_part): Declared.
27996 (pupa_install_bsd_part): Likewise.
27997 (pupa_prefix): Likewise.
27998 (pupa_boot_drive): Likewise.
27999
28000 * include/pupa/types.h: Fix a typo.
28001
28002 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
28003 pupa_memmove.
28004 (pupa_memmove): Declared.
28005 (pupa_strcpy): Likewise.
28006
28007 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
28008 pupa_mod_init takes one argument, its own module.
28009 (pupa_dl_unload_unneeded): Declared.
28010 (pupa_dl_unload_all): Likewise.
28011 (pupa_dl_ref): Likewise.
28012 (pupa_dl_unref): Likewise.
28013 (pupa_dl_iterate): Likewise.
28014 (pupa_dl_init): Renamed to ...
28015 (pupa_dl_set_prefix): ... this.
28016 (pupa_dl_get_prefix): Declared.
28017
28018 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
28019 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
28020 unloaded.
28021 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
28022 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
28023
28024 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
28025 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
28026
28027 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
28028
28029 * util/i386/pc/pupa-setup.c (setup): Define the internal
28030 function find_first_partition_start at the top level, because GCC
28031 3.0.x cannot compile internal functions in deeper scopes
28032 correctly.
28033 (find_root_device): Use lstat instead of stat.
28034 Don't follow symbolic links.
28035 Fix the path-constructing code.
28036
28037 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
28038 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
28039 by a BLKGETSIZE ioctl first, because block devices don't fill
28040 the member st_mode of the structure stat on Linux.
28041 [__linux__] (linux_find_partition): Use a temporary buffer
28042 REAL_DEV for the working space. Copy it to DEV before returning.
28043 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
28044 buffer cache consistent.
28045 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
28046 strncmp. The previous value was merely wrong.
28047 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
28048
28049 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
28050 FAT size is 12. The previous value was merely wrong.
28051
28052 * kern/main.c (pupa_main): Don't split the starting message from
28053 newlines.
28054
28055 * kern/term.c (pupa_putchar): Put CR after LF instead of before
28056 LF, because BIOS goes crazy about character attributes in this
28057 case.
28058
28059 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
28060
28061 * include/i386/pc/util/biosdisk.h: New file.
28062 * util/i386/pc/biosdisk.c: Likewise.
28063 * util/i386/pc/pupa-setup.c: Likewise.
28064
28065 * Makefile.in (INCLUDE_DISTFILES): Added
28066 include/pupa/i386/pc/util/biosdisk.h.
28067 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
28068 directory util/i386/pc.
28069 (install-local): Added a rule for sbin_UTILITIES.
28070 (uninstall): Likewise.
28071
28072 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
28073
28074 * util/misc.c (xrealloc): New function.
28075 (pupa_malloc): Likewise.
28076 (pupa_free): Likewise.
28077 (pupa_realloc): Likewise.
28078 (pupa_stop): Likewise.
28079 (pupa_putchar): Likewise.
28080
28081 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
28082
28083 * include/pupa/util/misc.h (xrealloc): Declared.
28084
28085 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
28086 macro.
28087 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
28088 (PUPA_BOOT_MACHINE_BPB_END): ... this.
28089
28090 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
28091 [PUPA_UTIL] (pupa_fat_fini): Likewise.
28092
28093 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
28094 way should be implemented.
28095 [PUPA_UTIL] (pupa_fat_fini): Likewise.
28096
28097 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
28098 the size of NAME for safety.
28099 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
28100 0x88.
28101
28102 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
28103 (pupa_setup_SOURCES): Likewise.
28104
28105 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
28106
28107 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
28108
28109 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
28110 bunch of pushl's from pusha, because this destroys the return
28111 value.
28112
28113 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
28114
28115 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
28116 This means that any missing prototypes could be fatal. Also, you
28117 must take care when writing assembly code. See the comments at
28118 the beginning of startup.S, for more details.
28119
28120 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
28121 compilation mechanism.
28122 (pupa_chainloader_real_boot): Likewise.
28123 (pupa_biosdisk_rw_int13_extensions): Likewise.
28124 (pupa_biosdisk_rw_standard): Likewise.
28125 (pupa_biosdisk_check_int13_extensions): Likewise.
28126 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
28127 (pupa_biosdisk_get_diskinfo_standard): Likewise.
28128 (pupa_get_memsize): Likewise.
28129 (pupa_get_mmap_entry): Likewise.
28130 (pupa_console_putchar): Likewise.
28131 (pupa_console_setcursor): Likewise.
28132 (pupa_getrtsecs): Use pushl instead of push.
28133
28134 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
28135 memory instead of the stack for a mmap entry, because some
28136 BIOSes may ignore the maximum size and overflow.
28137
28138 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
28139
28140 * genmk.rb (PModule#rule): Compile automatically generated
28141 sources with module-specific CFLAGS as well as other sources.
28142
28143 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28144
28145 * configure.ac: Check ld.
28146 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
28147 respectively, before checking endianness and sizes.
28148
28149 * Makefile.in (LD): New variable.
28150
28151 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28152
28153 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
28154
28155 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28156
28157 * Changelog: New file.
28158