]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
[grub2.git] / ChangeLog
CommitLineData
2bdb2892
CW
12010-07-02 Colin Watson <cjwatson@ubuntu.com>
2
3 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
4 devices when iterating over /dev/disk/by-id; they will be handled
5 later if appropriate, which they aren't always (e.g. LVM).
6
e03ed6c1
CW
72010-07-02 Colin Watson <cjwatson@ubuntu.com>
8
9 * include/grub/misc.h (grub_reboot): Declare as noreturn.
10 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
11 fails.
12 (grub_halt): Likewise.
13 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
14 reset-all fails.
15 (grub_halt): Don't return, even if all of shut-down, power-off, and
16 poweroff fail.
17
47695765
CW
182010-07-02 Colin Watson <cjwatson@ubuntu.com>
19
20 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
21 arguments, not three.
22
507736c8
CW
232010-07-02 Colin Watson <cjwatson@ubuntu.com>
24
25 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
26 * util/grub.d/10_linux.in: Use it to check for LVM, so that
27 LVM-on-RAID is handled correctly.
28
e3c8cd37
CW
292010-07-02 Colin Watson <cjwatson@ubuntu.com>
30
31 * docs/grub.texi (Changes from GRUB Legacy): New section.
32 (Future): Fix typo.
33
8d4a2fec
CW
342010-07-02 Colin Watson <cjwatson@ubuntu.com>
35
36 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
37 grub.d/README accidentally ends up executable for one reason or
38 another. Ignore it.
39
1c4827be
VS
402010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
43 (gpt_partition_map_iterate): Support non-512B sectors.
44
d9a0c941
VS
452010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * kern/efi/init.c (grub_efi_init): Disable watchdog.
48 Tested by: Seth Goldberg.
49
48f27e87
VS
502010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
53 Properly align mbi.
54 Reported by: Seth Goldberg.
55
b0c4f956
VS
562010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * util/grub-mkrescue.in: Avoid module duplication.
59
105a2e8c
SF
602010-07-01 Sean Finney <seanius@seanius.net>
61
62 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
63
5944958c
SF
642010-07-01 Sean Finney <seanius@seanius.net>
65
66 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
67
682010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * disk/lvm.c (grub_lvm_checkvalue): New function.
71 (grub_lvm_check_flag): Likewise.
72
b79889ba
RM
732010-07-01 Robert Millan <rmh@gnu.org>
74
75 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
76 Support 'p' as partition separator on kernel of FreeBSD (used
77 with GPT labels).
78 (grub_util_biosdisk_get_grub_dev): Likewise.
79
ec1d04f1
VS
802010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
81
82 Yeeloong firmware port.
83
84 * boot/mips/yeeloong/fwstart.S: New file.
85 * bus/cs5536.c (gpiodump): New const.
86 (set_io_space): New function.
87 (set_iod): Likewise.
88 (set_p2d): Likewise.
89 (grub_cs5536_init_geode): Likewise.
90 * commands/mips/yeeloong/lsspd.c: New file.
91 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
92 (serial_mod_SOURCES): New variable.
93 (serial_mod_CFLAGS): Likewise.
94 (serial_mod_LDFLAGS): Likewise.
95 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
96 term/terminfo.c and term/tparm.c.
97 (pkglib_IMAGES): Add fwstart.img.
98 (fwstart_img_SOURCES): New variable.
99 (fwstart_img_CFLAGS): Likewise.
100 (fwstart_img_ASFLAGS): Likewise.
101 (fwstart_img_LDFLAGS): Likewise.
102 (fwstart_img_FORMAT): Likewise.
103 (pkglib_MODULES): Add lsspd.mod.
104 (lsspd_mod_SOURCES): New variable.
105 (lsspd_mod_CFLAGS): Likewise.
106 (lsspd_mod_LDFLAGS): Likewise.
107 (pkglib_MODULES): Add halt.mod.
108 (halt_mod_SOURCES): New variable.
109 (halt_mod_CFLAGS): Likewise.
110 (halt_mod_LDFLAGS): Likewise.
111 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
112 (serial_mod_SOURCES): Removed.
113 (serial_mod_CFLAGS): Likewise.
114 (serial_mod_LDFLAGS): Likewise.
115 * disk/ata.c (check_device): New function.
116 (grub_ata_device_initialize): Use check_device.
117 (grub_ata_iterate): Recheck devices.
118 (grub_ata_open): Likewise.
119 (grub_atapi_iterate): Likewise.
120 (grub_atapi_open): Likewise.
121 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
122 (GRUB_ATA_CH1_PORT1): Likewise.
123 (GRUB_ATA_CH0_PORT2): Likewise.
124 (GRUB_ATA_CH1_PORT2): Likewise.
125 * include/grub/mips/loongson.h: New file.
126 * include/grub/mips/yeeloong/ec.h: Likewise.
127 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
128 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
129 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
130 * include/grub/misc.h (grub_halt): Declare as noreturn.
131 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
132 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
133 (UART_ENABLE_FIFO_TRIGGER1): New definition.
134 (UART_ENABLE_DTRRTS): Likewise.
135 (UART_ENABLE_MODEM): Removed.
136 (UART_ENABLE_OUT2): New const.
137 * include/grub/term.h (grub_term_register_input_active): New function.
138 (grub_term_register_output_active): Likewise.
139 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
140 argument.
141 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
142 (init_pci): New function.
143 (grub_machine_init): Execute platform init when firmware. Init serial.
144 (grub_halt): Implement.
145 (grub_exit): Likewise.
146 (grub_reboot): Likewise.
147 * term/serial.c (serial_hw_init): Update macros.
148 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
149 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
150 (image_targets): New target mipsel-yeeloong-flash.
151 (generate_image): Support IMAGE_YEELOONG_FLASH.
152 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
153 (grub_video_sm712_setup): Init card.
154 (grub_video_sm712_set_palette): Removed.
155 * video/sm712_init.c: New file.
156
ff4a70d2
CW
1572010-06-30 Colin Watson <cjwatson@ubuntu.com>
158
159 * Makefile.in (install-local): Temporarily prepend $(builddir) to
160 PATH when running help2man and then run it on the unadorned
161 executable names, rather than passing $(builddir)/* paths to
162 help2man. This avoids the build directory ending up in generated
163 manual pages.
164
1246efeb
CW
1652010-06-29 Colin Watson <cjwatson@ubuntu.com>
166
167 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
168 to avoid accidents when debugging with 'sh -x'.
169 * util/grub-mkrescue.in: Likewise.
170 * util/grub.d/00_header.in: Likewise.
171 * util/grub.d/10_hurd.in: Likewise.
172 * util/grub.d/10_kfreebsd.in: Likewise.
173 * util/grub.d/10_linux.in: Likewise.
174 * util/grub.d/10_netbsd.in: Likewise.
175 * util/grub.d/10_windows.in: Likewise.
176 * util/grub.d/20_linux_xen.in: Likewise.
177 * util/grub.d/30_os-prober.in: Likewise.
178 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
179
1ba9b889
CW
1802010-06-29 Colin Watson <cjwatson@ubuntu.com>
181
182 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
183 last character in the buffer.
184 Reported by: Vladimir Serbinenko.
185
dccaf99d
RM
1862010-06-29 Robert Millan <rmh@gnu.org>
187
188 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
189 (Command-line and menu entry commands): Document `badram' command.
190
d500ed12
RM
1912010-06-28 Robert Millan <rmh@gnu.org>
192
193 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
194 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
195 command using ${GRUB_BADRAM} as parameter.
196
20bc84a6
CW
1972010-06-28 Colin Watson <cjwatson@ubuntu.com>
198
199 * docs/grub.texi (Device map): New section.
200 (Themes): New section (stub).
201 * Makefile.in (docs/grub.info): The info documentation now builds
202 without errors. Make sure it stays that way.
203
4045dee1
VS
2042010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
205
206 Use normal parser for menu entries.
207 Reported by: Thomas Frauendorfer
208
209 * include/grub/parser.h (grub_parser_execute): Don't export.
210 * normal/menu.c (grub_menu_execute_entry_real): New function.
211 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
212
bca58c7b
CW
2132010-06-28 Colin Watson <cjwatson@ubuntu.com>
214
215 * docs/grub.texi (Embedded configuration): New section (replacing
216 old "Preset Menu" stub).
217 (Images): New section.
218 (configfile): Note that any menu entries defined in `file' are shown
219 immediately.
220
dec53e63
JT
2212010-06-28 Josh Triplett <josh@joshtriplett.org>
222
223 * mmap/i386/pc/mmap_helper.S: Set CF on return.
224
c06e40f7
CW
2252010-06-28 Colin Watson <cjwatson@ubuntu.com>
226
227 * util/grub-install.in: Add --debug-image= option.
228
cb88052b
CW
2292010-06-28 Colin Watson <cjwatson@ubuntu.com>
230
231 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
232 possible on Linux.
233
234 * util/deviceiter.c (check_device): Rename to ...
235 (check_device_readable_unique): ... this. Update all callers.
236 Maintain and check a list of which devices (by canonicalized name)
237 have already been seen.
238 (clear_seen_devices): New function.
239 (compare_file_names) [__linux__]: New function.
240 (grub_util_iterate_devices): Clear the list of seen devices on exit
241 and (just in case) on entry.
242 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
243 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
244 seen-devices list, superseded by general code in check_device.
245
bbe34652
CW
2462010-06-28 Colin Watson <cjwatson@ubuntu.com>
247
248 * commands/cat.c (options): New variable.
249 (grub_cmd_cat): Parse options. If the --dos option is given, print
250 DOS-style "\r\n" line endings as simple newlines (Debian bug
251 #586358).
252 (GRUB_MOD_INIT): Use extcmd.
253 (GRUB_MOD_FINI): Likewise.
254 * docs/grub.texi (cat): Document --dos.
255
412e09f3
VS
2562010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
257
258 XEN with Linux grub-mkconfig support.
259
260 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
261 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
262 GRUB_CMDLINE_XEN_DEFAULT.
263 * util/grub.d/20_linux_xen.in: New file.
264
53f3ef38 2652010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
266
267 Initialise VGA video on qemu ourselves.
268
269 * boot/i386/qemu/boot.S: Don't call 0xc000.
270 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
271 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
272 (kernel_img_HEADERS): Add pci.h.
273 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
274 * configure.ac: Force unifont on qemu and yeeloong.
275 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
276 (grub_vga_palette_write): Use correct register.
277 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
278 Call grub_qemu_init_cirrus.
279 * kern/i386/qemu/init.c: New file.
280 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
281
282 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
283
c75be4fb
PR
2842010-06-26 Pavel Roskin <proski@gnu.org>
285
286 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
287 13.
288
d8034603
CW
2892010-06-26 Colin Watson <cjwatson@ubuntu.com>
290
291 * docs/grub.texi (Simple configuration): Explain that
292 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
293 set to `true' to disable their respective recovery entries, not
294 merely set.
295
3fa06487
CW
2962010-06-26 Colin Watson <cjwatson@ubuntu.com>
297
298 Make the `source' command slightly faster.
299
300 * normal/main.c (grub_normal_execute): Don't re-read list files when
301 nested.
302
e9b29642
CW
3032010-06-23 Colin Watson <cjwatson@ubuntu.com>
304
305 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
306 field position and mask size to red fields from mode_info, not
307 green.
308 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
309 Remove redundant tag->common.framebuffer_type assignment.
310 Reported by: Seth Goldberg.
311
e726542f
CW
3122010-06-23 Colin Watson <cjwatson@ubuntu.com>
313
314 Sync up other versions of the Linux loader with Robert Millan's
315 change of 2010-01-09, "Make loader output a bit more user-friendly".
316
317 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
318 grub_dprintf().
319 (grub_cmd_linux): Likewise.
320 (grub_cmd_initrd): Likewise.
321 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
322 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
323
d6e98a17
CW
3242010-06-21 Colin Watson <cjwatson@ubuntu.com>
325
326 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
327 larger than MEMORY_MAP_SIZE.
328
14d3f08e
BC
3292010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
330
331 Fix parallel build.
332
333 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
334 dependency.
335 * script/parser.y: #include grub_script.tab.h header.
336
4f9613a3
VS
3372010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
338
339 Support >3GiB and <16MiB RAM in i386-qemu.
340
341 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
342 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
343 (grub_lower_mem): Removed.
344 (grub_upper_mem): Likewise.
345 (mem_size): Made static.
346 (above_4g): New variable.
347 (grub_machine_mmap_init): Detect small mem_size and above_4g.
348 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
349 support.
350
05e51879
VS
3512010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
352
353 Cirrus 5446 and Bochs video cards support.
354
355 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
356 video_bochs.mod
357 (video_cirrus_mod_SOURCES): New variable.
358 (video_cirrus_mod_CFLAGS): Likewise.
359 (video_cirrus_mod_LDFLAGS): Likewise.
360 (video_bochs_mod_SOURCES): Likewise.
361 (video_bochs_mod_CFLAGS): Likewise.
362 (video_bochs_mod_LDFLAGS): Likewise.
363 * include/grub/vga.h: New file.
364 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
365 (grub_video_fb_set_page_t): New type.
366 (grub_video_fb_setup): New prototype.
367 (grub_video_fb_swap_buffers): Likewise.
368 (grub_video_fb_get_info_and_fini): Likewise.
369 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
370 (CRTC_DATA_PORT): Likewise.
371 (CRTC_CURSOR): Likewise.
372 (CRTC_CURSOR_ADDR_HIGH): Likewise.
373 (CRTC_CURSOR_ADDR_LOW): Likewise.
374 (CRTC_CURSOR_DISABLE): Likewise.
375 (update_cursor): Use grub_vga_cr_write.
376 (grub_vga_text_setcursor): Likewise.
377 * video/bochs.c: New file.
378 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
379 (palette): Likewise.
380 (palette_size): Likewise.
381 (framebuffer): New variable.
382 (grub_video_fb_init): Use 'framebuffer'.
383 (grub_video_fb_fini): Likewise.
384 (grub_video_fb_get_info): Likewise.
385 (grub_video_fb_get_palette): Likewise.
386 (grub_video_fb_set_palette): Likewise.
387 (grub_video_fb_set_viewport): Likewise.
388 (grub_video_fb_get_viewport): Likewise.
389 (grub_video_fb_map_color): Likewise.
390 (grub_video_fb_map_rgb): Likewise.
391 (grub_video_fb_map_rgba): Likewise.
392 (grub_video_fb_unmap_color): Likewise.
393 (grub_video_fb_unmap_color_int): Likewise.
394 (grub_video_fb_fill_rect): Likewise.
395 (grub_video_fb_blit_bitmap): Likewise.
396 (grub_video_fb_blit_render_target): Likewise.
397 (grub_video_fb_scroll): Likewise.
398 (grub_video_fb_create_render_target): Likewise.
399 (grub_video_fb_doublebuf_blit_init): Likewise.
400 (grub_video_fb_set_active_render_target): Handle doublebuffering.
401 (doublebuf_pageflipping_update_screen): New function.
402 (doublebuf_pageflipping_init): Likewise.
403 (grub_video_fb_setup): Likewise.
404 (grub_video_fb_swap_buffers): Likewise.
405 (grub_video_fb_get_info_and_fini): Likewise.
406 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
407 All users updated.
408 (doublebuf_pageflipping_commit): Restructured into ...
409 (doublebuf_pageflipping_set_page): ... this.
410 (doublebuf_pageflipping_update_screen): Removed.
411 (doublebuf_pageflipping_init): Likewise.
412 (double_buffering_init): Likewise.
413 (grub_video_vbe_setup): Use grub_video_fb_setup.
414 (grub_video_vbe_swap_buffers): Removed.
415 (grub_video_vbe_set_active_render_target): Likewise.
416 (grub_video_vbe_get_active_render_target): Likewise.
417 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
418 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
419 grub_video_fb_set_active_render_target and
420 grub_video_fb_get_active_render_target.
421 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
422 (SEQUENCER_DATA_PORT): Likewise.
423 (MAP_MASK_REGISTER): Likewise.
424 (CRTC_ADDR_PORT): Likewise.
425 (CRTC_DATA_PORT): Likewise.
426 (START_ADDR_HIGH_REGISTER): Likewise.
427 (START_ADDR_LOW_REGISTER): Likewise.
428 (GRAPHICS_ADDR_PORT): Likewise.
429 (GRAPHICS_DATA_PORT): Likewise.
430 (READ_MAP_REGISTER): Likewise.
431 (INPUT_STATUS1_REGISTER): Likewise.
432 (INPUT_STATUS1_VERTR_BIT): Likewise.
433 (get_map_mask): Use grub_vga_sr_read.
434 (set_map_mask): Use grub_vga_sr_write.
435 (set_read_map): Use grub_vga_gr_write.
436 (set_start_address): Use grub_vga_cr_write.
437 * video/sm712.c (framebuffer): Remove leftover fields.
438
4321c64a
CW
4392010-06-20 Colin Watson <cjwatson@ubuntu.com>
440
441 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
442 setting GRUB_VIDEO_BACKEND. Make it available as a user override
443 instead. Replace the gfxterm backend check with a check that
444 ${GRUB_PREFIX}/video.lst is non-empty.
445 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
446 again.
447 (load_video): New generated function. Call it before loading
448 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
449 * util/grub.d/10_linux.in (linux_entry): Call load_video.
450 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
451 * docs/grub.texi (Simple configuration): Document
452 GRUB_VIDEO_BACKEND.
453
4542010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
455
456 Use video functions in linux and xnu loaders.
457
458 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
459 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
460 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
461 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
462 loader/i386/pc/linux.c.
463 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
464 (find_line_len): Removed.
465 (find_framebuf): Likewise.
466 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
467 * loader/i386/efi/xnu.c: Removed.
468 * loader/i386/pc/xnu.c: Moved from here...
469 * loader/i386/xnu.c: ...here.
470
471 Enable priorities in video drivers.
472
473 * include/grub/video.h (grub_video_adapter_prio_t): New type.
474 (grub_video_adapter): New field prio.
475 (grub_video_register): Respect prio when inserting.
476 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
477 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
478 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
479 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
480 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
481 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
482 * video/sm712.c (grub_video_sm712_adapter): Likewise.
483
484 Fix SDL driver ID.
485
486 * include/grub/video.h (grub_video_driver_id_t): New value
487 GRUB_VIDEO_DRIVER_SDL.
488 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
489
7d24e434
CW
4902010-06-17 Colin Watson <cjwatson@ubuntu.com>
491
492 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
493 argument to printf.
494 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
495
c88a83f6
CW
4962010-06-17 Colin Watson <cjwatson@ubuntu.com>
497
498 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
499 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
500
094dfb69
CW
5012010-06-17 Colin Watson <cjwatson@ubuntu.com>
502
503 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
504 directly, and recommend grub-install instead.
505 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
506
2164da6b
CW
5072010-06-17 Colin Watson <cjwatson@ubuntu.com>
508
509 Fix i386-pc prefix handling with nested partitions (Debian bug
510 #585068). Note that the case where the core image is booted using
511 multiboot and relocated from its original location still requires
512 more work.
513
514 * kern/i386/pc/init.c (make_install_device): If the prefix starts
515 with "(,", fill the boot drive in between those two characters, but
516 expect that a full partition specification including partition map
517 names will follow.
518 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
519 specified, write a prefix without the drive name but including a
520 full partition specification.
521
044e2e60
CW
5222010-06-16 Colin Watson <cjwatson@ubuntu.com>
523
524 * util/grub-mkconfig.in: Ignore non-option arguments, for
525 compatibility with older versions (before 2010-06-12) which did the
526 same. In particular, this makes it easier to ship an update-grub
527 wrapper which is compatible with that used with GRUB Legacy (Debian
528 bug #586056).
529
5591324f
GS
5302010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
531
532 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
533 for manual page generation.
534
662e24d5
GS
5352010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
536
537 * po/POTFILES: Remove leftover commands/handler.c.
538
8d70754e
CW
5392010-06-14 Colin Watson <cjwatson@ubuntu.com>
540
541 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
542 left this script non-functional.
543
41160e2e
CW
5442010-06-14 Colin Watson <cjwatson@ubuntu.com>
545
546 * docs/man/grub-emu.h2m: New file.
547
b5309cc1
CW
5482010-06-13 Colin Watson <cjwatson@ubuntu.com>
549
550 * docs/grub.texi (Commands): Document reduced command set in rescue
551 mode.
552 (cpuid): New section.
553
fcb2d090
GS
5542010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
555
556 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
557 new partition naming style.
558 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
559
96e5c556
BC
5602010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
561
562 Add "-o grub.iso" like cmdline options support.
563
564 * util/grub-install.in: Improve cmdline option parsing.
565 * util/grub-mkconfig.in: Likewise.
566 * util/grub-mkrescue.in: Likewise.
567 * util/grub-reboot.in: Likewise.
568 * util/grub-set-default.in: Likewise.
569 * util/i386/efi/grub-install.in: Likewise.
570 * util/ieee1275/grub-install.in: Likewise.
571 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
572
c16be99b
CW
5732010-06-12 Colin Watson <cjwatson@ubuntu.com>
574
575 * .bzrignore: Ignore 41_custom.
576
ce08a9fb
TS
5772010-06-12 Thomas Schmitt <scdbackup@gmx.net>
578
579 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
580
7beac90c
CW
5812010-06-12 Colin Watson <cjwatson@ubuntu.com>
582
583 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
584 prototype declarations.
585
586 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
587 generating fs, partmap, and video lists.
588 * include/grub/fs.h (grub_fs_register): Omit prototype if
589 GRUB_LST_GENERATOR is defined.
590 * include/grub/partition.h (grub_partition_map_register): Likewise.
591 * include/grub/video.h (grub_video_register): Likewise.
592
1c8f0f8d
JM
5932010-06-12 Javier Martín <lordhabbit@gmail.com>
594
595 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
596
a6085973
TS
5972010-06-12 Thomas Schmitt <scdbackup@gmx.net>
598
599 * util/grub-mkrescue.in: Support --xorriso argument.
600
25c56d29
VS
6012010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
604 Suggested by: Thomas Schmitt.
605
e03e4b24
VS
6062010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
607
608 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
609 Suggested by: Thomas Schmitt.
610
57711df6
VS
6112010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
612
613 custom.cfg support.
614
615 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
616 * util/grub.d/41_custom.in: New file.
617
ee62c427
CW
6182010-06-12 Colin Watson <cjwatson@ubuntu.com>
619
620 * util/grub-mkrescue.in (make_image): Remove sh module, which has
621 been merged back into normal.
622
283af07a
CW
6232010-06-11 Colin Watson <cjwatson@ubuntu.com>
624
625 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
626 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
627
56a0d956
CW
6282010-06-11 Colin Watson <cjwatson@ubuntu.com>
629
630 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
631 when generating manual pages.
632 * docs/man/grub-bin2h.h2m: New file.
633 * docs/man/grub-editenv.h2m: New file.
634 * docs/man/grub-fstest.h2m: New file.
635 * docs/man/grub-install.h2m: New file.
636 * docs/man/grub-macho2img.h2m: New file.
637 * docs/man/grub-mkconfig.h2m: New file.
638 * docs/man/grub-mkdevicemap.h2m: New file.
639 * docs/man/grub-mkfont.h2m: New file.
640 * docs/man/grub-mkimage.h2m: New file.
641 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
642 * docs/man/grub-mkrelpath.h2m: New file.
643 * docs/man/grub-mkrescue.h2m: New file.
644 * docs/man/grub-ofpathname.h2m: New file.
645 * docs/man/grub-pe2elf.h2m: New file.
646 * docs/man/grub-probe.h2m: New file.
647 * docs/man/grub-reboot.h2m: New file.
648 * docs/man/grub-script-check.h2m: New file.
649 * docs/man/grub-set-default.h2m: New file.
650 * docs/man/grub-setup.h2m: New file.
651
3a37e322
VS
6522010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
653
654 Use FOR_* macros instead of *_iterate whenever possible.
655
656 * commands/handler.c: Removed.
657 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
658 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
659 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
660 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
661 (grub_probe_SOURCES): Remove kern/parser.c.
662 (util/grub-script-check.c_DEPENDENCIES): Removed.
663 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
664 and grub_script_check_init.c.
665 (grub_script_check_init.lst): Removed.
666 (grub_script_check_init.h): Likewise.
667 (grub_script_check_init.c): Likewise.
668 (pkglib_MODULES): Remove handler.mod and sh.mod.
669 (handler_mod_SOURCES): Removed.
670 (handler_mod_CFLAGS): Likewise.
671 (handler_mod_LDFLAGS): Likewise.
672 (normal_mod_SOURCES): Remove normal/handler.c.
673 Add script/main.c, script/script.c, script/execute.c,
674 script/function.c, script/lexer.c, grub_script.tab.c
675 and grub_script.yy.c.
676 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
677 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
678 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
679 (grub_setup_SOURCES): Remove kern/parser.c.
680 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
681 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
682 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
683 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
684 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
685 (grub_setup_SOURCES): Remove kern/parser.c.
686 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
687 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
688 * include/grub/command.h (grub_command_iterate): Removed.
689 (FOR_COMMANDS): New macro.
690 * include/grub/dl.h (grub_dl): New member next.
691 (grub_dl_iterate): Removed.
692 (grub_dl_head): New variable declaration.
693 (FOR_DL_MODULES): New macro.
694 * include/grub/fs.h: Include list.h.
695 (grub_fs): Make next first element.
696 (grub_fs_list): New variable declaration.
697 (grub_fs_register): Make inline.
698 (grub_fs_unregister): Likewise.
699 (grub_fs_iterate): Removed.
700 (FOR_FILESYSTEMS): New macro.
701 * include/grub/handler.h: Removed.
702 * include/grub/list.h (grub_list_hook_t): Removed.
703 (grub_list_test_t): Likewise.
704 (grub_list_pop): Likewise.
705 (grub_list_iterate): Likewise.
706 (grub_list_insert): Likewise.
707 (FOR_LIST_ELEMENTS): New macro.
708 * include/grub/parser.h (grub_parser_class): Removed.
709 (grub_parser_register): Likewise.
710 (grub_parser_unregister): Likewise.
711 (grub_parser_get_current): Likewise.
712 (grub_parser_set_current): Likewise.
713 (grub_register_rescue_parser): Likewise.
714 (grub_rescue_parse_line): New function.
715 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
716 * include/grub/script_sh.h (grub_script_function_list): New variable
717 declaration.
718 (FOR_SCRIPT_FUNCTIONS): New macro.
719 (grub_script_function_iterate): Removed.
720 (grub_normal_parse_line): New prototype.
721 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
722 (FOR_DISABLED_TERM_INPUTS): Likewise.
723 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
724 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
725 * include/grub/video.h (grub_video_adapter): Move 'next' to first
726 element.
727 (grub_video_register): Inline.
728 (grub_video_unregister): Likewise.
729 (grub_video_adapter_list): New variable declaration.
730 (grub_video_iterate): Removed.
731 (FOR_VIDEO_ADAPTERS): New macro.
732 * kern/dl.c (grub_dl_list): Removed. All users updated.
733 (grub_dl_iterate): Removed.
734 * kern/fs.c (grub_fs_list): Make global.
735 (grub_fs_register): Removed.
736 (grub_fs_unregister): Likewise.
737 (grub_fs_iterate): Likewise.
738 * kern/handler.c: Removed.
739 * kern/list.c (grub_list_pop): Removed.
740 (grub_list_iterate): Likewise.
741 (grub_list_insert): Likewise.
742 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
743 (grub_prio_list_insert): Don't use grub_list_insert.
744 * kern/main.c (grub_register_rescue_parser): Don't call
745 grub_register_rescue_parser.
746 * kern/parser.c (grub_parser_class): Removed.
747 (grub_parser_execute): Use grub_rescue_parse_line.
748 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
749 (grub_rescue_parser): Removed.
750 (grub_register_rescue_parser): Likewise.
751 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
752 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
753 (grub_auth_check_authentication): Likewise.
754 * normal/completion.c (iterate_command): Removed.
755 (grub_normal_do_completion): Use FOR_COMMANDS.
756 * normal/handler.c: Removed.
757 * normal/main.c (read_config_file): Remove parser changing.
758 (grub_normal_execute): Don't call read_handler_list.
759 (grub_normal_read_line_real): Statically allocate prompt.
760 (grub_cmdline_run): Use grub_normal_parse_line.
761 (GRUB_MOD_FINI): Don't call free_handler_list.
762 * normal/menu_entry.c (run): Likewise.
763 * script/function.c (grub_script_function_list): Make global.
764 (grub_script_function_iterate): Removed.
765 * script/main.c (grub_normal_parse_line): Make global.
766 (grub_sh_parser): Removed.
767 (GRUB_MOD_INIT): Likewise.
768 (GRUB_MOD_FINI): Likewise.
769 * tests/lib/functional_test.c (grub_functional_test): Use
770 FOR_LIST_ELEMENTS.
771 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
772 (grub_test_run): Use FOR_LIST_ELEMENTS.
773 * tests/lib/unit_test.c (main): Likewise.
774 * util/deviceiter.c (grub_util_iterate_devices): Don't use
775 grub_list_pop.
776 * util/grub-fstest.c (grub_term_input_class): Removed.
777 (grub_term_output_class): Likewise.
778 * util/grub-probe.c: Likewise.
779 * util/i386/pc/grub-setup.c: Likewise.
780 * util/sparc64/ieee1275/grub-setup.c: Likewise.
781 * util/grub-script-check.c (main): Don't call grub_init_all and
782 grub_fini_all.
783 * video/video.c (grub_video_adapter_list): Make global.
784 (grub_video_register): Removed.
785 (grub_video_unregister): Likewise.
786 (grub_video_iterate): Likewise.
787
6289c3a7
VS
7882010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
789
790 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
791 reported by Henrique Ferreiro.
792
91460247
RM
7932010-06-09 Robert Millan <rmh@gnu.org>
794
795 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
796 ones, when both are available.
797
0ea7c4f9
GS
7982010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
799
800 Make --version uniform and avoid hard-coded program name.
801
802 * util/grub-mkimage.c (main): Use `program_name' instead of
803 hard-coded string.
804 * util/i386/pc/grub-setup.c (main): Likewise.
805 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
806 * util/grub-install.in: Save the basename of $0 in $self, and use the
807 latter in informational messages. Use the same format for --version
808 as the binary programs.
809 * util/grub-mkconfig.in: Likewise.
810 * util/grub-mkrescue.in: Likewise.
811 * util/grub-reboot.in: Likewise.
812 * util/grub-set-default.in: Likewise.
813 * util/i386/efi/grub-install.in: Likewise.
814 * util/ieee1275/grub-install.in: Likewise.
815 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
816
e8a6f3b6
GS
8172010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
818
819 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
820 embedding area. Use <= instead of == when checking for non-emptiness.
821
f4d095d7
GS
8222010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
823
824 * configure.ac: Add `.' to the directories searched for unifont.
825
50e532ca
CW
8262010-06-08 Colin Watson <cjwatson@ubuntu.com>
827
828 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
829 grub_script.yy.h.
830
d39f3dec
CW
8312010-06-08 Colin Watson <cjwatson@ubuntu.com>
832
833 * docs/grub.texi (History): Expand to cover GRUB 2.
834 (Serial terminal): Refer to `terminal_input' and `terminal_output'
835 commands, not `terminal'.
836 (serial): Likewise.
837 (terminal_input): New section.
838 (terminal_output): New section.
839 (uppermem): New section (stub).
840 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
841
6ef0ddb4
CW
8422010-06-08 Colin Watson <cjwatson@ubuntu.com>
843
844 * docs/grub.texi (Security): Menu entries are unrestricted by
845 default, not restricted to superusers as I had previously thought.
846 Reword to account for this.
847
e0f4c438
CW
8482010-06-07 Colin Watson <cjwatson@ubuntu.com>
849
850 * kern/emu/misc.c (device_mapper_null_log): New function.
851 (grub_device_mapper_supported): New function.
852 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
853 prototype.
854 * kern/emu/hostdisk.c (find_partition_start): Check whether
855 device-mapper is supported before trying to use it.
856 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
857
da908200
CW
8582010-06-07 Colin Watson <cjwatson@ubuntu.com>
859
860 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
861 (File name syntax): Likewise.
862 (help): --all is no longer supported in GRUB 2. Be more precise
863 about pattern matching.
864
fb55c3ac
CW
8652010-06-07 Colin Watson <cjwatson@ubuntu.com>
866
867 * normal/completion.c (grub_normal_do_completion): When completing
868 arguments to "set" and the current word contains an equals sign,
869 skip to after the equals sign before starting completion.
870
258c2573
CW
8712010-06-07 Colin Watson <cjwatson@ubuntu.com>
872
873 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
874
ee75515e
CW
8752010-06-07 Colin Watson <cjwatson@ubuntu.com>
876
877 * docs/grub.texi (Network): New section.
878 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
879 `(nd)' as in GRUB Legacy.
880 (pxe_unload): New section.
881
a6a700aa
CW
8822010-06-07 Colin Watson <cjwatson@ubuntu.com>
883
884 * docs/grub.texi (Troubleshooting): `echo' is not usually available
885 in the rescue shell, so recommend using `set' instead. Thanks,
886 Jordan Uggla.
887
4003dd38
CW
8882010-06-07 Colin Watson <cjwatson@ubuntu.com>
889
890 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
891 (password): New section.
892 (password_pbkdf2): New section.
893 (search): New section.
894 (Security): New section.
895 (Troubleshooting): New section, currently very incomplete.
896 (Invoking grub-mkpasswd-pbkdf2): New section.
897 (Internals): New section, currently very incomplete.
898
e1cbcc40
CW
8992010-06-07 Colin Watson <cjwatson@ubuntu.com>
900
901 * util/grub.d/00_header.in: Add some more quoting (of
902 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
903 work again.
904 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
905
db8fa1ad
CW
9062010-06-07 Colin Watson <cjwatson@ubuntu.com>
907
908 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
909 to `count', fixing variable shadowing that broke the -c option.
910
9112010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
912
913 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
914 in case they contain spaces.
915
f28a9212
CW
9162010-06-04 Colin Watson <cjwatson@ubuntu.com>
917
918 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
919 "part_" to partmap module names, in line with grub-install.
920 Reported by: Jindřich Makovička (Debian bug #584426).
921
9cdfe32f
CW
9222010-06-04 Colin Watson <cjwatson@ubuntu.com>
923
924 * util/grub-mkimage.c: Make target-related error messages slightly
925 more helpful; -O talks about "format". Explicitly point to the use
926 of -O if no target is specified.
927 Reported by: Didier Raboud (Debian bug #584415).
928
795b593a
CW
9292010-06-03 Colin Watson <cjwatson@ubuntu.com>
930
931 * INSTALL: Document several build requirements for optional features
932 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
933
9d9b5833
GS
9342010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
935
936 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
937 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
938 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
939
0819fec8
CW
9402010-06-02 Colin Watson <cjwatson@ubuntu.com>
941
942 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
943 Thanks to Jordan Uggla for spotting this.
944
49396b4f
VS
9452010-06-02 Aleš Nesrsta <starous@volny.cz>
946
947 Finally make USB usable.
948
949 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
950 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
951 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
952 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
953 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
954 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
955 (GRUB_OHCI_FSMPS): Likewise.
956 (GRUB_OHCI_PERIODIC_START): Likewise.
957 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
958 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
959 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
960 (GRUB_OHCI_SET_PORT_RESET): Likewise.
961 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
962 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
963 (grub_ohci_transaction): Likewise.
964 (grub_ohci_transfer): Improve condition detection algorithms.
965 Handle toggle property. Program the transactions correctly.
966 Improve error handling. Various important fixups.
967 (grub_ohci_portstatus): Put register writes in right order.
968 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
969 (grub_uhci_transfer): Don't show "failed" message on success.
970 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
971 array.
972 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
973 determine its size.
974 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
975 before initialization is completed. Use IN direction for empty
976 transfers. Use last_trans and compute toggle.
977 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
978 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
979 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
980 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
981 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
982 (grub_usb_device): Increase toggle to 256.
983 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
984 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
985 GRUB_USBMS_SUBCLASS_SFF8070.
986 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
987 (grub_scsi_inquiry): New member page and alloc_length.
988 (grub_scsi_request_sense): New structure.
989 (grub_scsi_request_sense_data): Likewise.
990 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
991 control.
992 * disk/scsi.c (grub_scsi_request_sense): New function.
993 (grub_scsi_test_unit_ready): Likewise.
994 (grub_scsi_inquiry): Fill new fields.
995 (grub_scsi_read_capacity): Likewise.
996 (grub_scsi_read10): Add request sense at the end.
997 (grub_scsi_read12): Likewise.
998 (grub_scsi_write10): Likewise.
999 (grub_scsi_write12): Likewise.
1000 (grub_scsi_open): Add Test Unit Ready.
1001 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
1002 Support additional subclasses. Con't clear halt yet. Activate the
1003 proper config. Calculate LUNs correctly.
1004 (grub_usbms_transfer): Various important fixups.
1005
10062010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
1009 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
1010 (grub_ohci_fini_hw): New function.
1011 (grub_ohci_restore_hw): Likewise.
1012 (GRUB_MOD_INIT(ohci)): Register preboot hook.
1013 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
1014 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
1015
10162010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 Dedicated DMA allocations.
1019
1020 * bus/pci.c (grub_memalign_dma32): New function
1021 (grub_dma_free): Likewise.
1022 (grub_dma_get_virt): Likewise.
1023 (grub_dma_get_phys): Likewise.
1024 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
1025 (grub_ohci_pci_iter): Use dma32_alloc.
1026 (grub_ohci_transfer): Likewise.
1027 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
1028 (grub_usb_bulk_readwrite): Likewise.
1029 * include/grub/pci.h: Add declarations.
1030
10312010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 CS5536 support.
1034
1035 * bus/cs5536.c: New file.
1036 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
1037 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
1038 (cs5536_mod_SOURCES): New variable.
1039 (cs5536_mod_CFLAGS): Likewise.
1040 (cs5536_mod_LDFLAGS): Likewise.
1041 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
1042 machine/pci.h.
1043 (kernel_img_SOURCES): Add bus/cs5536.c.
1044 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
1045 usb_keyboard.mod.
1046 (usb_mod_SOURCES): New variable.
1047 (usb_mod_CFLAGS): New variable.
1048 (usb_mod_LDFLAGS): New variable.
1049 (usbtest_mod_SOURCES): New variable.
1050 (usbtest_mod_CFLAGS): New variable.
1051 (usbtest_mod_LDFLAGS): New variable.
1052 (ohci_mod_SOURCES): New variable.
1053 (ohci_mod_CFLAGS): New variable.
1054 (ohci_mod_LDFLAGS): New variable.
1055 (usbms_mod_SOURCES): New variable.
1056 (usbms_mod_CFLAGS): New variable.
1057 (usbms_mod_LDFLAGS): New variable.
1058 (usb_keyboard_mod_SOURCES): New variable.
1059 (usb_keyboard_mod_CFLAGS): New variable.
1060 (usb_keyboard_mod_LDFLAGS): New variable.
1061 * include/grub/smbus.h: New file.
1062 * include/grub/cs5536.h: New file.
1063
0b35b2a9
CW
10642010-06-02 Colin Watson <cjwatson@ubuntu.com>
1065
1066 * util/grub.d/00_header.in: Add safety check to make sure that
1067 ${locale_dir} exists before trying to probe it.
1068
ca0afd5b
CW
10692010-06-02 Colin Watson <cjwatson@ubuntu.com>
1070
1071 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
1072 per the GNU Coding Standards; this is now too obscure to be worth
1073 documenting.
1074 (QNX): Likewise.
1075 (chainloader): Remove cross-reference to `SCO UnixWare'.
1076
1c41aa78
CW
10772010-06-02 Colin Watson <cjwatson@ubuntu.com>
1078
1079 * docs/grub.texi (Chain-loading): New section.
1080 (DOS/Windows): New section, borrowed from GRUB Legacy with details
1081 adjusted for GRUB 2.
1082 (SCO UnixWare): Likewise.
1083 (QNX): Likewise.
1084 (chainloader): Add reference to `Block list syntax'.
1085 (drivemap): New section.
1086 (parttool): New section.
1087
bb8ea0f5
CW
10882010-06-02 Colin Watson <cjwatson@ubuntu.com>
1089
1090 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
1091 the grub shell'.
1092 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
1093 (Installing GRUB using grub-install): Remove reference to the grub
1094 shell; mention `grub-mkimage' and `grub-setup' instead.
1095 (Invoking grub-install): Likewise.
1096 (Interface): Add reference to `Menu entry editor'.
1097 (serial): Remove `--device' option.
1098
288dd6ed
CW
10992010-06-02 Colin Watson <cjwatson@ubuntu.com>
1100
1101 * docs/grub.texi (Configuration): New section, documenting
1102 configuration file generation using grub-mkconfig. I've left a slot
1103 for documenting the full shell scripting format but have not yet
1104 started on writing that up.
1105 (Invoking grub-mkconfig): New section.
1106
34c9f0e9
CW
11072010-06-02 Colin Watson <cjwatson@ubuntu.com>
1108
1109 * docs/grub.texi (direntry): Remove grub-terminfo reference.
1110 (GNU GRUB manual): Likewise.
1111 (General commands): Update description of `terminfo' for GRUB 2.
1112
9121567e
CW
11132010-06-02 Colin Watson <cjwatson@ubuntu.com>
1114
1115 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
1116 (GRUB_MOD_INIT): Fix capitalisation.
1117 * docs/grub.texi (Command-line and menu entry commands): Document
1118 gettext and gptsync commands.
1119
ab631611
CW
11202010-06-02 Colin Watson <cjwatson@ubuntu.com>
1121
1122 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
1123 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
1124
bde4a9ac
CW
11252010-06-01 Colin Watson <cjwatson@ubuntu.com>
1126
1127 Add btrfs probing support, currently only in the single-device case.
1128
1129 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
1130 function.
1131 (grub_guess_root_device): Call find_root_device_from_mountinfo
1132 before looking in /dev.
1133
b1d17e10
VS
11342010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
1137 GRUB_DISK_SIZE_UNKNOWN.
1138 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
1139
dfbfe004
JS
11402010-05-31 Jiro SEKIBA <jir@unicus.jp>
1141
1142 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
1143 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
1144 corrupted or not synced properly.
1145
c2ffc8e9
VS
11462010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
1149 Reported by: Seth Goldberg.
1150
56293166
VS
11512010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
1154 addition of dest.
1155 Reported by: Seth Goldberg.
1156
7620e7de
VS
11572010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
1160 Reported by: Seth Goldberg.
1161
c837af3f
VS
11622010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
1165 64-bit address as signed on MIPS.
1166
c7c75cf4
CW
11672010-05-28 Colin Watson <cjwatson@ubuntu.com>
1168
1169 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
1170 to the empty string.
1171
fa4b8490
BC
11722010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
1173
1174 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
1175
1176 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
1177 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
1178 * kern/misc.c (__enable_execute_stack): Disable on
1179 GRUB_MACHINE_EMU.
1180
a33075b9
CW
11812010-05-28 Colin Watson <cjwatson@ubuntu.com>
1182
1183 Make grub-probe work with symbolic links under /dev/mapper as well
1184 as with real block devices. The Linux world seems to be (at best)
1185 in transition here, and GRUB shouldn't get caught in the middle.
1186
1187 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
1188 /dev/mapper.
1189
d8708134
CW
11902010-05-27 Colin Watson <cjwatson@ubuntu.com>
1191
1192 * util/grub-script-check.c (main): Ensure defined behaviour on empty
1193 input files (in which case exit zero).
1194
db2102a0
CW
11952010-05-27 Colin Watson <cjwatson@ubuntu.com>
1196
1197 * kern/emu/misc.c (canonicalize_file_name): realpath can still
1198 return NULL for various reasons even if it has a maximum-length
1199 buffer: for example, there might be a symlink loop, or the path
1200 might exceed PATH_MAX. If this happens, return NULL.
1201
5fdba519
RM
12022010-05-27 Robert Millan <rmh@gnu.org>
1203
1204 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
1205 partmap module to handle cross-partmap setups.
1206 Reported by Orestes Mas. Gràcies!
1207
d1d368e4
CW
12082010-05-27 Colin Watson <cjwatson@ubuntu.com>
1209
1210 * util/grub-mkrescue.in: Initialise override_dir rather than
1211 assuming that it's unset or empty in the environment.
1212
95ac3c73
GS
12132010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1214
1215 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
1216 variable index into p_index to suppress a warning with -Wshadow.
1217
7d8c0213
BC
12182010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
1219
1220 * INSTALL: Added flex >= 2.5.35 requirement.
1221
db4d5813
VS
12222010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
1225
f24f4300
VS
12262010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 cmostest support.
1229
1230 * commands/i386/cmostest.c: New file.
1231 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
1232 (cmostest_mod_SOURCES): New variable.
1233 (cmostest_mod_CFLAGS): Likewise.
1234 (cmostest_mod_LDFLAGS): Likewise.
1235 * conf/i386-pc.rmk: Likewise.
1236 * docs/grub.texi (Vendor power-on keys): New section.
1237 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
1238 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
1239 and GRUB_BUTTON_CMOS_ADDRESS.
1240 * util/grub.d/00_header.in: Handle powering-on by separate button.
1241
ad603f61
VS
12422010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
1245 Removed drawing_scrollbar argument. All users updated
1246 Fixes #29792.
1247 Reported by Jo Shields
1248
3ecb080a
VS
12492010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
1252 buffer since gfxterm handles double repaint.
1253
5f2316c1
VS
12542010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
1257 * term/gfxterm.c (real_scroll): Likewise.
1258
9a25f885
VS
12592010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
1262 before calling BIOS.
1263
39fbb79a
VS
12642010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * include/grub/i18n.h: Always enable grub_gettext.
1267
228cfa97
VS
12682010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
1271 partition naming style.
1272
21717c8f
CW
12732010-05-21 Colin Watson <cjwatson@ubuntu.com>
1274
1275 * util/grub-mkconfig.in: Fix handling of -o so that it works when
1276 not the first option.
1277
c0f48e65
CW
12782010-05-20 Colin Watson <cjwatson@ubuntu.com>
1279
1280 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
1281
96779aec
CW
12822010-05-20 Colin Watson <cjwatson@ubuntu.com>
1283
1284 * util/misc.c: Move inclusion of <limits.h> to ...
1285 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
1286
fa9d256e
GS
12872010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1288
1289 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
1290 Fix merge error in NetBSD code.
1291 (find_partition_start) [__NetBSD__]: Likewise.
1292
123b7a85
BC
12932010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
1294
1295 Fix grub-mkrescue usage unit testing.
1296
1297 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
1298
74276c0d
CF
12992010-05-18 Christian Franke <franke@computer.org>
1300
1301 * util/grub.d/10_windows.in: Use path names instead of
1302 drive letters to prevent warning from Cygwin 1.7.
1303 Add drivemap command to menuentry if needed.
1304
c4f7b523
ST
13052010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
1306
1307 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
1308 gnumach and gnumach.gz.
1309
95b97950
VS
13102010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * include/grub/i18n.h (gettext): Inline instead of using #define.
1313 (grub_gettext): Likewise.
1314 (_): Likewise.
1315
01b8d2d7
VS
13162010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
1319 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
1320 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
1321 (main): Add a slash after pkglibdirroot.
1322
654e1d1e
VS
13232010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * util/grub-install.in: Add missing "in" keyword.
1326
26966aeb
VS
13272010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
1330 Reported by: Seth Goldberg.
1331
75006747
VS
13322010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
1335
74cbf5bd
CW
13362010-05-18 Colin Watson <cjwatson@ubuntu.com>
1337
1338 * configure.ac: Check for Linux device-mapper support.
1339
1340 * util/hostdisk.c (device_is_mapped): New function.
1341 (find_partition_start): New function, partly broken out from
1342 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
1343 device-mapper support added.
1344 (linux_find_partition): Use find_partition_start.
1345 (convert_system_partition_to_system_disk): Add `st' argument.
1346 Support Linux /dev/mapper/* devices if device-mapper support is
1347 available; only DM-RAID devices are understood at present.
1348 (find_system_device): Add `st' argument. Pass it to
1349 convert_system_partition_to_system_disk.
1350 (grub_util_biosdisk_get_grub_dev): Pass stat result to
1351 find_system_device and convert_system_partition_to_system_disk. Use
1352 find_partition_start.
1353
1354 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
1355 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
1356 * util/deviceiter.c [__linux__]: Define MINOR.
1357 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
1358 * util/mkdevicemap.c (grub_putchar): New function.
1359 (grub_getkey): New function.
1360 (grub_refresh): New function.
1361 (main): Set debug=all if -v -v is used.
1362
355b51e9
CW
13632010-05-18 Colin Watson <cjwatson@ubuntu.com>
1364
1365 Fix build with non-GNU libcs.
1366
1367 * util/misc.c (canonicalize_file_name): Move to ...
1368 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
1369 grub_make_system_path_relative_to_its_root.
1370
7fb5c25f
CW
13712010-05-18 Colin Watson <cjwatson@ubuntu.com>
1372
1373 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
1374 we handle finding grub-mkimage. Default to finding grub-mkimage in
1375 ${bindir} with program_transform_name applied, and provide a
1376 --grub-mkimage option to override this.
1377
1d3293d6
VS
13782010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 Remove grub-mkisofs.
1381
1382 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
1383 (grub_mkisofs_SOURCES): Removed.
1384 (grub_mkisofs_CFLAGS): Removed.
1385 * util/mkisofs/defaults.h: Removed.
1386 * util/mkisofs/eltorito.c: Likewise.
1387 * util/mkisofs/exclude.h: Likewise.
1388 * util/mkisofs/hash.c: Likewise.
1389 * util/mkisofs/include/: Likewise.
1390 * util/mkisofs/include/fctldefs.h: Likewise.
1391 * util/mkisofs/include/mconfig.h: Likewise.
1392 * util/mkisofs/include/prototyp.h: Likewise.
1393 * util/mkisofs/include/statdefs.h: Likewise.
1394 * util/mkisofs/iso9660.h: Likewise.
1395 * util/mkisofs/joliet.c: Likewise.
1396 * util/mkisofs/match.c: Likewise.
1397 * util/mkisofs/match.h: Likewise.
1398 * util/mkisofs/mkisofs.c: Likewise.
1399 * util/mkisofs/mkisofs.h: Likewise.
1400 * util/mkisofs/msdos_partition.h: Likewise.
1401 * util/mkisofs/multi.c: Likewise.
1402 * util/mkisofs/name.c: Likewise.
1403 * util/mkisofs/rock.c: Likewise.
1404 * util/mkisofs/tree.c: Likewise.
1405 * util/mkisofs/write.c: Likewise.
1406
5dde9afe
VS
14072010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 Unify grub-mkimage accross platforms.
1410
1411 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
1412 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
1413 (grub_mkelfimage_SOURCES): Removed.
1414 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
1415 (util/grub-mkimage.c_DEPENDENCIES): .. this.
1416 (bin_UTILITIES): Add grub-mkimage.
1417 (grub_mkimage_SOURCES): New variable.
1418 (kernel_img_HEADERS): Remove machine/kernel.h.
1419 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
1420 (pkglib_PROGRAMS): Add kernel.img.
1421 (kernel_img_HEADERS): Add machine/kernel.h.
1422 (kernel_img_FORMAT): Removed.
1423 (bin_UTILITIES): Remove grub-mkimage.
1424 (grub_mkimage_SOURCES): Removed.
1425 (grub_mkimage_CFLAGS): Likewise.
1426 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1427 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
1428 (pkglib_PROGRAMS): Add kernel.img.
1429 (bin_UTILITIES): Remove grub-mkimage.
1430 (grub_mkimage_SOURCES): Removed.
1431 (grub_mkimage_CFLAGS): Likewise.
1432 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1433 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
1434 (pkglib_PROGRAMS): Add kernel.img.
1435 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
1436 (pkglib_PROGRAMS): Add kernel.img.
1437 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
1438 (grub_mkimage_SOURCES): Removed.
1439 (grub_mkimage_CFLAGS): Likewise.
1440 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1441 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
1442 (pkglib_PROGRAMS): Add kernel.img.
1443 (bin_UTILITIES): Remove grub-mkimage.
1444 (grub_mkimage_SOURCES): Removed.
1445 (grub_mkimage_CFLAGS): Likewise.
1446 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1447 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
1448 (grub_mkimage_SOURCES): Removed.
1449 (grub_mkimage_CFLAGS): Likewise.
1450 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1451 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
1452 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
1453 (grub_pe32_optional_header): ... this.
1454 (grub_pe64_optional_header): ... and this. All users updated.
1455 (GRUB_PE32_PE32_MAGIC): Split into ..
1456 (GRUB_PE32_PE32_MAGIC): .. this.
1457 (GRUB_PE32_PE64_MAGIC): .. and this.
1458 (GRUB_PE32_SIGNATURE_SIZE): New definition.
1459 * include/grub/elf.h (PT_GNU_STACK): New definition.
1460 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
1461 * include/grub/i386/efi/kernel.h: Likewise.
1462 * include/grub/i386/kernel.h: Likewise.
1463 * include/grub/i386/pc/kernel.h: Likewise.
1464 * include/grub/i386/qemu/boot.h: Likewise.
1465 * include/grub/mips/kernel.h: Likewise.
1466 * include/grub/mips/qemu-mips/kernel.h: Likewise.
1467 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
1468 * include/grub/powerpc/kernel.h: Likewise.
1469 * include/grub/sparc64/ieee1275/boot.h: Likewise.
1470 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
1471 * include/grub/sparc64/kernel.h: Likewise.
1472 * include/grub/x86_64/efi/kernel.h: Likewise.
1473 * include/grub/x86_64/kernel.h: Likewise.
1474 * include/grub/offsets.h: New file.
1475 * include/grub/kernel.h (grub_module_info): Split into ...
1476 (grub_module_info32): ... this.
1477 (grub_module_info64): ... and this.
1478 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
1479 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
1480 (grub_boot_blocklist): Moved from here ...
1481 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
1482 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
1483 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
1484 * include/grub/types.h (grub_target_to_host16): Removed.
1485 (grub_target_to_host32): Likewise.
1486 (grub_target_to_host64): Likewise.
1487 (grub_host_to_target16): Likewise.
1488 (grub_host_to_target32): Likewise.
1489 (grub_host_to_target64): Likewise.
1490 (grub_host_to_target_addr): Likewise.
1491
1492 Support grub-mkrescue for efi, coreboot and qemu.
1493
1494 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
1495 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
1496 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
1497 * util/grub-mkrawimage.c: Moved from here ...
1498 * util/grub-mkimage.c: ... here. All users updated.
1499 (ALIGN_ADDR): Use image_target.
1500 (TARGET_NO_FIELD): New const.
1501 (image_target_desc): New type.
1502 (image_targets): New array.
1503 (grub_target_to_host64): Use image_target.
1504 (grub_target_to_host32): Likewise.
1505 (grub_target_to_host16): Likewise.
1506 (grub_host_to_target64): Likewise.
1507 (grub_host_to_target32): Likewise.
1508 (grub_host_to_target16): Likewise.
1509 (grub_host_to_target_addr): Likewise.
1510 (generate_image): Handle multiimage.
1511 (main): Require -O parameter. All users updated.
1512 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
1513 util/efi/grub-mkimage.c
1514 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
1515 New option --rom-directory.
1516 Use xorriso.
1517 * util/i386/efi/grub-mkimage.c: Removed.
1518 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
1519 (grub_target_to_host32): Likewise.
1520 (grub_target_to_host64): Likewise.
1521 (grub_host_to_target16): Likewise.
1522 (grub_host_to_target32): Likewise.
1523 (grub_host_to_target64): Likewise.
1524 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
1525 (grub_target_to_host32): Likewise.
1526 (grub_target_to_host64): Likewise.
1527 (grub_host_to_target16): Likewise.
1528 (grub_host_to_target32): Likewise.
1529 (grub_host_to_target64): Likewise.
1530
f4fc97d0
BC
15312010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
1532
1533 Source tree is reorganized for emu build.
1534
1535 * include/grub/util/console.h: Move from here...
1536 * include/grub/emu/console.h: ...to here.
1537 * include/grub/util/getroot.h: Move from here...
1538 * include/grub/emu/getroot.h: ...to here.
1539 * include/grub/util/hostdisk.h: Move from here...
1540 * include/grub/emu/hostdisk.h: ...to here.
1541 * util/console.c: Move from here...
1542 * kern/emu/console.c: ...to here.
1543 * util/getroot.c: Move from here...
1544 * kern/emu/getroot.c: ...to here.
1545 * util/grub-emu.c: Move from here...
1546 * kern/emu/main.c: ...to here.
1547 * util/hostdisk.c: Move from here...
1548 * kern/emu/hostdisk.c: ...to here.
1549 * util/hostfs.c: Move from here...
1550 * kern/emu/hostfs.c: ...to here.
1551 * util/mm.c: Move from here...
1552 * kern/emu/mm.c: ...to here.
1553 * util/pci.c: Move from here...
1554 * bus/emu/pci.c: ...to here.
1555 * util/sdl.c: Move from here...
1556 * video/emu/sdl.c: ...to here.
1557 * util/time.c: Move from here...
1558 * kern/emu/time.c: ...to here.
1559 * util/usb.c: Move from here...
1560 * bus/usb/emu/usb.c: ...to here.
1561
1562 * include/grub/emu/misc.h: New header for grub-emu functions.
1563 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
1564
1565 * conf/any-emu.rmk: Rule updates for above renames.
1566 * conf/common.rmk: Likewise.
1567 * conf/i386-pc.rmk: Likewise.
1568 * conf/i386-qemu.rmk: Likewise.
1569 * conf/mips.rmk: Likewise.
1570 * conf/sparc64-ieee1275.rmk: Likewise.
1571 * conf/x86-efi.rmk: Likewise.
1572
1573 * disk/lvm.h: #include updates for above renames.
1574 * util/grub-mkrelpath.c: Likewise.
1575 * util/grub-probe.c: Likewise.
1576 * util/i386/pc/grub-setup.c: Likewise.
1577 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1578 * kern/emu/console.c: Likewise.
1579 * kern/emu/getroot.c: Likewise.
1580 * kern/emu/hostdisk.c: Likewise.
1581 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
1582
1583 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
1584 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
1585 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
1586 * util/misc.c: Remove grub-emu functions.
1587
cced9145
VS
15882010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 Fix gfxmenu crash.
1591 Reported by: Thorsten Grützmacher.
1592
1593 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
1594 timeout hook.
1595 (circprog_set_property): Register and unregister timeout hook.
1596 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
1597 (label_destroy): Free template. and unregister hook.
1598 (label_set_state): New function.
1599 (label_set_property): Handle templates and hooks.
1600 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
1601 timeout hook.
1602 (progress_bar_set_property): Register and unregister timeout hook.
1603 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
1604 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
1605 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
1606 (update_timeout_visit): Removed.
1607 (update_timeouts): New function.
1608 (redraw_timeouts): Likewise.
1609 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
1610 (grub_gfxmenu_clear_timeout): Likewise.
1611 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
1612 (grub_gfxmenu_timeout_notify): Likewise.
1613 (grub_gfxmenu_timeout_notifications): New external variable.
1614 (grub_gfxmenu_timeout_register): New function.
1615 (grub_gfxmenu_timeout_unregister): Likewise.
1616
c6e5caab
VS
16172010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 Transform (broken) vga terminal into (working) vga video driver.
1620
1621 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
1622 video/i386/pc/vga.c.
1623 * include/grub/video.h (grub_video_driver_id):
1624 Add GRUB_VIDEO_DRIVER_VGA.
1625 * term/i386/pc/vga.c: Renamed to ...
1626 * video/i386/pc/vga.c: ...this
1627 (DEBUG_VGA): Removed.
1628 (CHAR_WIDTH): Likewise.
1629 (CHAR_HEIGHT): Likewise.
1630 (TEXT_WIDTH): Likewise.
1631 (TEXT_HEIGHT): Likewise.
1632 (DEFAULT_FG_COLOR): Likewise.
1633 (DEFAULT_BG_COLOR): Likewise.
1634 (colored_char): Likewise.
1635 (xpos): Likewise.
1636 (ypos): Likewise.
1637 (cursor_state): Likewise.
1638 (fg_color): Likewise.
1639 (bg_color): Likewise.
1640 (text_buf): Likewise.
1641 (page): Likewise.
1642 (font): Likewise.
1643 (framebuffer): New variable.
1644 (set_read_map): Disabled.
1645 (setup): New variable.
1646 (is_target): Likewise.
1647 (grub_vga_mod_init): Likewise.
1648 (grub_vga_mod_fini): Likewise.
1649 (check_vga_mem): Likewise.
1650 (write_char): Likewise.
1651 (write_cursor): Likewise.
1652 (scroll_up): Likewise.
1653 (grub_vga_putchar): Likewise.
1654 (grub_vga_getcharwidth): Likewise.
1655 (grub_vga_getwh): Likewise.
1656 (grub_vga_getxy): Likewise.
1657 (grub_vga_gotoxy): Likewise.
1658 (grub_vga_cls): Likewise.
1659 (grub_vga_setcolorstate): Likewise.
1660 (grub_vga_setcursor): Likewise.
1661 (grub_video_vga_init): New function.
1662 (grub_video_vga_setup): Likewise.
1663 (grub_video_vga_fini): Likewise.
1664 (update_target): Likewise.
1665 (grub_video_vga_blit_bitmap): Likewise.
1666 (grub_video_vga_blit_render_target): Likewise.
1667 (grub_video_vga_set_active_render_target): Likewise.
1668 (grub_video_vga_get_active_render_target): Likewise.
1669 (grub_video_vga_swap_buffers): Likewise.
1670 (grub_video_vga_set_palette): Likewise.
1671 (grub_video_vga_get_info_and_fini): Likewise.
1672 (grub_vga_term): Removed.
1673 (grub_video_vga_adapter): New variable.
1674 (GRUB_MOD_INIT): Register a video driver instead of terminal.
1675 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
1676
2bf61a98
VS
16772010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 * video/readers/jpeg.c: Indented.
1680
09ddcd11
VS
16812010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1682
1683 Various jpeg cleanups.
1684
1685 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
1686 (grub_jpeg_decode_quan_table): Use sizeof.
1687 (grub_jpeg_decode_du): Use ARRAY_SIZE.
1688
e5507505
PH
16892010-05-05 Peter Hurley <No e-mail available> (tiny change)
1690
1691 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
1692 tables. Ignore non-last ac bit.
1693 (grub_jpeg_decode_quan_table): Likewise.
1694
7e720a9b
VS
16952010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
1698 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
1699 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1700 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
1701 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
1702 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
1703
a7fc080b
VS
17042010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
1707 error.
1708
2bf6012d
VS
17092010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
1712
265d68cd
VS
17132010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
1716 condition.
1717
17182010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
1719
1720 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
1721 part.
1722
265d68cd 17232010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
1724
1725 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
1726 pointers.
1727
265d68cd 17282010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
1729
1730 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
1731
d1b61374
CF
17322010-05-01 Christian Franke <franke@computer.org>
1733
1734 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
1735 Remove broken Cygwin path conversion.
1736 * util/misc.c: [__CYGWIN__] Add include and define.
1737 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
1738 for Cygwin 1.7.
1739 (make_system_path_relative_to_its_root): Simplify loop, replace early
1740 return by break.
1741 [__CYGWIN__] Add conversion to win32 path.
1742 Include "/" case in trailing slash removal.
1743
3558c6e9
VS
17442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1745
1746 * kern/main.c (grub_load_config): Fix copy-pasted comment.
1747 Reported by: Seth Goldberg
1748
f5f3ff93
VS
17492010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * commands/help.c (grub_cmd_help): Fix a typo.
1752 Reported by: Seth Goldberg
1753
d8b5cd40
VS
17542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
1757 name and add N_.
1758 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
1759 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
1760 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
1761 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
1762 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
1763 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
1764 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
1765 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
1766 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
1767 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
1768 * normal/context.c (GRUB_MOD_INIT): Likewise.
1769 * normal/main.c (GRUB_MOD_INIT): Likewise.
1770 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
1771 * term/serial.c (GRUB_MOD_INIT): Likewise.
1772 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
1773
88c14915
VS
17742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
1777 extra == 0.
1778
165134bc
VS
17792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * commands/iorw.c: New file.
1782 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
1783 (iorw_mod_SOURCES): New variable.
1784 (iorw_mod_CFLAGS): Likewise.
1785 (iorw_mod_LDFLAGS): Likewise.
1786
c5ac9b32
VS
17872010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 Hotkey support
1790
1791 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
1792 * normal/main.c (hotkey_aliases): New variable.
1793 (grub_normal_add_menu_entry): Parse "--hotkey".
1794 * normal/menu_text.c (run_menu): Handle hotkeys.
1795
ce60689c
VS
17962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * kern/i386/coreboot/init.c (grub_machine_init): Call
1799 grub_machine_mmap_init on qemu.
1800
0359d006
VS
18012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 * boot/i386/qemu/boot.S: Add a missing .code16.
1804
7819a456
VS
18052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 Use LBIO on coreboot.
1808
1809 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
1810 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
1811 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
1812 New declaration.
1813 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
1814 grub_machine_mmap_init on coreboot.
1815 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
1816 GRUB_LINUXBIOS_MEMBER_LINK.
1817 (grub_machine_mmap_iterate): Fix declaration.
1818 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
1819
7210dca9
VS
18202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 Split coreboot and multiboot ports.
1823
1824 * conf/i386-multiboot.rmk: New file.
1825 * configure.ac: Add multiboot port.
1826 * include/grub/i386/multiboot/boot.h: New file.
1827 * include/grub/i386/multiboot/console.h: Likewise.
1828 * include/grub/i386/multiboot/init.h: Likewise.
1829 * include/grub/i386/multiboot/kernel.h: Likewise.
1830 * include/grub/i386/multiboot/loader.h: Likewise.
1831 * include/grub/i386/multiboot/memory.h: Likewise.
1832 * include/grub/i386/multiboot/serial.h: Likewise.
1833 * include/grub/i386/multiboot/time.h: Likewise.
1834 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
1835 * loader/multiboot.c: Likewise.
1836 * loader/multiboot_mbi2.c: Likewise.
1837 * util/grub-mkrescue.in: Generate multiboot rescue.
1838
6f8aaf68
VS
18392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1840
3080f7a7
VS
1841 * kern/parser.c (grub_parser_execute): Cope with read-only config.
1842
18432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
1846
1847 * commands/terminal.c (abstract_terminal): New struct.
1848 (handle_command): New function. Based on grub_cmd_terminal_input.
1849 (grub_cmd_terminal_input): Use handle_command.
1850 (grub_cmd_terminal_output): Use handle_command.
1851
a8ebb841
BC
18522010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
1853
1854 Fix comment handling.
1855
1856 * tests/grub_script_comments.in: New testcase.
1857 * conf/tests.rmk: Rules for new testcase.
1858 * script/yylex.l: Updated flex rules.
1859
bb06ba08
ST
18602010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
1861
1862 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
1863 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
1864 if argc is 1.
bb06ba08 1865
cc9d2425
VS
18662010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
1869 autogen issues.
1870
460d8402
CF
18712010-04-26 Christian Franke <franke@computer.org>
1872
1873 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
1874 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
1875 (grub_get_prefix): Remove function.
1876 * util/grub-emu.c (main): Replace grub_get_prefix () call by
1877 make_system_path_relative_to_its_root ().
1878 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
1879
553c01f9
CF
18802010-04-24 Christian Franke <franke@computer.org>
1881
1882 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
1883 (kernel_img_LDFLAGS): Remove -static-libgcc.
1884
2aec1692
CF
18852010-04-24 Christian Franke <franke@computer.org>
1886
1887 * configure.ac: Do not CHECK_BSS_START_SYMBOL
1888 and CHECK_END_SYMBOL if grub-emu is built.
1889 Unset TARGET_OBJ2ELF if grub-emu is built
1890 without module support.
1891
f67dc308
JS
18922010-04-24 Jiro SEKIBA <jir@unicus.jp>
1893
1894 Nilfs2 support.
1895
1896 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
1897 (grub_fstest_SOURCES): Likewise.
1898 (pkglib_MODULES): Add nilfs2.mod.
1899 (nilfs2_mod_SOURCES): New variable.
1900 (nilfs2_mod_CFLAGS): Likewise.
1901 (nilfs2_mod_LDFLAGS): Likewise.
1902 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1903 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1904 * fs/nilfs2.c: New file.
1905
4ba8d354
VS
19062010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1907
1908 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
1909 is not supported.
1910
0d2c20c6
GS
19112010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
1912
1913 Add grub-mkconfig support for NetBSD.
1914
1915 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
1916 * util/grub-mkconfig.in: export new NetBSD specific variables.
1917 * po/POTFILES-shell: added 10_netbsd.in.
1918 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
1919
bc4a2d83
BC
19202010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
1921
1922 Fix emu build with grub-emu-pci and grub-emu-modules.
1923
1924 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
1925 functions.
1926 * include/grub/libpciaccess.h: New file.
1927 * conf/any-emu.rmk: Update kernel headers for emu build.
1928
f48c87aa
VS
19292010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
1932
18959385
VS
19332010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
1936
0037de3f
VS
19372010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
1940 Retrieve chosen/bootpath if bootpath isn't hardcoded.
1941 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
1942 util/ieee1275/ofpath.c.
1943 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
1944 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
1945 * include/grub/sparc64/ieee1275/boot.h
1946 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
1947 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
1948 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
1949 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
1950 const char *.
1951 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
1952 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
1953 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
1954 install.
1955
38e55e90
GS
19562010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
1957
1958 * util/grub-mkconfig.in: Corrected two == equality tests.
1959 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
1960 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
1961 expect a number appended to it.
1962 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
1963 expects a number appended to it.
1964
a9e6ff28
VS
19652010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
1968
0b830b8f
VS
19692010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * util/hostdisk.c (make_device_name): Change to new partition naming.
1972
0973daeb
VS
19732010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
1976
460d8402 19772010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
1978
1979 * Makefile.in: Add missing localedir setting.
1980
0b456309
CW
19812010-04-14 Colin Watson <cjwatson@ubuntu.com>
1982
1983 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
1984 mistake in r2156. Noticed by Anthony Fok.
1985
1986 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
1987 @localedir@.
1988 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
1989
08f46d62
BC
19902010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
1991
1992 Fix a spurious, uninitialized variable warning.
1993
1994 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
1995 Initialize variable, shdr.
1996 (grub_freebsd_load_elfmodule): Likewise.
1997 (grub_freebsd_load_elf_meta): Likewise.
1998
8c4a72d4
BC
19992010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
2000
2001 Fix for escaped dollar in double quoted strings.
2002
2003 * script/yylex.l: Updated flex rules.
2004 * conf/tests.rmk: Rule for new testcase.
2005 * tests/grub_script_dollar.in: New testcase.
2006
ce44826e
CPE
20072010-04-13 Carles Pina i Estany <carles@pina.cat>
20082010-04-13 Colin Watson <cjwatson@ubuntu.com>
2009
2010 Enclose all translated strings in grub.cfg in single quotes, and
2011 escape them appropriately (Ubuntu bug #552921).
2012
2013 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
2014 * util/grub.d/10_hurd.in: Use it.
2015 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
2016 * util/grub.d/10_linux.in (linux_entry): Likewise.
2017
4b0cd8f8
VS
20182010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 Fix cygwin compilation.
2021
2022 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
2023 * include/grub/misc.h (__register_frame_info)
2024 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
2025 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2026 * kern/misc.c (__register_frame_info)
2027 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
2028 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2029
01fcf061
VS
20302010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2031
2032 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
2033
5d04b11e
VS
20342010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 Unify libgcc processing.
2037
2038 * Makefile.in (kernel_img_LDFLAGS): New variable.
2039 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
2040 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
2041 overwriting.
2042 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
2043 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
2044 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
2045 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
2046 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
2047 overwriting. Remove -lgcc and -static-libgcc
2048 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
2049 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2050 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2051 (kernel_img_LDFLAGS): Append instead of overwriting.
2052 Remove -lgcc and -static-libgcc
2053 * conf/sparc64-ieee1275.rmk: Likewise.
2054 * include/grub/powerpc/libgcc.h: Move to ...
2055 * include/grub/libgcc.h: .. this.
2056 * include/grub/libgcc.h: Don't export most of the function on x86.
2057 (__bswapsi2): New export.
2058 (__bswapdi2): Likewise.
2059 * include/grub/mips/libgcc.h: Removed.
2060 * include/grub/sparc64/libgcc.h: Likewise.
2061
b7f3ac29
VS
20622010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
2065 disk_info_msg (conflicts with gettexting into languages with cases).
2066
2c7031b1
GS
20672010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2068
2069 Add grub-probe support for NetBSD.
2070
2071 * util/getroot.c (find_root_device): Convert block device to
2072 character device on NetBSD.
2073 * util/probe.c (probe): Require character device on NetBSD.
2074 * util/hostdisk.c: NetBSD specific headers.
2075 (configure_device_driver): new function to tune device driver
2076 parameters (currently only for NetBSD floppy driver).
2077 (grub_util_biosdisk_open): NetBSD specific code (get disk size
2078 via disklabel ioctl).
2079 (open_device): call configure_device_driver on NetBSD.
2080 (convert_system_partition_to_system_disk): NetBSD specific code.
2081 (device_is_wholedisk): Likewise.
2082 (grub_util_biosdisk_get_grub_dev): Likewise.
2083 (make_device_name): Fixed a typo in bsd_part_str.
2084 * configure.ac: check for opendisk() and getrawpartition() on
2085 NetBSD and set LIBUTIL.
2086 * Makefile.in: add LIBUTIL to LIBS.
2087
f516290c
BC
20882010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
2089
2090 Documentation fix.
2091
2092 * util/grub-script-check.c: Better help message.
2093
d8dcc0df
BC
20942010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
2095
2096 Fix FreeBSD build.
2097
2098 * configure.ac: Flex version check.
2099 * conf/common.rmk: Add -Wno-error to sh.mod.
2100 * script/yylex.l: Remove all #pragma.
2101
6734334a
VS
21022010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * include/grub/util/misc.h (canonicalise_file_name): Add missing
2105 prototype.
2106 Reported by: Seth Goldberg.
2107
daea6abd
VS
21082010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
2111 Rename "module" to "module2".
2112 Reported by: Seth Goldberg.
2113
f2fd9d2b
VS
21142010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
2117 EXPORT_FUNC.
2118 Reported by: Seth Goldberg.
2119
be124579
VS
21202010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 * lib/posix_wrap/locale.h: Add missing file.
2123 Reported by: Seth Goldberg.
2124
ef5da797
VS
21252010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 grub-emu module load support.
2128
2129 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
2130 NO_DYNAMIC_MODULES switched to this.
2131 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
2132 (CFLAGS): Likewise.
2133 * conf/any-emu.rmk: Generate symlist.
2134 (kernel_img_HEADERS): Add util/datetime.h.
2135 (kernel_img_HEADERS) [sdl]: Add sdl.h.
2136 (kernel_img_HEADERS) [libusb]: Add libusb.h.
2137 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
2138 kern/$(target_cpu)/cache.S.
2139 * configure.ac (grub-emu-modules): New option.
2140 * genmk.rb: Handle multiple source lists.
2141 * include/grub/sdl.h: New file.
2142 * include/grub/libusb.h: Likewise.
2143 * util/grub-emu.c (main): Hanle (host) root.
2144 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
2145 GRUB_ERR_UNKNOWN_DEVICE.
2146 * util/misc.c: Move mm functions to ...
2147 * util/mm.c: ... here. All users updated.
2148
47822096
VS
21492010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
2152 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
2153 missing files.
2154 (maintainer-clean): Remove libgcrypt-grub.
2155
5d7e7445
VS
21562010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
2159
25f4e252
EC
21602010-04-09 EFI Coder <eficoder@hotmail.com>
2161
2162 * normal/menu_text.c (print_message): Clean up the message and show
2163 the Fn information when on EFI
2164 * term/efi/console.c (grub_console_checkkey): Add F4 support.
2165
027de555
VS
21662010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
2169 All users updated.
2170 * normal/crypto.c (read_crypto_list): Likewise.
2171 * normal/dyncmd.c (read_command_list): Likewise.
2172 * normal/term.c (read_terminal_list): Likewise.
2173 * normal/main.c (read_lists): Use explicit prefix.
2174 (read_lists_hook): Use read_lists.
2175 (grub_normal_execute): Likewise.
2176
47779711
VS
21772010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
2180 Reported by: Thomas Schmitt.
2181 Add -no-emul-boot to grub-mkisofs parameters.
2182
1118c32e
VS
21832010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * font/font.c: Indented.
2186
7d652447
BC
21872010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
2188
2189 Elif support to GRUB script (by Deepak Vankadaru).
2190
2191 * tests/grub_script_if.in: New testcase.
2192 * conf/tests.rmk: Rule for new testcase.
2193 * script/parser.y: Grammar rules for elif.
2194
34bb22df
BC
21952010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
2196
2197 While and until loops support to GRUB script.
2198
2199 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
2200 (grub_script_create_cmdwhile): New function prototype.
2201 (grub_script_execute_cmdwhile): New function prototype.
2202 * script/execute.c (grub_script_execute_cmdwhile): New function.
2203 * script/parser.y (command): New commands.
2204 (whilecmd): New grammar rule.
2205 (untilcmd): New grammar rule.
2206 * script/script.c (grub_script_create_cmdwhile): New function.
2207 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
2208 function.
2209
2210 * tests/grub_script_while1.in: New testcase.
2211 * conf/tests.rmk: Rule for new testcase.
2212
e215d8e0
VS
22132010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
2216 as *.jpg.
2217
d7c43ba1
MV
22182010-04-09 Mario Vazquez <mariovazq@gmail.com>
2219
2220 GRUB_BACKGROUND support.
2221
2222 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
2223 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
2224
d64795c0
VS
22252010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 2228 Idea by: Mario Vazquez
d64795c0
VS
2229
2230 * util/grub.d/00_header.in: Load pf2 and image modules.
2231
f267f83a
VS
22322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 grub-mkconfig multiple terminal support.
2235
2236 * util/grub-mkconfig.in: Handle multiple terminals correctly.
2237 * util/grub.d/00_header.in: Likewise.
2238
b7841ceb
VS
22392010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * Makefile.in: Specify files explicitly instead of using $< and $@ since
2242 we use cd $(srcdir).
2243
df60998c
CW
22442010-04-08 Colin Watson <cjwatson@ubuntu.com>
2245
2246 * util/grub.d/10_linux.in: Only use the first word of
2247 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
2248 spaces in GRUB_DISTRIBUTOR.
2249 * util/grub.d/10_kfreebsd.in: Likewise.
2250 * util/grub.d/10_hurd.in: Likewise.
2251
fa09c82e
BC
22522010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
2253
14e18ae3 2254 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
2255
2256 * tests/util/grub-shell.in: Remove -serial stdio option.
2257
daf892b3
BC
22582010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 POSIX header file wrappers.
2261
2262 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
2263 equivalents.
2264 * lib/posix_wrap/ctype.h: Likewise.
2265 * lib/posix_wrap/errno.h: Likewise.
2266 * lib/posix_wrap/langinfo.h: Likewise.
2267 * lib/posix_wrap/limits.h: Likewise.
2268 * lib/posix_wrap/localcharset.h: Likewise.
2269 * lib/posix_wrap/stdint.h: Likewise.
2270 * lib/posix_wrap/stdio.h: Likewise.
2271 * lib/posix_wrap/stdlib.h: Likewise.
2272 * lib/posix_wrap/string.h: Likewise.
2273 * lib/posix_wrap/sys/types.h: Likewise.
2274 * lib/posix_wrap/unistd.h: Likewise.
2275 * lib/posix_wrap/wchar.h: Likewise.
2276 * lib/posix_wrap/wctype.h: Likewise.
2277 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
2278 (grub_script.yy.h): Likewise.
2279 * script/yylex.l: Remove POSIX emulation #defines.
2280 * Makefile.in (POSIX_CFLAGS): New variable.
2281 (GNULIB_UTIL_CFLAGS): Likewise.
2282
2283 Regexp support.
2284
2285 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
2286 (regexp_mod_SOURCES): New variable.
2287 (regexp_mod_CFLAGS): Likewise.
2288 (regexp_mod_LDFLAGS): Likewise.
2289 * commands/regexp.c: New file.
2290 * gnulib/regcomp.c: New file. Imported from gnulib.
2291 * gnulib/regex.c: Likewise.
2292 * gnulib/regex_internal.c: Likewise.
2293 * gnulib/regex_internal.h: Likewise.
2294 * gnulib/regexec.c: Likewise.
2295 * gnulib/regex.h: Likewise.
2296
974ac4f7
VS
22972010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
2300 unsupported video mode types.
2301
2622c3ff
VS
23022010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
2305
064cb524
VS
23062010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
2309 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
2310
a8c3b552
VS
23112010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 Remove unused grub_vga_get_font.
2314
2315 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
2316 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
2317
187bbe3d
GS
23182010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2319
2320 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
2321 * include/grub/misc.h: Likewise.
2322
b9396631
GS
23232010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2324
2325 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
2326 for which failure is fatal.
2327
50479feb
GS
23282010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2329
2330 * util/grub-install.in: Use mkdir -p to create grub directory.
2331 * util/i386/efi/grub-install.in: Likewise.
2332 * util/ieee1275/grub-install.in: Likewise.
2333
b1654fdf
GS
23342010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2335
2336 * Makefile.in (LEX): new variable.
2337
bd5a6415
GS
23382010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2339
2340 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
2341 `=' and added double quotes on operands of this equality test.
2342
3db3a82b
VS
23432010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * Makefile.in (uninstall): Remove a leftover debug echo.
2346 Reported by: Grégoire Sutre
2347
38023412
VS
23482010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 MIPS multiboot2 support.
2351
2352 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
2353 (multiboot2_mod_SOURCES): New variable.
2354 (multiboot2_mod_CFLAGS): Likewise.
2355 (multiboot2_mod_LDFLAGS): Likewise.
2356 (multiboot2_mod_ASFLAGS): Likewise.
2357 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
2358 definition.
2359 (MULTIBOOT_ENTRY_REGISTER): Likewise.
2360 (MULTIBOOT_MBI_REGISTER): Likewise.
2361 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
2362 (MULTIBOOT_ELF32_MACHINE): Likewise.
2363 (MULTIBOOT_ELF64_MACHINE): Likewise.
2364 * include/grub/mips/multiboot.h: New file.
2365 * include/grub/video.h (grub_video_driver_id): New type
2366 GRUB_VIDEO_DRIVER_SM712.
2367 (grub_video_get_info_and_fini): Export.
2368 (grub_video_get_palette): Likewise.
2369 (grub_video_get_driver_id): Likewise.
2370 * include/multiboot2.h: Resynced with spec.
2371 * loader/i386/multiboot.c: Moved from here ...
2372 * loader/multiboot.c: ... here. All users updated.
2373 (grub_multiboot_boot): Use platform-specific macros.
2374 * loader/i386/multiboot_elfxx.c: Moved from here ...
2375 * loader/multiboot_elfxx.c: ... here. All users updated.
2376 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
2377 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
2378 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
2379
47674667
VS
23802010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 Import gnulib argp module.
2383
2384 * gnulib/argp-ba.c: New file.
2385 * gnulib/argp-eexst.c: Likewise.
2386 * gnulib/argp-fmtstream.c: Likewise.
2387 * gnulib/argp-fmtstream.h: Likewise.
2388 * gnulib/argp-fs-xinl.c: Likewise.
2389 * gnulib/argp-help.c: Likewise.
2390 * gnulib/argp-namefrob.h: Likewise.
2391 * gnulib/argp-parse.c: Likewise.
2392 * gnulib/argp-pin.c: Likewise.
2393 * gnulib/argp-pv.c: Likewise.
2394 * gnulib/argp-pvh.c: Likewise.
2395 * gnulib/argp-version-etc.c: Likewise.
2396 * gnulib/argp-version-etc.h: Likewise.
2397 * gnulib/argp-xinl.c: Likewise.
2398 * gnulib/argp.h: Likewise.
2399
495442ed
VS
24002010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * kern/device.c (grub_device_iterate): Clear errors after failed
2403 opening device.
2404
f9fd65df
VS
24052010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
2408 returned by firmware.
2409
af09641e
VS
24102010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
2413 compilation on coreboot and qemu
2414
016883a5
VS
24152010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * include/multiboot2.h: Resync with spec.
2418
f97e1f7d
VS
24192010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 Multiboot2 tag support
2422
2423 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
2424 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
2425 Remove loader/multiboot_loader.c.
2426 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
2427 (grub_multiboot2_real_boot): Likewise.
2428 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
2429 (grub_get_multiboot_mmap_count): New proto.
2430 (grub_fill_multiboot_mmap): Likewise.
2431 (grub_multiboot_set_video_mode): Likewise.
2432 (grub_multiboot_set_console): Likewise.
2433 (grub_multiboot_load): Likewise.
2434 (grub_multiboot_load_elf): Likewise.
2435 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
2436 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
2437 * include/multiboot.h: Resynced with specification.
2438 * include/multiboot2.h: Resynced with specification.
2439 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
2440 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
2441 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
2442 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
2443 users updated.
2444 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
2445 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
2446 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
2447 Removed.
2448 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
2449 Moved from here...
2450 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
2451 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2452 Moved from here...
2453 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
2454 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
2455 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
2456 All users updated.
2457 * loader/i386/multiboot_mbi2.c: New file.
2458
3506b90b
VS
24592010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 Resync with gnulib.
2462
2463 * Makefile.in (GNULIB_CFLAGS): New variable.
2464 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
2465 (grub_script_check_CFLAGS): New variable.
2466 * gnulib/alloca.h: Resync with gnulib.
2467 * gnulib/error.c: Likewise.
2468 * gnulib/error.h: Likewise.
2469 * gnulib/fnmatch.c: Likewise.
2470 * gnulib/fnmatch_loop.c: Likewise.
2471 * gnulib/getdelim.c: Likewise.
2472 * gnulib/getline.c: Likewise.
2473 * gnulib/getopt.c: Likewise.
2474 * gnulib/getopt1.c: Likewise.
2475 * gnulib/getopt_int.h: Likewise.
2476 * gnulib/gettext.h: Likewise.
2477 * gnulib/progname.c: Likewise.
2478 * gnulib/progname.h: Likewise.
2479
394a3120
GS
24802010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
2481
2482 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
2483 which is the case with --disabled-nls.
2484
2485 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
2486 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
2487 * util/misc.c: Likewise.
2488 * util/mkisofs/mkisofs.c: Likewise.
2489 * util/mkisofs/mkisofs.h: Likewise.
2490
969d1c78
VS
24912010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 Simplify Apple CC support.
2494
2495 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
2496 Add 0 byte at the end not to have a symbol with empty target.
2497 * mmap/i386/pc/mmap_helper.S: Likewise.
2498 * genmk.rb: Ignore errors 2030 and 2050.
2499 * kern/i386/pc/startup.S: Use LOCAL when possible.
2500
8d2977bb
BC
25012010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
2502
2503 Testcase and the fix for final semicolon on cmdline.
2504
2505 * tests/grub_script_final_semicolon.in: New testcase.
2506 * conf/tests.rmk: Rules for the new testcase.
2507 * script/parser.y: Grammar fix.
2508
a7bd6915
BC
25092010-03-26 BVK Chaitanya <bvk@localhost>
2510
2511 Blank lines testcase for GRUB script.
2512
2513 * tests/grub_script_blanklines.in: New testcase.
2514 * conf/tests.rmk: Rules for the new testcase.
2515
e4ff6628
VS
25162010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 Don't use __FILE__.
2519
2520 * genmk.rb: Add -DGRUB_FILE to all C targets.
2521 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
2522 * include/grub/list.h: Likewise.
2523 * include/grub/misc.h: Likewise.
2524 * include/grub/mm.h: Likewise.
2525 * include/grub/test.h: Likewise.
2526 * kern/mm.c: Likewise.
2527 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
2528
6a5cf6b6
VS
25292010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 Sunpc partitions support.
2532
2533 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
2534 (grub_fstest_SOURCES): Likewise.
2535 (pkglib_MODULES): Add part_sunpc.mod.
2536 (part_sunpc_mod_SOURCES): New variable.
2537 (part_sunpc_mod_CFLAGS): Likewise.
2538 (part_sunpc_mod_LDFLAGS): Likewise.
2539 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
2540 * partmap/sunpc.c: New file.
2541
746d9045
BC
25422010-03-26 BVK Chaitanya <bvk@localhost>
2543
2544 For loop support to GRUB script.
2545
2546 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
2547 (grub_script_create_cmdfor): New function prototype.
2548 (grub_script_execute_cmdfor): New function prototype.
2549 * script/execute.c (grub_script_execute_cmdfor): New function.
2550 * script/parser.y (command): New for command.
2551 (forcmd): New grammar rule.
2552 * script/script.c (grub_script_create_cmdfor): New function.
2553 * util/grub-script-check.c (grub_script_execute_cmdfor): New
2554 function.
2555 * tests/grub_script_for1.in: New testcase.
2556 * conf/tests.rmk: Rules for new testcase.
2557
18486b18
VS
25582010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 Nested partitions
2561
2562 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
2563 'partition' is NULL, grub_partition_get_start already does that.
2564 * commands/loadenv.c (check_blocklists): Likewise.
2565 (write_blocklists): Likewise.
2566 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
2567 (grub_fstest_SOURCES): Likewise.
2568 (pkglib_MODULES): Add part_bsd.mod.
2569 (part_bsd_mod_SOURCES): New variable.
2570 (part_bsd_mod_CFLAGS): Likewise.
2571 (part_bsd_mod_LDFLAGS): Likewise.
2572 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
2573 (grub_emu_SOURCES): Likewise.
2574 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2575 * include/grub/bsdlabel.h: New file.
2576 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
2577 'get_name'.
2578 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
2579 (grub_partition_map_list): New variable.
2580 (grub_partition_map_register): Inline.
2581 (grub_partition_map_unregister): Likewise.
2582 (FOR_PARTITION_MAPS): New macro.
2583 (grub_partition_map_iterate): Removed.
2584 (grub_partition_get_start): Handle nested partitions.
2585 * include/grub/msdos_partition.h: Remove bsd-related entries.
2586 (grub_pc_partition): Remove.
2587 * kern/disk.c (grub_disk_close): Free partition data.
2588 (grub_disk_adjust_range): Handle nested partitions.
2589 * kern/partition.c (grub_partition_map_probe): New function.
2590 (grub_partition_probe): Parse name to number, handle subpartitions.
2591 (get_partmap): New function.
2592 (grub_partition_iterate): Handle subpartitions.
2593 (grub_partition_get_name): Likewise.
2594 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
2595 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
2596 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
2597 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
2598 Set 'number'.
2599 (acorn_partition_map_probe): Remove.
2600 (acorn_partition_map_get_name): Likewise.
2601 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
2602 Set 'number'.
2603 Set 'index' to 0 since there can be only one partition entry per sector.
2604 (amiga_partition_map_probe): Remove.
2605 (amiga_partition_map_get_name): Likewise.
2606 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
2607 Set 'number'.
2608 Set 'offset' and 'index' to real positions of partitions.
2609 (apple_partition_map_probe): Remove.
2610 (apple_partition_map_get_name): Likewise.
2611 * partmap/bsdlabel.c: New file.
2612 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
2613 Set 'number'.
2614 Allocate 'data' so it can be correctly freed.
2615 Set 'index' to offset inside sector.
2616 (gpt_partition_map_probe): Remove.
2617 (gpt_partition_map_get_name): Likewise.
2618 * partmap/msdos.c (grub_partition_parse): Remove.
2619 (pc_partition_map_iterate): Don't force raw access.
2620 Set 'number'.
2621 Make 'ext_offset' a local variable.
2622 (pc_partition_map_probe): Remove.
2623 (pc_partition_map_get_name): Remove.
2624 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
2625 Set 'number'.
2626 (sun_partition_map_probe): Remove.
2627 (sun_partition_map_get_name): Likewise.
2628 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
2629 (grub_pcpart_type): Likewise.
2630 * util/hostdisk.c (open_device): Handle new numbering scheme.
2631 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
2632 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
2633 * util/grub-probe.c (probe_partmap): Handle nested paritions.
2634 * util/grub-install.in: Insert all subpartition modules.
2635 * util/ieee1275/grub-install.in: Likewise.
2636
a3940f88
AG
26372010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
2638
2639 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
2640 grammar.
2641
21b99926 26422010-03-24 Colin Watson <cjwatson@ubuntu.com>
2643
2644 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
2645
bed1d352
CW
26462010-03-21 Colin Watson <cjwatson@ubuntu.com>
2647
2648 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
2649 match where 'make install' puts them.
2650 * util/i386/efi/grub-install.in: Likewise.
2651
c9f58427
CW
26522010-03-19 Colin Watson <cjwatson@ubuntu.com>
2653
2654 * .bzrignore: Add gentrigtables, grub-script-check,
2655 grub_script_check_init.c, grub_script_check_init.h, and
2656 trigtables.c.
2657
f84afb27
VS
26582010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * kern/parser.c: Indented.
2661
ed0e3d30
VS
26622010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
2665
0ea81d98
VS
26662010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
2669 alpha_mask_size == 0 case.
2670
0cdc2a09
BC
26712010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
2672
2673 GRUB shell lexer and parser improvements.
2674
2675 * conf/any-emu.rmk: Build rule updates.
2676 * conf/common.rmk: Likewise.
2677 * conf/i386-coreboot.rmk: Likewise.
2678 * conf/i386-efi.rmk: Likewise.
2679 * conf/i386-ieee1275.rmk: Likewise.
2680 * conf/i386-pc.rmk: Likewise.
2681 * conf/powerpc-ieee1275.rmk: Likewise.
2682 * conf/x86_64-efi.rmk: Likewise.
2683
2684 * configure.ac: Configure check for flex.
2685
2686 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
2687 types.
2688 (grub_lexer_param): Struct member updates.
2689 (grub_parser_param): Likewise.
2690 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
2691 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
2692 (grub_script_lexer_init): Prototype update.
2693 (grub_script_lexer_record_start): Likewise.
2694 (grub_script_lexer_record_stop): Likewise.
2695 (grub_script_lexer_yywrap): New function prototype.
2696 (grub_script_lexer_fini): Likewise.
2697 (grub_script_execute_argument_to_string): Removed by...
2698 (grub_script_execute_argument_to_argv): ...better version.
2699
2700 * script/execute.c (ROUND_UPTO): New macro.
2701 (grub_script_execute_cmdline): Out of memory fixes.
2702 (grub_script_execute_menuentry): Likewise.
2703 (grub_script_execute_argument_to_string): Removed. Update all
2704 users by...
2705 (grub_script_execute_argument_to_argv): ...better version.
2706 * script/function.c (grub_script_function_create): Use
2707 grub_script_execute_argument_to_argv instead of
2708 grub_script_execute_argument_to_string.
2709
2710 * script/lexer.c (check_varstate): Removed.
2711 (check_textstate): Removed.
2712 (grub_script_lexer_record_start): Likewise.
2713 (grub_script_lexer_record_stop): Likewise.
2714 (recordchar): Replaced with...
2715 (grub_script_lexer_record): ...new function.
2716 (nextchar): Removed.
2717 (grub_script_lexer_init): Rewritten.
2718 (grub_script_yylex): Rewritten.
2719 (append_newline): New function.
2720 (grub_script_lexer_yywrap): New function.
2721 (grub_script_lexer_fini): New function.
2722 (grub_script_yyerror): Sets error flag.
2723
2724 * script/yylex.l: New file.
2725 (grub_lexer_yyfree): Wrapper for flex yyffre.
2726 (grub_lexer_yyalloc): Likewise.
2727 (grub_lexer_yyrealloc): Likewise.
2728 * script/parser.y: Refactored.
2729
2730 * script/script.c (grub_script_arg_add): Out of memory fixes.
2731 (grub_script_add_arglist): Likewise.
2732 (grub_script_create_cmdline): Likewise.
2733 (grub_script_create_cmdmenu): Likewise.
2734 (grub_script_add_cmd): Likewise.
2735 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
2736 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
2737 unnecessary code.
2738
2739 * tests/grub_script_echo1.in: New testcase.
2740 * tests/grub_script_vars1.in: New testcase.
2741 * tests/grub_script_echo_keywords.in: New testcase.
2742
1d63a066
VS
27432010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 Remove some redundancy in build system.
2746
2747 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
2748 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
2749 (TARGET_LDFLAGS): Add -nostdlib.
2750 (TARGET_IMG_LDFLAGS): Likewise.
2751 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
2752 anything since mmap isn't available.
2753 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
2754 Add util/time.c.
2755 (pkglib_MODULES): Remove reboot.mod.
2756 (reboot_mod_SOURCES): Removed.
2757 (reboot_mod_CFLAGS): Likewise.
2758 (reboot_mod_LDFLAGS): Likewise.
2759 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
2760 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
2761 (DEFSYMFILES): Add kernel_syms.lst.
2762 (kernel_img_HEADERS): Add common headers.
2763 (symlist.c): New target.
2764 (kernel_syms.lst): Likewise.
2765 (pkglib_MODULES): Add memdisk.mod.
2766 (memdisk_mod_SOURCES): New variable.
2767 (memdisk_mod_CFLAGS): Likewise.
2768 (memdisk_mod_LDFLAGS): Likewise.
2769 (pkglib_MODULES): Add reboot.mod.
2770 (reboot_mod_SOURCES): New variable.
2771 (reboot_mod_CFLAGS): Likewise.
2772 (reboot_mod_LDFLAGS): Likewise.
2773 (pkglib_MODULES): Add date.mod.
2774 (date_mod_SOURCES): New variable.
2775 (date_mod_CFLAGS): Likewise.
2776 (date_mod_LDFLAGS): Likewise.
2777 (pkglib_MODULES): Add datehook.mod.
2778 (datehook_mod_SOURCES): New variable.
2779 (datehook_mod_CFLAGS): Likewise.
2780 (datehook_mod_LDFLAGS): Likewise.
2781 (pkglib_MODULES): Add lsmmap.mod.
2782 (lsmmap_mod_SOURCES): New variable.
2783 (lsmmap_mod_CFLAGS): Likewise.
2784 (lsmmap_mod_LDFLAGS): Likewise.
2785 (pkglib_MODULES): Add boot.mod.
2786 (boot_mod_SOURCES): New variable.
2787 (boot_mod_CFLAGS): Likewise.
2788 (boot_mod_LDFLAGS): Likewise.
2789 * conf/i386-coreboot.rmk: Removed redundant parts.
2790 * conf/i386-ieee1275.rmk: Likewise.
2791 * conf/i386-pc.rmk: Likewise.
2792 * conf/mips-yeeloong.rmk: Likewise.
2793 * conf/mips.rmk: Likewise.
2794 * conf/powerpc-ieee1275.rmk: Likewise.
2795 * conf/sparc64-ieee1275.rmk: Likewise.
2796 * conf/x86_64-efi.rmk: Likewise.
2797 * conf/i386-coreboot.rmk: Moved qemu parts ..
2798 * conf/i386-qemu.rmk: ... here
2799 * conf/i386-efi.rmk: Moved common parts to...
2800 * conf/x86-efi.rmk: ... here.
2801 * conf/i386.rmk: Added modules common to all x86 variants.
2802 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
2803 * disk/memdisk.c: Remove grub/machine/kernel.h.
2804 * gensymlist.sh.in: Include symbol.h.
2805 * hook/datehook.c: Correct module name.
2806 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
2807 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
2808 * include/grub/i386/efi/serial.h: New file.
2809 * include/grub/x86_64/efi/serial.h: Likewise.
2810 * util/time.c: Likewise.
2811 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
2812
463ac55f
CK
28132010-03-14 Colin King <colin.king@ubuntu.com>
28142010-03-14 Colin Watson <cjwatson@ubuntu.com>
2815
2816 Shrink the pre-partition-table part of boot.img by eight bytes.
2817
2818 * boot/i386/pc/boot.S (ERR): New macro.
2819 (chs_mode): Use ERR.
2820 (geometry_error): Likewise.
2821 (hd_probe_error): Remove. This is only used once, so we wrwite
2822 it inline instead.
2823 (read_error): Instead of printing read_error_string, just set up
2824 %si and fall through to ...
2825 (error_message): ... this new function, also used by ERR.
2826
08e46ede
CW
28272010-03-14 Colin Watson <cjwatson@ubuntu.com>
2828
2829 Speed up consecutive hostdisk operations on the same device.
2830
2831 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
2832 (grub_util_biosdisk_open): Initialise disk->data.
2833 (struct linux_partition_cache): New structure.
2834 (linux_find_partition): Cache partition start positions; these are
2835 expensive to compute on every read and write.
2836 (open_device): Cache open file descriptor in disk->data, so that we
2837 don't have to reopen it and flush the buffer cache for consecutive
2838 operations on the same device.
2839 (grub_util_biosdisk_close): New function.
2840 (grub_util_biosdisk_dev): Set `close' member.
2841
2842 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
2843 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
2844 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
2845 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
2846 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
2847
4a6d2d06
VS
28482010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 Compile parts of grub-emu as modules.
2851
2852 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
2853 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
2854 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
2855 (all-local): Add $(GRUB_EMU).
2856 (install-local): Install $(GRUB_EMU).
2857 (uninstall): Uninstall $(GRUB_EMU).
2858 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
2859 * kern/dl.c: Likewise.
2860 * commands/sleep.c: Not include machine/time.h.
2861 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
2862 (COMMON_CFLAGS): Likewise.
2863 (sbin_UTILITIES): Remove grub-emu.
2864 (grub_emu_SOURCES): Removed.
2865 (kernel_img_RELOCATABLE): New variable.
2866 (pkglib_PROGRAMS): Add kernel.img.
2867 (kernel_img_SOURCES): New variable
2868 (kernel_img_CFLAGS): Likewise.
2869 (kernel_img_LDFLAGS): Likewise.
2870 (TARGET_NO_STRIP): Likewise.
2871 (TARGET_NO_DYNAMIC_MODULES): Likewise.
2872 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
2873 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
2874 (grub-emu): New target.
2875 (GRUB_EMU): New variable.
2876 * configure.ac: Whitelist -emu as possible x86_64 architecture.
2877 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
2878 * loader/xnu.c: Likewise.
2879 * include/grub/pci.h: Likewise.
2880 * genemuinit.sh: New file.
2881 * genemuinitheader.sh: Likewise.
2882 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
2883 Support TARGET_NO_DYNAMIC_MODULES.
2884 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
2885 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
2886 * disk/loopback.c: Likewise.
2887 * font/font_cmd.c: Likewise.
2888 * partmap/acorn.c: Likewise.
2889 * partmap/amiga.c: Likewise.
2890 * partmap/apple.c: Likewise.
2891 * partmap/gpt.c: Likewise.
2892 * partmap/msdos.c: Likewise.
2893 * partmap/sun.c: Likewise.
2894 * parttool/msdospart.c: Likewise.
2895 * term/gfxterm.c: Likewise.
2896 * video/bitmap.c: Likewise.
2897 * video/readers/jpeg.c: Likewise.
2898 * video/readers/png.c: Likewise.
2899 * video/readers/tga.c: Likewise.
2900 * video/video.c: Likewise.
2901 * util/grub-emu.c (read_command_list): Removed.
2902 (main): Don't call util_init_nls.
2903 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
2904 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
2905
91fdd2ed
VS
29062010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
2909 date.mod, datehook.mod.
2910 (datetime_mod_SOURCES): New variable.
2911 (datetime_mod_CFLAGS): Likewise.
2912 (datetime_mod_LDFLAGS): Likewise.
2913 (date_mod_SOURCES): Likewise.
2914 (date_mod_CFLAGS): Likewise.
2915 (date_mod_LDFLAGS): Likewise.
2916 (datehook_mod_SOURCES): Likewise.
2917 (datehook_mod_CFLAGS): Likewise.
2918 (datehook_mod_LDFLAGS): Likewise.
2919 * conf/sparc64-ieee1275.rmk: Likewise.
2920 * lib/ieee1275/datetime.c: New file.
2921
873ccae6
VS
29222010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
2925 (ieee1275_fb_mod_SOURCES): New variable.
2926 (ieee1275_fb_mod_CFLAGS): Likewise.
2927 (ieee1275_fb_mod_LDFLAGS): Likewise.
2928 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
2929 New proto.
2930 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
2931 (HEAP_MAX_ADDR): Likewise.
2932 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
2933 type.
2934 Correct stop condition.
2935 (grub_ieee1275_devices_iterate): New function.
2936 * video/ieee1275.c: New file.
2937
601c97c0
VS
29382010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2939
2940 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
2941
2942 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
2943 as scratch.
2944 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
2945 SCRATCH_PAD_DISKBOOT as scratch.
2946 (bootit): Pass Openfirmware pointer in %o4.
2947 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
2948 of 0x200000.
2949 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
2950 with util/grub-mkrawimage.c.
2951 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
2952 * include/grub/aout.h (AOUT_MID_SUN): New definition.
2953 (grub_aout_get_type) [GRUB_UTIL]: Removed.
2954 (grub_aout_load) [GRUB_UTIL]: Likewise.
2955 * include/grub/kernel.h (grub_modules_get_end): New proto.
2956 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
2957 (SCRATCH_PAD_BOOT): New definition.
2958 (SCRATCH_PAD_DISKBOOT): Likewise.
2959 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
2960 * include/grub/sparc64/ieee1275/ieee1275.h
2961 (grub_ieee1275_original_stack): New variable
2962 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
2963 New definition
2964 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
2965 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
2966 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
2967 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
2968 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
2969 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
2970 (grub_platform_image_format_t): New type.
2971 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
2972 * kern/main.c (grub_modules_get_end)
2973 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
2974 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
2975 (codestart): Switch stacks.
2976 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
2977 variable.
2978 (grub_heap_init): Use grub_modules_get_end.
2979 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
2980 stack.
2981 * util/grub-mkrawimage.c (generate_image): Support sparc64.
2982 (main): Likewise.
2983 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
2984
d68b491e
TG
29852010-03-14 Thorsten Glaser <tg@mirbsd.org>
2986
2987 * util/grub-mkrescue.in: Base ISO UUID on UTC.
2988
4e02ed50
MK
29892010-03-08 Matt Kraai <kraai@ftbfs.org>
2990
2991 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
2992 bug #559005).
2993
1f15fc1e
VS
29942010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 * genmoddep.awk: Output all missing symbols and not only first.
2997
fce5d8ff
VS
29982010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2999
3000 * NEWS: Put the date of 1.98 release.
3001
d1e8a02f
VS
30022010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
3005 ft2build.h.
3006
696fd607
VS
30072010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
3010 completition in the middle of string.
3011
33e2e6f3
VS
30122010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3013
3014 * util/grub-mkrescue.in: Use mktemp with explicit template.
3015
b1f6d291
VS
30162010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
3019
2ac227c7
VS
30202010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
3023 right pointer.
3024
8f9a632b
VS
30252010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 Fix FreeBSD compilation.
3028
3029 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
3030 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
3031
60b03859
VS
30322010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
3035
48a5a769
VS
30362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
3039
3ab4bd77
VS
30402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
3043
d116e0d8
RM
30442010-03-04 Robert Millan <rmh.grub@aybabtu.com>
3045
3046 Support relative image path in theme file.
3047
3048 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
3049 (image_set_property): Handle theme_dir and relative path.
3050
c7ef54aa
VS
30512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * configure.ac: Alias amd64 to x86_64.
3054
fcee14ed
VS
30552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * NEWS: mention multiboot on EFI.
3058
d0780363
VS
30592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 * kern/main.c (grub_load_modules): Handle errors from init functions of
3062 embeded modules.
3063
41168ea4
VS
30642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * normal/autofs.c (autoload_fs_module): Handle errors.
3067
b54d93ac
VS
30682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3069
3070 Disable linux.mod on qemu-mips since it's not functional and leads
3071 to compilation failure.
3072
3073 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
3074 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
3075 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
3076 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
3077 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
3078 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
3079 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
3080 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
3081 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
3082 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
3083 Reported by: BVK Chaitanya
3084
fc8345da
JU
30852010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
3086
3087 * INSTALL: Add gettext as a dependency and add qemu to a new section
3088 "Prerequisites for make-check".
3089
4760f979
CF
30902010-03-04 Christian Franke <franke@computer.org>
3091
3092 * util/grub-pe2elf.c: Add missing include "progname.h".
3093
f209b5b2
VS
30942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 * normal/crypto.c (read_crypto_list): Fix a typo.
3097 Reported by: Seth Goldberg.
3098
b4b7be98
VS
30992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 3102 Reported by: Seth Goldberg.
b4b7be98 3103
c0ee0385
VS
31042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
3107 ascii.bitmaps.
3108
a8efbf64
VS
31092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 3112 Reported by: Seth Goldberg.
a8efbf64 3113
08dcd913
VS
31142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 * util/i386/efi/grub-install.in: Copy gettext files.
3117
c4d0b332
VS
31182010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
3121
c6f2fe52
VS
31222010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 Wait for user entry basing on presence of output rather than on errors.
3125
3126 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
3127 (grub_install_newline_hook): Likewise.
3128 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
3129 * normal/menu.c (show_menu): Check line_counter to determine presence
3130 of output.
3131 * normal/term.c (grub_normal_line_counter): New variable.
3132 (grub_normal_get_line_counter): New function.
3133 (grub_install_newline_hook): Likewise.
3134
5382b1e4
VS
31352010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
3138
5519963b
VS
31392010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 * configure.ac: Update version to 1.98.
3142
72b28631
VS
31432010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 * util/grub.d/10_linux.in (linux_entry): Don't default to
3146 gfxpayload=keep if Linux doesn't support video handover.
3147
c140a180
VS
31482010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 Don't compile video modules on yeeloong since video subsystem is part
3151 of kernel.
3152
3153 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
3154 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
3155 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
3156 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
3157 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
3158 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
3159 * include/grub/bitmap_scale.h: Likewise.
3160 * include/grub/bufio.h: Likewise.
3161 * include/grub/font.h: Likewise.
3162 * include/grub/gfxterm.h: Likewise.
3163 * include/grub/video.h: Likewise.
3164 * include/grub/vbe.h: Don't include video_fb.h.
3165 * video/i386/pc/vbe.c: Include video_fb.h.
3166 * commands/i386/pc/vbetest.c: Include video.h.
3167
a0ca21c2
CW
31682010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
3169
3170 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
3171 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
3172 default entry if GRUB_SAVEDEFAULT=true. This allows using
3173 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
3174 saving a new default on every boot.
3175
4a8a763c
VS
31762010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * normal/crypto.c (read_crypto_list): Fix a memory leak.
3179 * normal/term.c (read_terminal_list): Likewise.
3180 * normal/main.c (grub_normal_init_page): Likewise.
3181 (grub_normal_read_line_real): Likewise.
3182
607ffde2
VS
31832010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
3186 memory leak.
3187 Reported by: Seth Goldberg.
3188
2b8fa975
CW
31892010-02-24 Joey Korkames <joey+lists@kidfixit.com>
3190
3191 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
3192 duplicate declaration of `start'.
3193
618307dd
VS
31942010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
3197 filename.
3198 Reported by: Georgy Buranov
3199
7dd05b96 32002010-02-20 Carles Pina i Estany <carles@pina.cat>
3201
3202 * util/grub-mkrawimage.c (usage): Change string formatting to
3203 improve gettext.
3204
d1484a42
MRA
32052010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
3206
3207 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
3208 backspace keys.
3209
42b1d186
VS
32102010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
3213 Reported by: Michael Suchanek.
3214
32152010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
3216
3217 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
3218 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
3219
d9f31a41
VS
32202010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 Remove any reference to non-free fonts.
3223
3224 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
3225 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
3226 uses non-free components.
3227 * font/font.c (grub_font_get_name): Remove example name.
3228 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
3229 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
3230 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
3231 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
3232
2793c71e
GB
32332010-02-16 Georgy Buranov <gburanov@gmail.com>
3234
3235 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
3236
402e3779
VS
32372010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
3240 Double divisor.
3241 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
3242 features.
3243 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
3244
0dd1e0dd
VS
32452010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 * gensymlist.sh.in: Use TARGET_CC instead of CC.
3248
6fa7cfce
ST
32492010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3250
3251 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
3252 * docs/grub.texi (Command-line and menu entry commands): Document play
3253 command.
3254
37c8483b
ST
32552010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3256
3257 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
3258 parse arguments as inline tempo and notes. Move code for playing notes
3259 to...
3260 (play): ... new function.
3261
14da0fb7
ST
32622010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3263
3264 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
3265 grub_uint16_t instead of short.
3266 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
3267 disk from little endian to cpu endianness.
3268
04459e70
ST
32692010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
3270
3271 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
3272 GRUB_TICKS_PER_SECOND instead of 120.
3273
a0876943
VS
32742010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3275
3276 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
3277 escape sequence after \e.
3278
e29f95dc
VS
32792010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
3282 non-ASCII characters.
3283
d27859b2
VS
32842010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
3287 set root in single quotes to prevent \, from being unescaped.
3288
bc028f2f
VS
32892010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 Prevent unknown commands from stopping menuentry execution.
3292
3293 * script/execute.c (grub_script_execute_cmdline): Print error after
3294 unknown command.
3295
095f5f82
VS
32962010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
3299 Reported by: Pavel Pisa.
3300
8c717950
VS
33012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
3304
904935c3
VS
33052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3306
3307 Merge grub_ieee1275_map_physical into grub_map and rename to
3308 grub_ieee1275_map
3309
3310 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
3311 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
3312 Remove.
3313 * kern/ieee1275/openfw.c (grub_map): Rename to ...
3314 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
3315 necessary.
3316 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
3317
5b59a4e3
VS
33182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
3321 opening and not after.
3322
69e137e8
VS
33232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
3326 constants.
3327
2c0fcc36
VS
33282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
3331 (alloc_phys): Use ALIGN_UP instead of align_addr.
3332
8c6052ce
VS
33332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
3336
17cec782
VS
33372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
3340
e0128bbd
VS
33412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
3344 verbose dprintf.
3345
ca62070b
VS
33462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 Fix over-4GiB seek on sparc64.
3349
3350 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
3351 Replace pos_i and pos_lo with pos. All users updated.
3352 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
3353 New constant.
3354 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
3355 Likewise.
3356 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
3357 and pos_lo.
3358
bdca2607
VS
33592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 * util/grub-mkrawimage.c (main): Call set_program_name.
3362
da278c4d
VS
33632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 Properly align 64-bit targets.
3366
3367 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
3368 (generate_image): Use ALIGN_ADDR.
3369
b274d734
VS
33702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3371
3372 Properly create cross-endian images.
3373
3374 * include/grub/types.h (grub_host_to_target_addr): New macro
3375 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
3376
82da2062
VS
33772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
3380
7cae4377
VS
33812010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3382
3383 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
3384
3385 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
3386 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
3387 (grub_linux_boot): Divide by 64K when on VESA.
3388
65a533e7
VS
33892010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 Support GRUB_GFXPAYLOAD_LINUX.
3392
3393 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
3394 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
3395
dd01d397
VS
33962010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
3399 to show messages instead of discarding them.
3400 Process errors after executing command and not before. Keep old method
3401 too as precaution.
3402
660960d6
VS
34032010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 * configure.ac: Check for ft2build.h.
3406
62509f04
VS
34072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
3410
473df63d
VS
34112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 * genkernsyms.sh.in: Use TARGET_CC.
3414
c98d2a13
CW
34152010-02-07 Colin Watson <cjwatson@ubuntu.com>
3416
3417 * NEWS: Update.
3418
6e14234c
VS
34192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
3422 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
3423 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 3424
b255e9cf
YB
34252010-02-07 Yves Blusseau <blusseau@zetam.org>
3426
6e14234c 3427 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 3428
98e6959d
VS
34292010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 Fix warnings in grub-emu when compiling with maximum warning options.
3432
3433 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
3434 (grub_arch_modules_addr): Return 0 and not NULL.
3435 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 3436 (xstrdup): Use newstr instead of dup.
f88d801b
VS
3437 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
3438 of disk to dsk to avoid shadowing.
74e4934e
VS
3439 (find_free_slot): Fix prototype.
3440 * util/getroot.c (grub_util_is_dmraid): Make static.
3441 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
3442 Add missing prototype.
3443 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 3444
74e31b5c
VS
34452010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 * loader/i386/linux.c (grub_linux_setup_video): Handle error
3448 appropriately.
3449
6b2ad14b
VS
34502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
3453 code out.
3454
8f891adc
VS
34552010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
3458 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
3459 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
3460 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
3461 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
3462 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
3463
74b45184
VS
34642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * include/grub/err.h (grub_err_printf): Don't export.
3467
a4bced77
VS
34682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
3471
007d0695
VS
34722010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * include/grub/i18n.h (grub_gettext_dummy): Removed.
3475 * kern/misc.c (grub_gettext_dummy): Make static.
3476
b6c0d9c2
VS
34772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
3480 by non-valid ones.
3481 * kern/term.c (grub_putchar): Likewise.
3482
f51a90d0
VS
34832010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
3486 buggy hook call and memory leak.
3487
6846cec5
VS
34882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3489
3490 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
3491
468d69fe
VS
34922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
3495
51906b8c
VS
34962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
3499 modevar.
3500 Return grub_errno on allocation error.
3501
09706ce5
VS
35022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
3505
911df80c
YB
35062010-02-06 Yves Blusseau <blusseau@zetam.org>
3507
3508 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
3509 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
3510
3746a6bc
VS
35112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3512
3513 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
3514 non-pxe disk.
3515 (grub_pxefs_open): Likewise.
3516
09706ce5
VS
35172010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3518
3519 * util/grub.d/10_hurd.in: Add --class information to menuentries.
3520 * util/grub.d/10_kfreebsd.in: Likewise.
3521 * util/grub.d/10_linux.in: Likewise.
3522
7cc192d9
VS
35232010-02-06 Colin D Bennett <colin@gibibit.com>
3524
3525 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
3526 (gfxmenu_mod_SOURCES): New variable.
3527 (gfxmenu_mod_CFLAGS): Likewise.
3528 (gfxmenu_mod_LDFLAGS): Likewise.
3529 * include/grub/term.h (grub_term_set_current_output): Declare
3530 argument as const.
3531 * docs/gfxmenu-theme-example.txt: New file.
3532 * gfxmenu/gfxmenu.c: Likewise.
3533 * gfxmenu/gui_box.c: Likewise.
3534 * gfxmenu/gui_canvas.c: Likewise.
3535 * gfxmenu/gui_circular_progress.c: Likewise.
3536 * gfxmenu/gui_image.c: Likewise.
3537 * gfxmenu/gui_label.c: Likewise.
3538 * gfxmenu/gui_list.c: Likewise.
3539 * gfxmenu/gui_progress_bar.c: Likewise.
3540 * gfxmenu/gui_string_util.c: Likewise.
3541 * gfxmenu/gui_util.c: Likewise.
3542 * gfxmenu/icon_manager.c: Likewise.
3543 * gfxmenu/model.c: Likewise.
3544 * gfxmenu/named_colors.c: Likewise.
3545 * gfxmenu/theme_loader.c: Likewise.
3546 * gfxmenu/view.c: Likewise.
3547 * gfxmenu/widget-box.c: Likewise.
3548 * include/grub/gfxmenu_model.h: Likewise.
3549 * include/grub/gfxmenu_view.h: Likewise.
3550 * include/grub/gfxwidgets.h: Likewise.
3551 * include/grub/gui.h: Likewise.
3552 * include/grub/gui_string_util.h: Likewise.
3553 * include/grub/icon_manager.h: Likewise.
3554
35552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 Agglomerate scrolling in gfxterm.
3558
3559 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
3560 (grub_virtual_screen_setup): Initialise 'total_screen'.
3561 (write_char): Split to ...
3562 (paint_char): ... this ...
3563 (write_char): ... and this.
3564 (paint_char): Handle delayed scrolling.
3565 (draw_cursor): Likewise.
3566 (scroll_up): Split to ...
3567 (real_scroll): ... this ...
3568 (scroll_up): ... and this.
3569 (real_scroll): Handle multi-line scroll and draw below-the-bottom
3570 characters.
3571 (grub_gfxterm_refresh): Call real_scroll.
3572
35732010-02-06 Colin D Bennett <colin@gibibit.com>
3574
3575 * include/grub/misc.h (grub_iscntrl): New inline function.
3576 (grub_isalnum): Likewise.
3577 (grub_strtol): Likewise.
3578
35792010-02-06 Colin D Bennett <colin@gibibit.com>
3580
3581 * normal/menu_text.c (get_entry_number): Move from here ...
3582 * normal/menu.c (get_entry_number): ... moved here.
3583 * include/grub/menu.h (grub_menu_get_default_entry_index):
3584 New prototype.
3585 * normal/menu.c (grub_menu_get_default_entry_index): New function.
3586 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
3587 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
3588 (grub_menu_viewer_should_return): Likewise.
3589 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
3590 * normal/menu_text.c (run_menu): Enable menu switching.
3591 * normal/menu_viewer.c (should_return): New variable.
3592 (menu_viewer_changed): Likewise.
3593 (grub_menu_viewer_show_menu): Handle menu viewer changes.
3594 (grub_menu_viewer_should_return): New function.
3595 (menuviewer_write_hook): Likewise.
3596 (grub_menu_viewer_init): Likewise.
3597
35982010-02-06 Colin D Bennet <colin@gibibit.com>
35992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 Support for gfxterm in a window.
3602
3603 * include/grub/gfxterm.h: New file.
3604 * include/grub/video.h (struct grub_video_rect): New declaration.
3605 (grub_video_rect_t): Likewise.
3606 * term/gfxterm.c (struct grub_gfxterm_window): New type.
3607 (refcount): New variable.
3608 (render_target): Likewise.
3609 (window): Likewise.
3610 (repaint_callback): Likewise.
3611 (grub_virtual_screen_setup): Use 'render_target'.
3612 (init_window): New function.
3613 (grub_gfxterm_init_window): Likewise.
3614 (grub_gfxterm_init): Check reference counter.
3615 Use init_window.
3616 (destroy_window): New function.
3617 (grub_gfxterm_destroy_window): Likewise.
3618 (grub_gfxterm_fini): Check reference counter.
3619 Use destroy_window.
3620 (redraw_screen_rect): Restore viewport.
3621 Use 'render_target' and 'window'.
3622 Call 'repaint_callback'.
3623 (write_char): Use 'render_target'.
3624 (draw_cursor): Likewise.
3625 (scroll_up): Restore viewport.
3626 Use 'render_target' and 'window'.
3627 Call 'repaint_callback'.
3628 (grub_gfxterm_cls): Likewise.
3629 (grub_gfxterm_refresh): Use 'window'.
3630 (grub_gfxterm_set_repaint_callback): New function.
3631 (grub_gfxterm_background_image_cmd): Use 'window'.
3632 (grub_gfxterm_get_term): New function.
3633 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
3634
36352010-02-06 Colin D Bennett <colin@gibibit.com>
3636
3637 Bitmap scaling support.
3638
3639 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
3640 (bitmap_scale_mod_SOURCES): New variable.
3641 (bitmap_scale_mod_CFLAGS): Likewise.
3642 (bitmap_scale_mod_LDFLAGS): Likewise.
3643 * include/grub/bitmap_scale.h: New file.
3644 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
3645 (background_image_cmd_options): New variable.
3646 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
3647 (cmd): Rename and change type to ...
3648 (background_image_cmd_handle): ... this. All users updated.
3649 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
3650 * video/bitmap_scale.c: New file.
3651
36522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 SDL support.
3655
3656 * Makefile.in (LIBSDL): New variable.
3657 (enable_grub_emu_sdl): Likewise.
3658 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
3659 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
3660 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
3661 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
3662 * util/sdl.c: New file.
3663
36642010-02-06 Colin D Bennett <colin@gibibit.com>
36652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 Double buffering support.
3668
3669 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
3670 * include/grub/video.h: Update comment.
3671 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
3672 New type.
3673 (grub_video_fb_doublebuf_blit_init): New prototype.
3674 * term/gfxterm.c (scroll_up): Support double buffering.
3675 (grub_gfxterm_refresh): Likewise.
3676 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
3677 (grub_video_fb_doublebuf_blit_init): Likewise.
3678 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
3679 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
3680 'displayed_page', 'render_page' and 'update_screen'.
3681 (grub_video_vbe_fini): Free offscreen buffer.
3682 (doublebuf_pageflipping_commit): New function.
3683 (doublebuf_pageflipping_update_screen): Likewise.
3684 (doublebuf_pageflipping_init): Likewise.
3685 (double_buffering_init): Likewise.
3686 (grub_video_vbe_setup): Enable doublebuffering.
3687 (grub_video_vbe_swap_buffers): Implement.
3688 (grub_video_vbe_set_active_render_target): Handle double buffering.
3689 (grub_video_vbe_get_active_render_target): Likewise.
3690 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
3691 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
3692 (grub_video_vbe_enable_double_buffering): Likewise.
3693 (grub_video_vbe_swap_buffers): Use update_screen.
3694 (grub_video_set_mode): Use double buffering.
3695
36962010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3697
3698 * maintainance/gentrigtables.py: Remove.
3699 * lib/trig.c: Likewise.
3700
3701 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
3702
3703 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
3704 `trigtables.c'.
3705 (trigtables.c): New rule.
3706 (gentrigtables): Likewise.
3707 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
3708
37092010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3710
3711 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
3712 integer constants.
3713
37142010-02-06 Colin D Bennet <colin@gibibit.com>
3715
3716 Trigonometry support.
3717
3718 * include/grub/trig.h: New file.
3719 * lib/trig.c: Likewise.
3720 * maintainance/gentrigtables.py: Likewise.
3721 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
3722 (trig_mod_SOURCES): New variable.
3723 (trig_mod_CFLAGS): Likewise.
3724 (trig_mod_LDFLAGS): Likewise.
3725
5562834e
VS
37262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
3729 disk devices.
3730
4f8528fc
VS
37312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
3734 error.
3735
2b4068e9
VS
37362010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * util/hostdisk.c (open_device): Don't use partition device when reading
3739 before the partition.
3740 (grub_util_biosdisk_read): Don't read from partition and before the
3741 partition in single operation.
3742 (grub_util_biosdisk_write): Don't write to partition and before the
3743 partition in single operation.
3744
399f6e4d
TL
37452010-02-03 Torsten Landschoff <torsten@debian.org>
3746
3747 * kern/disk.c (grub_disk_read): Fix offset computation when reading
3748 last sectors.
3749
996649b0
VS
37502010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
3753 CDROM reads.
3754 (grub_biosdisk_write): Refuse to write to CDROM.
3755
3b205d4d
VS
37562010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
3759
61e89d9d
VS
37602010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * font/font.c (find_glyph): Check that bmp_idx is available before
3763 using it.
3764 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
3765 with (font == NULL).
3766
bf7fcba2
CS
37672010-01-28 Christian Schmitt <chris@ilovelinux.de>
3768
3769 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
3770
f45d2663
BC
37712010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
3772
3773 * include/grub/script_sh.h (sourcecode): Add const qualifier.
3774 * util/grub-script-check.c (getline): Fix empty lines case.
3775
ec1444e6
RM
37762010-01-28 Robert Millan <rmh.grub@aybabtu.com>
3777
3778 * Makefile.in (check): Exit with fail status when one of the tests
3779 fails.
3780 * tests/example_functional_test.c (example_test): Fix reversed assert.
3781 * tests/example_unit_test.c (example_test): Likewise.
3782
2e1cb9bb
CW
37832010-01-28 Colin Watson <cjwatson@ubuntu.com>
3784
3785 * util/grub.d/10_linux.in: This script does not use any of the
3786 contents of gettext.sh, only the external command `gettext', so stop
3787 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
3788 the same prefix as GRUB.)
3789 * util/grub.d/10_kfreebsd.in: Likewise.
3790
63533ab0
VS
37912010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
3794 of the line.
3795
989e1f93
VS
37962010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * kern/disk.c (grub_disk_read): Fix offset computation when reading
3799 last sectors.
3800
e709ebe2
VS
38012010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3802
3803 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
3804 having a 4KiB and not 32KiB buffer size.
3805
27dea7ed
RM
38062010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3807
3808 * util/hostfs.c: Include `<errno.h>'.
3809 (grub_hostfs_read): Handle errors from fseeko() and fread().
3810
67667b9c
RM
38112010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3812
3813 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
3814 loop when using read hooks on files whose size isn't sector-aligned.
3815
c294d9d8
RM
38162010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3817
3818 Remove unused parameter.
3819
3820 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
3821 (grub_iso9660_open): Remove initialization of `data->length'.
3822
af75a9f1
RM
38232010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3824
3825 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
3826 memleak conditions.
3827
254e2ce5 38282010-01-27 Carles Pina i Estany <carles@pina.cat>
3829
3830 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
3831 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
3832
b510928c 38332010-01-26 Carles Pina i Estany <carles@pina.cat>
3834
3835 * util/bin2h.c (usage): Fix warning (space after backslash).
3836
aa2f9dd2 38372010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 3838
3839 * font/font.c: Include `grub/fontformat.h.
3840 Remove font file format constants.
3841 (grub_font_load): Use the new macros.
3842 * include/grub/fontformat.h: New file.
3843 * util/grub-mkfont.c: Include `grub/fontformat.c'.
3844 (write_font_pf2): Use the new macros.
3845
94e7e712
RM
38462010-01-26 Robert Millan <rmh.grub@aybabtu.com>
3847
3848 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
3849 does.
3850
3973a59a
RM
38512010-01-26 Robert Millan <rmh.grub@aybabtu.com>
3852
3853 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
3854
3855 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
3856 (_start): Macroify `0x7F'.
3857
3858 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
3859 (make_install_device): Use "(pxe)" as fallback prefix when booting
3860 via PXE.
3861
42e0cba3
GS
38622010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * configure.ac: Reset LIBS after check for libgcc symbols.
3865
847effd8
CW
38662010-01-25 Colin Watson <cjwatson@ubuntu.com>
3867
3868 * util/hostdisk.c (open_device): Add trailing newline to debug
3869 message.
3870
ea4a7e35
GS
38712010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3872
3873 * configure.ac: Check for `limits.h'.
3874 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
3875
67951a53
RM
38762010-01-24 Robert Millan <rmh.grub@aybabtu.com>
3877
3878 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
3879 capitalize error strings.
3880
c273d4ce
ST
38812010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
3882
3883 * util/grub.d/10_hurd.in: Add a recovery mode.
3884
69be5b74
VS
38852010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3886
3887 * configure.ac: Check for libgcc symbols with -nostdlib.
3888
fc9e5810
BC
38892010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
3890
3891 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
3892
4b358c0a
VS
38932010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
3896 stack since heap may be unavailable at that point.
3897 (grub_ofconsole_gotoxy): Likewise.
3898
454fcd1c
VS
38992010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 * configure.ac: Check for _restgpr_14_x.
3902 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
3903 and _savegpr_* prototypes.
3904
566863ca
RM
39052010-01-22 Robert Millan <rmh.grub@aybabtu.com>
3906
3907 Use generic grub_reboot() for i386-efi.
3908
3909 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
3910 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
3911 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
3912
bf86e59a
VS
39132010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
3916 presence of "prefix" variable as it breaks when normal.mod is
3917 embedded.
3918
d645e0f8
VS
39192010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
3922 stack since heap is unavailable at that point.
3923
f9ab2e25
VS
39242010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
3927 (grub_freebsd_bootinfo): Rewritten.
3928 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
3929
01fc7054
VS
39302010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
3933
caab4fd6
RM
39342010-01-21 Robert Millan <rmh.grub@aybabtu.com>
3935
3936 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
3937 domain now.
3938
67eb1427
FZ
39392010-01-20 Felix Zielcke <fzielcke@z-51.de>
3940
3941 * util/misc.c (make_system_path_relative_to_its_root): Change the work
3942 around for handling "/" to the correct fix. Fix a memory leak. Use
3943 xstrdup instead of strdup.
3944
a9ed4ff3
VS
39452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3946
3947 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
3948
39492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
3950
3951 Optimise glyph lookup by Basic Multilingual Plane lookup array.
3952
3953 * font/font.c (struct grub_font): New member 'bmp_idx'.
3954 (font_init): Initialise 'bmp_idx'.
3955 (load_font_index): Fill 'bmp_idx'.
3956 (find_glyph): Make inline. Use bmp_idx for BMP characters.
3957
48209f4f
VS
39582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
3961 unnecessary calls.
3962
9f0a4bb7
VS
39632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 Move context handling out of the kernel.
3966
3967 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
3968 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
3969 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
3970 * conf/i386-efi.rmk: Likewise.
3971 * conf/i386-ieee1275.rmk: Likewise.
3972 * conf/i386-pc.rmk: Likewise.
3973 * conf/powerpc-ieee1275.rmk: Likewise.
3974 * conf/sparc64-ieee1275.rmk: Likewise.
3975 * conf/x86_64-efi.rmk: Likewise.
3976 * include/grub/env.h: Include grub/menu.h.
3977 (grub_env_var_type): Removed.
3978 (grub_env_var): Replaced field 'type' with 'global'.
3979 (grub_env_find): New prototype.
3980 (grub_env_context_open): Remove EXPORT_FUNC.
3981 (grub_env_context_close): Likewise.
3982 (grub_env_export): Likewise.
3983 (grub_env_set_data_slot): Removed.
3984 (grub_env_get_data_slot): Likewise.
3985 (grub_env_unset_data_slot): Likewise.
3986 (grub_env_unset_menu): New prototype.
3987 (grub_env_set_menu): Likewise.
3988 (grub_env_get_menu): Likewise.
3989 * include/grub/env_private.h: New file.
3990 * include/grub/normal.h (grub_context_init): New prototype.
3991 (grub_context_fini): Likewise.
3992 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
3993 * normal/context.c (grub_cmd_export): ... to here.
3994 * kern/env.c: Include env_private.h.
3995 (HASHSZ): Moved to include/grub/env_private.h.
3996 (grub_env_context): Likewise.
3997 (grub_env_sorted_var): Likewise.
3998 (current_context): Renamed from this ...
3999 (grub_current_context): ...to this. 'static' removed. All users updated.
4000 (grub_env_find): Removed 'static'.
4001 (grub_env_context_open): Moved to normal/context.c.
4002 (grub_env_context_close): Likewise.
4003 (grub_env_export): Likewise.
4004 (mangle_data_slot_name): Removed.
4005 (grub_env_set_data_slot): Likewise.
4006 (grub_env_get_data_slot): Likewise.
4007 (grub_env_unset_data_slot): Likewise.
4008 * kern/main.c (grub_set_root_dev): Don't export root.
4009 It will be done later.
4010 (grub_main): Don't export prefix.
4011 It will be done later.
4012 * normal/context.c: New file.
4013 * normal/main.c (free_menu): Use grub_env_unset_menu.
4014 (grub_normal_add_menu_entry): Use grub_env_get_menu.
4015 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
4016 (GRUB_MOD_INIT(normal)): Call grub_context_init.
4017 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
4018
8dd35b8c
VS
40192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 setpci support.
4022
4023 * commands/setpci.c: New file.
4024 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
4025 (setpci_mod_SOURCES): New variable.
4026 (setpci_mod_CFLAGS): Likewise.
4027 (setpci_mod_LDFLAGS): Likewise.
4028
449193d5
VS
40292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 Byte-addressable PCI configuration space.
4032
4033 * bus/pci.c (grub_pci_make_address): Use byte address instead of
4034 dword address.
4035 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
4036 GRUB_PCI_REG_CACHELINE.
4037 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
4038 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
4039 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
4040 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
4041 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
4042 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
4043 grub_pci_make_address.
4044 (lock_rom_area): Likewise.
4045 * commands/lspci.c (grub_lspci_iter): Use macroses
4046 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
4047 of grub_pci_make_address.
4048 * disk/ata.c (grub_ata_pciinit): Likewise.
4049 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
4050 (GRUB_PCI_REG_VENDOR): Likewise.
4051 (GRUB_PCI_REG_DEVICE): Likewise.
4052 (GRUB_PCI_REG_COMMAND): Likewise.
4053 (GRUB_PCI_REG_STATUS): Likewise.
4054 (GRUB_PCI_REG_REVISION): Likewise.
4055 (GRUB_PCI_REG_CLASS): Likewise.
4056 (GRUB_PCI_REG_CACHELINE): Likewise.
4057 (GRUB_PCI_REG_LAT_TIMER): Likewise.
4058 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
4059 (GRUB_PCI_REG_BIST): Likewise.
4060 (GRUB_PCI_REG_ADDRESSES): Likewise.
4061 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4062 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4063 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4064 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4065 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4066 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4067 (GRUB_PCI_REG_CIS_POINTER): Likewise.
4068 (GRUB_PCI_REG_SUBVENDOR): Likewise.
4069 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
4070 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
4071 (GRUB_PCI_REG_CAP_POINTER): Likewise.
4072 (GRUB_PCI_REG_IRQ_LINE): Likewise.
4073 (GRUB_PCI_REG_IRQ_PIN): Likewise.
4074 (GRUB_PCI_REG_MIN_GNT): Likewise.
4075 (GRUB_PCI_REG_MAX_LAT): Likewise.
4076 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
4077 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
4078 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 4079 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
4080 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
4081 space.
4082
96d73208
RM
40832010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4084
4085 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
4086 can be reliably determined to be supported.
4087
d4484482
RM
40882010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4089
4090 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
4091 that VESA is supported.
4092 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
4093 supported.
4094
00308ecf
VS
40952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
4098
f66924a4
RM
40992010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4100
4101 * util/misc.c (make_system_path_relative_to_its_root): Work around
4102 special-casing of "/", as previous incarnation of this routine did.
4103
cbca0ada
VS
41042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 Fix any-emu compilation.
4107
4108 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
4109 * grub_bin2h_SOURCES: New variable.
4110
34a66d99
RM
41112010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4112
4113 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
4114
94fabf58
RM
41152010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4116
4117 * util/grub.d/00_header.in: Fix handling of locale_dir.
4118
02cf98ca
VS
41192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
4122 as possible unifont location (Gentoo).
4123 Reported by: Alexander Brüning
4124
327dbcd7
VS
41252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 Don't try to generate lists for kernel.img.
4128
4129 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
4130 (pkglib_MODULES): Remove kernel.img.
4131 (kernel_img_EXPORTS): Removed.
4132 (kernel_img_RELOCATABLE): New variable.
4133 * conf/x86_64-efi.rmk: Likewise.
4134 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
4135
ca467290
VS
41362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
4139 grub_xasprintf or grub_snprintf.
4140 (grub_vsprintf): Likewise.
4141 (grub_snprintf): New proto.
4142 (grub_vsnprintf): Likewise.
4143 (grub_xasprintf): Likewise.
4144 (grub_xvasprintf): Likewise.
4145 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
4146 (grub_sprintf): Removed.
4147 (grub_vsnprintf): New function.
4148 (grub_snprintf): Likewise.
4149 (grub_xvasprintf): Likewise.
4150 (grub_xasprintf): Likewise.
4151 (grub_vsprintf): Renamed to ...
4152 (grub_vsnprintf_real): ...this. New argument max_len.
4153
aca655fd
BC
41542010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
4155
4156 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
4157 fix grub-script-check warning.
4158
7ee92c32
VS
41592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 * include/grub/font.h (grub_font_load): Fix prototype.
4162
f80927ca
VS
41632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
4166
119c50ea
VS
41672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * include/grub/x86_64/at_keyboard.h: New file.
4170
47d5f3c1
VS
41712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 * loader/mips/linux.c: Include missing grub/i18n.h.
4174
55ff5266
RM
41752009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4176
4177 * normal/menu.c (notify_execution_failure): Clarify error message.
4178
c893cc87
RM
41792009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4180
4181 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
4182 return value (and revert all return statements). Update users.
4183
917dd370
CW
41842010-01-20 Dan Merillat <debian@dan.merillat.org>
4185
4186 * kern/device.c (grub_device_iterate): Allocate new part_ent
4187 structure based on sizeof (*p) rather than sizeof (p->next), to
4188 account for structure padding.
4189
4190 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
4191 disk is NULL, which might happen for LVM physical volumes with no
4192 LVM signature.
4193
d4a4ee57
RM
41942009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4195
4196 * loader/mips/linux.c (grub_cmd_initrd)
4197 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
4198
41992009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4200
4201 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
4202 (grub_video_video_init, grub_video_bitmap_init)
4203 (grub_font_manager_init, grub_term_gfxterm_init)
4204 (grub_at_keyboard_init): New extern declarations.
4205 (grub_machine_init): Initialize gfxterm and at_keyboard.
4206
4207 * kern/main.c (grub_main): Revert grub_printf delay kludge.
4208
4209 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
4210 `gfxterm.mod' into core image.
4211
4212 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4213 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4214 (kernel_img_FORMAT): Copy to ...
4215
4216 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4217 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4218 (kernel_img_FORMAT): ... here, and ...
4219
4220 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4221 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4222 (kernel_img_FORMAT): ... here.
4223
4224 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
4225 and input (at_keyboard) terminals in kernel.
4226 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
4227
4228 (pkglib_MODULES): Remove `pci.mod'.
4229 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
4230 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
4231 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
4232 (at_keyboard_mod_LDFLAGS): Remove variables.
4233
42342010-01-11 Felix Zielcke <fzielcke@z-51.de>
4235
4236 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
4237
42382009-12-10 Robert Millan <rmh.grub@aybabtu.com>
4239
4240 * include/grub/mips/libgcc.h: Only export symbols for functions
4241 that libgcc provides.
4242
42432009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 MIPS support.
4246
4247 * bus/bonito.c: New file.
4248 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
4249 GRUB_PCI_NUM_DEVICES.
4250 * term/i386/pc/serial.c: Move to ...
4251 * term/serial.c: ... here. All users updated.
4252 * util/i386/pc/grub-mkimage.c: Move to ...
4253 * util/grub-mkrawimage.c: ... here. All users updated.
4254 * term/i386/pc/at_keyboard.c: Move to ...
4255 * term/at_keyboard.c: ... here. All users updated.
4256 * conf/mips-qemu-mips.rmk: New file.
4257 * conf/mips-yeeloong.rmk: Likewise.
4258 * conf/mips.rmk: Likewise.
4259 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
4260 mipsel-qemu-mips.
4261 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
4262 to port addresses.
4263 (grub_ata_pciinit): Support CS5536.
4264 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
4265 * font/font_cmd.c (loadfont_command): Open file before passing it to
4266 grub_font_load.
4267 (pseudo_file_read): New function.
4268 (pseudo_file_close): Likewise.
4269 (pseudo_fs): New structure.
4270 (load_font_module): New function.
4271 (GRUB_MOD_INIT(font_manager)): Load embedded font.
4272 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
4273 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
4274 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
4275 * include/grub/i386/at_keyboard.h: Split into ...
4276 * include/grub/at_keyboard.h: ... this ...
4277 * include/grub/i386/at_keyboard.h: ... and this.
4278 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
4279 New prototype.
4280 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
4281 updated.
4282 (grub_elf64_size): Likewise.
4283 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
4284 filename.
4285 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
4286 * include/grub/i386/coreboot/serial.h: Rewritten.
4287 * include/grub/i386/ieee1275/serial.h: Include
4288 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
4289 * include/grub/i386/pc/serial.h: Moved from here ...
4290 * include/grub/serial.h: ... to here. All users updated.
4291 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
4292 (GRUB_PCI_NUM_BUS): Likewise.
4293 (GRUB_PCI_NUM_DEVICES): Likewise.
4294 (grub_pci_device_map_range): Add missing volatile keyword.
4295 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
4296 * include/grub/mips/at_keyboard.h: New file.
4297 * include/grub/mips/cache.h: Likewise.
4298 * include/grub/mips/io.h: Likewise.
4299 * include/grub/mips/kernel.h: Likewise.
4300 * include/grub/mips/libgcc.h: Likewise.
4301 * include/grub/mips/pci.h: Likewise.
4302 * include/grub/mips/qemu-mips/boot.h: Likewise.
4303 * include/grub/mips/qemu-mips/kernel.h: Likewise.
4304 * include/grub/mips/qemu-mips/loader.h: Likewise.
4305 * include/grub/mips/qemu-mips/memory.h: Likewise.
4306 * include/grub/mips/qemu-mips/serial.h: Likewise.
4307 * include/grub/mips/qemu-mips/time.h: Likewise.
4308 * include/grub/mips/relocator.h: Likewise.
4309 * include/grub/mips/time.h: Likewise.
4310 * include/grub/mips/types.h: Likewise.
4311 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
4312 * include/grub/mips/yeeloong/boot.h: Likewise.
4313 * include/grub/mips/yeeloong/kernel.h: Likewise.
4314 * include/grub/mips/yeeloong/loader.h: Likewise.
4315 * include/grub/mips/yeeloong/memory.h: Likewise.
4316 * include/grub/mips/yeeloong/pci.h: Likewise.
4317 * include/grub/mips/yeeloong/serial.h: Likewise.
4318 * include/grub/mips/yeeloong/time.h: Likewise.
4319 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
4320 * kern/elf.c (grub_elf32_size): New parameter. All users
4321 updated.
4322 (grub_elf64_size): Likewise.
4323 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
4324 Load modules before saying "Welcome to GRUB!".
4325 Call grub_refresh after saying "Welcome to GRUB!".
4326 * kern/mips/cache.S: New file.
4327 * kern/mips/cache_flush.S: Likewise.
4328 * kern/mips/dl.c: Likewise.
4329 * kern/mips/init.c: Likewise.
4330 * kern/mips/qemu-mips/init.c: Likewise.
4331 * kern/mips/startup.S: Likewise.
4332 * kern/mips/yeeloong/init.c: Likewise.
4333 * kern/term.c (grub_putcode): Handle NULL terminal.
4334 (grub_getcharwidth): Likewise.
4335 (grub_getkey): Likewise.
4336 (grub_checkkey): Likewise.
4337 (grub_getkeystatus): Likewise.
4338 (grub_getxy): Likewise.
4339 (grub_getwh): Likewise.
4340 (grub_gotoxy): Likewise.
4341 (grub_cls): Likewise.
4342 (grub_setcolorstate): Likewise.
4343 (grub_setcolor): Likewise.
4344 (grub_getcolor): Likewise.
4345 (grub_refresh): Likewise.
4346 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
4347 (write_jump): Add hatch nop.
4348 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
4349 * lib/mips/setjmp.S: New file.
4350 * loader/mips/linux.c: Likewise.
4351 * term/i386/pc/at_keyboard.c: Move from here ...
4352 * term/at_keyboard.c: ... to here.
4353 * term/i386/pc/serial.c: Moved from here ...
4354 * term/serial.c: ... to here. All users updated.
4355 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
4356 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
4357 (serial_translate_key_sequence): Avoid deadlock.
4358 (grub_serial_getkey): Handle backspace.
4359 (grub_serial_putchar): Fix newline handling.
4360 * util/i386/pc/grub-mkimage.c: Move from here ...
4361 * util/grub-mkrawimage.c: ... to here. All users updated.
4362 (generate_image): New parameters 'font_path' and 'format'.
4363 Support embedding font.
4364 Use grub_host_to_target* instead of grub_cpu_to_le*.
4365 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
4366 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
4367 (options): New option "--font".
4368 (usage): Likewise.
4369 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
4370 (main): Handle "--font".
4371 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
4372 (grub_virtual_screen_setup): Set bg_color_display.
4373 (redraw_screen_rect): Use bg_color_display instead of incorrect
4374 bg_color.
4375 (grub_gfxterm_cls): Likewise.
4376 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
4377 Support embedding config file.
4378 (add_segments): Likewise.
4379 (options): New option "--config".
4380 (main): Handle "--config".
4381 * video/sm712.c: New file.
4382
25c2b5b3
RM
43832010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4384
4385 Fix parallel builds.
4386
4387 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
4388 font.c depend on ascii.h).
4389
43902010-01-12 Carles Pina i Estany <carles@pina.cat>
4391
4392 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
4393
43942010-01-11 Carles Pina i Estany <carles@pina.cat>
4395
4396 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
4397 By default: disabled.
4398 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
4399 parameter.
4400
44012010-01-10 Carles Pina i Estany <carles@pina.cat>
4402
4403 * font/font.c: Update copyright years.
4404 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
4405
44062010-01-10 Carles Pina i Estany <carles@pina.cat>
4407
4408 * font/font.c: Include `ascii.h'.
4409 (ASCII_BITMAP_SIZE): New macro.
4410 (ascii_font_glyph): Define.
4411 (ascii_glyph_lookup): New function.
4412 (grub_font_get_string_width): Change comment. If glyph not found, use
4413 ascii_glyph_lookup.
4414 (grub_font_get_glyph_with_fallback): If glyph not available returns
4415 ascii_glyph_lookup.
4416 * util/grub-mkfont.c (file_formats): New enum.
4417 (options): Add `ascii-bitmaps' new option.
4418 (usage): Add `asii-bitmaps' new option.
4419 (write_font_ascii_bitmap): New function.
4420 (write_font): Rename to ...
4421 (write_font_p2): ... this. Remove print_glyphs call.
4422 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
4423 used. Call print_glyphs.
4424 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
4425
44262010-01-14 Robert Millan <rmh.grub@aybabtu.com>
4427
4428 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
4429 (grub_bin2h_SOURCES): New variable.
4430 * util/bin2h.c: New file.
4431
915fc1b8
VS
44322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * include/multiboot.h: Resynced with spec.
4435 * include/multiboot2.h: Likewise.
4436 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
4437 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
4438
9444b678
RM
44392010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4440
4441 * include/grub/term.h (grub_term_register_input,
4442 grub_term_register_output): Check return of terminal init()
4443 routines, and abort if errors are raised.
4444
4445 * commands/terminal.c: Update copyright year.
4446
cba98e8d
RM
44472010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4448
4449 * commands/terminal.c (grub_cmd_terminal_input)
4450 (grub_cmd_terminal_output): Check return of terminal init()
4451 routines, and abort if errors are raised.
4452
6f7db5d6
VS
44532010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 * include/grub/i386/bsd.h: Fix include pathes.
4456
262bff8d
VS
44572010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 Add missing *BSD copyright headers.
4460
4461 * include/grub/aout.h: Add BSD licence.
4462 * include/grub/i386/bsd.h: Parts under different licences moved to ...
4463 * include/grub/i386/freebsd_linker.h: ... here,
4464 * include/grub/i386/freebsd_reboot.h: ... here,
4465 * include/grub/i386/netbsd_bootinfo.h: ... here,
4466 * include/grub/i386/netbsd_reboot.h: ... here,
4467 * include/grub/i386/openbsd_bootarg.h: ... here,
4468 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
4469 licence to each file.
4470
b2cab848
RM
44712010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4472
4473 * acinclude.m4: Remove `nop' assembly instruction; it's not
4474 implemented by all architectures.
4475
2cb6be4b
RM
44762010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4477
4478 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
4479 ELILO. This is no longer necessary.
4480
a2eaee15
BC
44812010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
4482
4483 Added new tool, grub-scrit-check to verify grub.cfg syntax.
4484
4485 * util/grub-script-check.c: grub-script-check tool.
4486 * conf/common.rmk: Make rules for grub-script-check.
4487
88d17012
RM
44882010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4489
4490 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
4491 spotting it back in 2008. Shame on me for forgetting he did.
4492
4493 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
4494
8040619d
RM
44952010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4496
4497 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
4498 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
4499 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
4500 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
4501 (GRUB_VIDEO_TYPE_EFI): Rename to ...
4502 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
4503
a0c2a0f6
RM
45042010-01-17 Robert Millan <rmh.grub@aybabtu.com>
4505
4506 * include/grub/test.h: Add license header.
4507 * tests/example_functional_test.c: Likewise.
4508 * tests/example_unit_test.c: Likewise.
4509 * tests/lib/functional_test.c: Likewise.
4510 * tests/lib/test.c: Likewise.
4511 * tests/lib/unit_test.c: Likewise.
4512
b0b13907
VS
45132010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 Use flag-based instead of hook-based video mode selection and "auto"
4516 keyword.
4517
4518 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
4519 (grub_video_set_mode): Changed prototype. All users updated.
4520 (grub_video_check_mode_flag): New inline function.
4521 * video/video.c (parse_modespec): New function.
4522 (grub_video_set_mode): Parse flags and keywords.
4523
ea379330 45242010-01-17 Carles Pina i Estany <carles@pina.cat>
4525
4526 * util/misc.c (grub_util_info): Fix the order of the parameters in a
4527 fprintf call.
4528
e15c215e
FZ
45292010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4530
4531 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
4532
409ae1c9 45332010-01-16 Carles Pina i Estany <carles@pina.cat>
4534
4535 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
4536 string.
4537 * util/grub-emu.c (usage): Likewise.
4538 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
4539 * util/i386/efi/grub-mkimage.c (usage): Likewise.
4540 * util/i386/pc/grub-mkimage.c (usage): Likewise.
4541 * util/i386/pc/grub-setup.c (usage): Likewise.
4542
70a14d3d 45432010-01-16 Carles Pina i Estany <carles@pina.cat>
4544
4545 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
4546 the message.
4547 (grub_util_info): Likewise.
4548 (grub_util_error): Likewise.
4549 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
4550 and/or new lines in `grub_util_warna', `grub_util_info',
4551 `grub_util_error' calls.
4552 * util/getroot.c: Likewise.
4553 * util/grub-editenv.c: Likewise.
4554 * util/grub-emu.c: Likewise.
4555 * util/grub-fstest.c: Likewise.
4556 * util/grub-mkdevicemap.c: Likewise.
4557 * util/grub-mkfont.c: Likewise.
4558 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4559 * util/grub-mkrelpath.c: Likewise.
4560 * util/grub-pe2elf.c: Likewise.
4561 * util/grub-probe.c: Likewise.
4562 * util/hostdisk.c: Likewise.
4563 * util/i386/efi/grub-mkimage.c: Likewise.
4564 * util/i386/pc/grub-mkimage.c: Likewise.
4565 * util/i386/pc/grub-setup.c: Likewise.
4566 * util/ieee1275/ofpath.c: Likewise.
4567 * util/mkisofs/eltorito.c: Likewise.
4568 * util/mkisofs/rock.c: Likewise.
4569 * util/mkisofs/write.c: Likewise.
4570 * util/raid.c: Likewise.
4571 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
4572 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4573
a0b766fc
VS
45742010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 Enable multiboot on non-pc.
4577
4578 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
4579 multiboot.mod and multiboot2.mod to ...
4580 * conf/i386.rmk (pkglib_MODULES): ... here.
4581 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
4582 Moved to ...
4583 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
4584 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
4585 Moved to ...
4586 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
4587 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
4588 Moved to ...
4589 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
4590 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
4591 Moved to ...
4592 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
4593 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
4594 relocator.mod.
4595 (ata_mod_SOURCES): Removed.
4596 (ata_mod_CFLAGS): Likewise.
4597 (ata_mod_LDFLAGS): Likewise.
4598 (relocator_mod_SOURCES): Removed.
4599 (relocator_mod_CFLAGS): Likewise.
4600 (relocator_mod_ASFLAGS): Likewise.
4601 (relocator_mod_LDFLAGS): Likewise.
4602 Include i386.mk.
4603 * include/grub/x86_64/multiboot.h: New file.
4604 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
4605 Terminate EFI.
4606
884ade56
VS
46072010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 Video multiboot support.
4610
4611 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
4612 New prototype.
4613 * include/multiboot.h: Resynced with multiboot specification.
4614 * include/multiboot2.h: Likewise.
4615 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
4616 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
4617 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
4618 (HAS_VGA_TEXT): Likewise.
4619 (accepts_video): New variable.
4620 (grub_multiboot_set_accepts_video): New function.
4621 (grub_multiboot_get_mbi_size): Account for video structures.
4622 (set_video_mode): New function.
4623 (retrieve_video_parameters): Likewise.
4624 (grub_multiboot_make_mbi): Fill video fields.
4625
0d90e8a6
VS
46262010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4627
4628 Video driver ids.
4629
4630 * include/grub/video.h (grub_video_driver_id): New type.
4631 (grub_video_adapter): New member 'id'. All users updated.
4632 (grub_video_get_driver_id): New proto.
4633 * video/video.c (grub_video_get_driver_id): New function.
4634
5c71db1b 46352010-01-14 Carles Pina i Estany <carles@pina.cat>
4636
4637 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
4638 `var=val'.
4639
cca15b52 46402010-01-14 Carles Pina i Estany <carles@pina.cat>
4641
4642 * normal/cmdline.c (print_completion): Gettextizze.
4643
c586fbb2 46442001-01-14 Carles Pina i Estany <carles@pina.cat>
4645
4646 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
4647
ba2f6848 46482010-01-14 Carles Pina i Estany <carles@pina.cat>
4649
4650 * gettext/gettext.c (grub_gettext_translate): Push and pop
4651 grub_errno.
4652 (grub_gettext_delete_list): Change comment style.
4653 * kern/err.c (grub_error): Gettextizze.
4654 (grub_fatal): Gettextizze.
4655
0a46429a
RM
46562010-01-14 Robert Millan <rmh.grub@aybabtu.com>
4657
4658 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
4659 (grub_linux16_real_boot): ... this.
4660 * kern/i386/loader.S: Likewise.
4661 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
4662 (grub_linux16_boot): New function. Switches to text mode and calls
4663 grub_linux16_real_boot().
4664
4665 * loader/i386/bsd.c: Include `<grub/video.h>'.
4666 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
4667 text mode before calling grub_unix_real_boot().
4668
4669 * loader/i386/multiboot.c: Include `<grub/video.h>'.
4670 (grub_multiboot_boot): Switch to text mode before calling
4671 grub_relocator32_boot().
4672
4673 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
4674 (grub_chainloader_boot): Switch to text mode before calling
4675 grub_chainloader_real_boot().
4676
d6f93a66
RM
46772010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
46782010-01-05 Colin Watson <cjwatson@ubuntu.com>
4679
4680 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
4681 non-empty value.
4682
46832010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
46842010-01-05 Colin Watson <cjwatson@ubuntu.com>
4685
4686 * util/grub.d/00_header.in: Define a "savedefault" function for use
4687 in menu entries.
4688 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
4689
46902010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
46912010-01-05 Colin Watson <cjwatson@ubuntu.com>
4692
4693 * util/grub-mkconfig_lib.in (save_default_entry): Only set
4694 saved_entry if boot_once is unset.
4695 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
4696 previous saved entry (i.e. grub-reboot).
4697
46982009-12-08 Colin Watson <cjwatson@ubuntu.com>
4699
4700 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
4701
47022009-12-08 Colin Watson <cjwatson@ubuntu.com>
4703
4704 * util/grub.d/00_header.in: Use `set var=val' rather than plain
4705 `var=val'.
4706 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
4707
47082009-12-08 Colin Watson <cjwatson@ubuntu.com>
4709
4710 * util/grub-reboot.in: Fix --version output.
4711 * util/grub-set-default.in: Likewise.
4712
47132009-12-08 Colin Watson <cjwatson@ubuntu.com>
4714
4715 * util/grub.d/00_header.in: Silently ignore zero-sized environment
4716 blocks.
4717
47182009-12-08 Colin Watson <cjwatson@ubuntu.com>
4719
4720 * util/grub.d/00_header.in: Quote the value assigned to `default',
4721 in case it contains spaces.
4722
47232009-12-08 Colin Watson <cjwatson@ubuntu.com>
4724
4725 * util/grub.d/30_os-prober.in: Fix merge error that moved a
4726 `save_default_entry' call from the macosx case to the linux case.
4727
47282009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
47292009-10-25 Colin Watson <cjwatson@ubuntu.com>
4730
4731 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
4732 in `chosen' environment variable.
4733 * normal/menu_text.c (get_entry_number): Check if the variable
4734 matches the title of a menu entry.
4735 (run_menu): Pass menu to get_entry_number.
4736
4737 * util/grub-reboot.in: New file.
4738 * util/grub-set-default.in: New file.
4739 * conf/common.rmk (grub-reboot): New utility.
4740 (grub-set-default): New utility.
4741
4742 * util/grub-mkconfig_lib.in (save_default_entry): New function.
4743 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
4744 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
4745 move it to `saved_entry' for the next boot. Load environment on
4746 initialisation.
4747 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
4748 * util/grub.d/10_hurd.in: Likewise.
4749 * util/grub.d/10_linux.in (linux_entry): Likewise.
4750 * util/grub.d/10_windows.in: Likewise.
4751 * util/grub.d/30_os-prober.in: Likewise.
4752
4753 * util/grub-install.in: Create environment block.
4754 * util/i386/efi/grub-install.in: Likewise.
4755 * util/ieee1275/grub-install.in: Likewise.
4756 * util/sparc64/ieee1275/grub-install.in: Likewise.
4757
0934d184
BC
47582010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
4759
4760 Unit testing framework for GRUB.
4761
4762 * Makefile.in: Test framework build rules for 'make check'.
4763 * conf/tests.rmk: Build rules for individual tests and framework.
4764
4765 * include/grub/test.h: Header file for whitebox tests.
4766 * tests/lib/functional_test.c: Framework support for whitebox
4767 functional tests.
4768 * tests/lib/test.c: Common whitebox testing code for unit and
4769 functional tests.
4770 * tests/lib/unit_test.c: Framework support for whitebox unit
4771 tests.
4772
4773 * tests/util/grub-shell-tester.in: Support utility for grub-script
4774 tests.
4775 * tests/util/grub-shell.in: Utility to execute grub-script
4776 commands in a Qemu instance.
4777
4778 * tests/example_functional_test.c: Example whitebox functional
4779 test.
4780 * tests/example_grub_script_test.in: Example grub-script test.
4781 * tests/example_scripted_test.in: Example scripted test.
4782 * tests/example_unit_test.c: Example whitebox unit test.
4783
9c4ffeeb
VS
47842010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
4787 Add loader/i386/multiboot_mbi.c.
4788 (multiboot2_mod_SOURCES): Likewise.
4789 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
4790 (multiboot2_mod_SOURCES): Likewise.
4791 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
4792 (grub_multiboot_make_mbi): Likewise.
4793 (grub_multiboot_free_mbi): Likewise.
4794 (grub_multiboot_init_mbi): Likewise.
4795 (grub_multiboot_add_module): Likewise.
4796 (grub_multiboot_set_bootdev): Likewise.
4797 * loader/i386/multiboot.c (mbi): Removed.
4798 (mbi_dest): Likewise.
4799 (alloc_mbi): New variable.
4800 (grub_multiboot_payload_size): Removed. All users updated.
4801 (grub_multiboot_pure_size): New variable.
4802 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
4803 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
4804 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
4805 (grub_fill_multiboot_mmap): Likewise.
4806 (grub_multiboot_get_bootdev): Likewise.
4807 (grub_multiboot): Use multiboot_mbi functions.
4808 * loader/i386/multiboot_mbi.c: New file.
4809
17383dfe
VS
48102010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
4813 it would result in module crash.
4814
c1f28820
VS
48152010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
4818 (grub_ofconsole_getwh): Split to ...
4819 (grub_ofconsole_getwh): ... this.
4820 (grub_ofconsole_dimensions): ...and this.
4821 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
4822
58655a16
RM
48232010-01-13 Robert Millan <rmh.grub@aybabtu.com>
4824
4825 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
4826
10891398
VS
48272010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4828
4829 * loader/i386/pc/multiboot2.c: Removed stalled file.
4830
0b8a223c
VS
48312010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
4834 Reported by: Grégoire Sutre
4835
92ab12b0
RM
48362010-01-11 Robert Millan <rmh.grub@aybabtu.com>
4837
4838 * util/misc.c (canonicalize_file_name): New function.
4839 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
4840 instead of realpath().
4841
a788afb6
CW
48422010-01-11 Colin Watson <cjwatson@ubuntu.com>
4843
4844 * util/grub-install.in (usage): Clarify meaning of --root-directory,
4845 and make it clearer that it's optional. Based on confusion
4846 witnessed on IRC.
4847
ffa8e3d2
VS
48482010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
4851 in premature implicit newline.
4852
e9060a9d
VS
48532010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4856 which resulted in garbled command line at the end of screen.
4857
f0d0c0b7
RM
48582010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4859
4860 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
4861 initialization with similar approach as with other Linux loaders.
4862
0e60bae7
RM
48632010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4864
4865 Fix i386-ieee1275 build.
4866
4867 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
4868 and grub_term_height() for video_{width,height} initialization.
4869
48702010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
4871
4872 Fix grub-emu build.
4873
4874 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
4875
cdb3f378
RM
48762010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
48772010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4878
4879 Support for multiple terminals.
4880
4881 * Makefile.in (pkglib_DATA): terminal.lst.
4882 (terminal.lst): New target.
4883 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
4884 (GRUB_MOD_INIT(handler)): Likewise.
4885 (GRUB_MOD_FINI(handler)): Likewise.
4886 * commands/help.c (grub_cmd_help): Handle multiple terminals.
4887 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
4888 * commands/sleep.c (do_print): Use grub_term_restore_pos.
4889 (grub_cmd_sleep): Use grub_term_save_pos.
4890 * commands/terminal.c: New file.
4891 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
4892 commands/terminal.c and lib/charset.c.
4893 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
4894 (pkglib_MODULES): Add terminal.mod.
4895 (terminal_mod_SOURCES): New variable.
4896 (terminal_mod_CFLAGS): Likewise.
4897 (terminal_mod_LDFLAGS): Likewise.
4898 * genhandlerlist.sh: Don't handle terminals.
4899 * genmk.rb: Generate terminal-*.lst.
4900 * genterminallist.sh: New file.
4901 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
4902 (grub_is_valid_utf8): Likewise.
4903 (grub_utf8_to_ucs4_alloc): Likewise.
4904 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
4905 (grub_menu_register_viewer): Changed argument.
4906 (grub_menu_try_text): New proto.
4907 (grub_gfxmenu_try_hook): New declaration.
4908 * include/grub/normal.h (grub_normal_exit_level): New declaration.
4909 (grub_menu_init_page): Additional argument term.
4910 (grub_normal_init_page): Likewise.
4911 (grub_cmdline_get): Arguments simplified.
4912 (grub_utf8_to_ucs4_alloc): Removed.
4913 (grub_print_ucs4): Additional argument term.
4914 (grub_getstringwidth): Likewise.
4915 (grub_print_message_indented): Likewise.
4916 (grub_menu_text_register_instances): New proto.
4917 (grub_show_menu): Likewise.
4918 (read_terminal_list): Likewise.
4919 (grub_set_more): Likewise.
4920 * include/grub/parser.h: Include handler.h.
4921 * include/grub/reader.h: Rewritten.
4922 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
4923 (GRUB_TERM_WIDTH): Changed to function.
4924 (GRUB_TERM_HEIGHT): Likewise.
4925 (GRUB_TERM_BORDER_WIDTH): Likewise.
4926 (GRUB_TERM_BORDER_HEIGHT): Likewise.
4927 (GRUB_TERM_NUM_ENTRIES): Likewise.
4928 (GRUB_TERM_ENTRY_WIDTH): Likewise.
4929 (GRUB_TERM_CURSOR_X): Likewise.
4930 (grub_term_input_class): Likewise.
4931 (grub_term_output_class): Likewise.
4932 (grub_term_outputs_disabled): New declaration.
4933 (grub_term_inputs_disabled): Likewise.
4934 (grub_term_outputs): Likewise.
4935 (grub_term_inputs): Likewise.
4936 (grub_term_register_input): Rewritten.
4937 (grub_term_register_output): Likewise.
4938 (grub_term_unregister_input): Likewise.
4939 (grub_term_unregister_output): Likewise.
4940 (FOR_ACTIVE_TERM_INPUTS): New macro.
4941 (FOR_DISABLED_TERM_INPUTS): Likewise.
4942 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
4943 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
4944 * include/grub/terminfo.h: Add oterm argument to all protypes.
4945 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
4946 Use grub_rescue_run.
4947 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
4948 All users updated.
4949 * kern/reader.c: Removed. All users updated.
4950 * kern/rescue_reader.c (grub_rescue_init): Removed.
4951 (grub_rescue_reader): Likewise.
4952 (grub_register_rescue_reader): Likewise.
4953 (grub_rescue_run): New function based on kern/reader.c.
4954 * kern/term.c: Adapted for multiterm.
4955 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
4956 (grub_is_valid_utf8): Likewise.
4957 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
4958 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
4959 right terminal.
4960 * loader/i386/linux.c (grub_linux_boot): Likewise.
4961 * normal/auth.c (grub_username_get): New function.
4962 (grub_auth_check_authentication): Use grub_username_get.
4963 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
4964 * normal/color.c: Adapt for multiterm.
4965 * normal/main.c (read_config_file): Don't use grub_reader_loop.
4966 (grub_normal_init_page): Additional argument term.
4967 (read_lists): Call read_terminal_lists.
4968 (grub_enter_normal_mode): Call grub_cmdline_run.
4969 Handle grub_normal_exit_level.
4970 (grub_cmd_normal): Make reentrant.
4971 (grub_cmd_normal_exit): New function.
4972 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
4973 * normal/menu.c: Adapt for multiterm.
4974 * normal/menu_entry.c: Likewise.
4975 * normal/menu_text.c: Likewise.
4976 * normal/menu_viewer.c: Removed. All users updated.
4977 * normal/term.c: New file.
4978 * util/console.c: Change order of includes to workaround a bug in
4979 ncurses headers.
4980 * term/terminfo.c: New argument oterm on all exported functions.
4981 All users updated.
4982 * util/grub-editenv.c (grub_term_input_class): Removed.
4983 (grub_term_output_class): Likewise.
4984
1a064917
RM
49852010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4986
4987 Make loader output a bit more user-friendly.
4988
4989 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
4990 is being loaded. Likewise for the Hurd.
4991
4992 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
4993 that kernel of FreeBSD ${version} is being loaded.
4994
4995 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
4996 grub_dprintf().
4997 (grub_cmd_initrd): Likewise.
4998 * util/grub.d/10_linux.in (linux_entry): Print message indicating
4999 that Linux ${version} is being loaded. Likewise for initrd.
5000
5ce0a83a 50012010-01-09 Carles Pina i Estany <carles@pina.cat>
5002
5003 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
5004
809bbfeb 50052010-01-08 Carles Pina i Estany <carles@pina.cat>
5006
5007 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
5008 (GRUB_MOD_INIT): Gettextizze.
5009 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
5010 (GRUB_MOD_INIT): Gettextizze.
5011 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
5012 (grub_cmd_linux): Capitalise Linux.
5013 (GRUB_MOD_INIT): Gettextizze.
5014 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
5015 (grub_cmd_linux): Capitalise Linux.
5016 (GRUB_MOD_INIT): Gettextizze.
5017 * loader/i386/linux.c: Include `<grub/i18n.h>'.
5018 (grub_cmd_linux): Capitalise Linux.
5019 (GRUB_MOD_INIT): Gettextizze.
5020 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
5021 (GRUB_MOD_INIT): Gettextizze.
5022 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
5023 (grub_cmd_linux): Capitalise Linux.
5024 (GRUB_MOD_INIT): Gettextizze.
5025 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
5026 (grub_cpu_xnu_init): Gettextizze.
5027 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
5028 (GRUB_MOD_INIT): Gettextizze.
5029 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
5030 (GRUB_MOD_INIT): Gettextizze.
5031 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
5032 (grub_linux_load64): Capitalise Linux.
5033 (GRUB_MOD_INIT): Gettextizze.
5034 * loader/xnu.c: Include `<grub/i18n.h>'.
5035 (GRUB_MOD_INIT): Gettextizze.
5036 * po/POTFILES: Add `loader/efi/appleloader.c',
5037 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
5038 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
5039 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
5040 `loader/i386/xnu.c', `loader/multiboot_loader.c',
5041 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
5042 and `loader/xnu.c'.
5043
b394b2ca
RM
50442010-01-08 Robert Millan <rmh.grub@aybabtu.com>
5045
5046 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
5047
50482010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
5049
5050 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
5051 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
5052 * util/mkisofs/mkisofs.c (main): Readjust --version output.
5053
bc8b32b3
RM
50542010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5055
5056 Reset Multiboot 2 support. New loader implements the draft in
5057 /branches/multiboot2 and shares as much code as possible with the
5058 production Multiboot 1 implementation.
5059
5060 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
5061 * loader/multiboot2.c: Likewise.
5062 * loader/i386/multiboot_helper.S: Likewise.
5063 * include/multiboot2.h: Replace with latest version from the draft
5064 in /branches/multiboot2.
5065
5066 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
5067 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
5068 and `loader/multiboot2.c'.
5069 (pkglib_MODULES): Add `multiboot2.mod'.
5070 (multiboot2_mod_SOURCES): New variable.
5071 (multiboot2_mod_LDFLAGS): Likewise.
5072 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
5073
5074 * conf/i386-pc.rmk: Likewise.
5075
5076 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
5077 (multiboot_mod_SOURCES): Remove variable.
5078 (multiboot_mod_LDFLAGS): Likewise.
5079 (multiboot_mod_CFLAGS): Likewise.
5080
5081 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
5082 `<multiboot2.h>' instead of `<multiboot.h>'.
5083 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
5084 (MULTIBOOT_HEADER_MAGIC): New macros.
5085
5086 * loader/multiboot_loader.c (module_version_status): Remove variable.
5087 (find_multi_boot2_header): Remove function.
5088 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
5089 logic. Always check for the Multiboot version we're compiling for.
5090 (grub_cmd_module_loader): Likewise.
5091 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
5092 command instead of `multiboot'.
5093
5d2c52b8
RM
50942010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5095
5096 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
5097 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
5098 all users.
5099
53108d92
RM
51002010-01-07 Robert Millan <rmh.grub@aybabtu.com>
51012010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 Fix breakage introduced with previous commit.
5104
5105 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
5106 commands.
5107 * normal/handler.c (read_handler_list): Revert part of previous commit
5108 affecting this file.
5109 * normal/main.c (read_lists): Move read_handler_list() call back to ...
5110 (grub_normal_execute): ... here.
5111
e2e936b2
RM
51122010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5113
5114 Merge prefix-redefinition-fix branch.
5115
5116 * normal/autofs.c (read_fs_list): Make function capable of being
5117 run multiple times, gracefuly replacing the previous data
5118 structures.
5119 * normal/dyncmd.c (read_command_list): Likewise.
5120 * normal/handler.c (read_handler_list): Likewise.
5121 * normal/main.c (read_lists): New function. Calls all the
5122 list reading functions.
5123 (grub_normal_execute): Use read_lists() instead of calling all
5124 list reading functions explicitly. Register read_lists() as a
5125 variable hook attached to ${prefix}.
5126
607a3701
VS
51272010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 Merge crypto branch.
5130
5131 * Makefile.in (pkglib_DATA): Add crypto.lst.
5132 (crypto.lst): New target.
5133 * commands/hashsum.c: New file.
5134 * commands/password.c (check_password): Use grub_crypto_memcmp.
5135 * commands/password_pbkdf2.c: New file.
5136 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
5137 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
5138 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
5139 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
5140 -I$(srcdir)/lib/libgcrypt_wrap.
5141 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
5142 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
5143 password_pbkdf2.mod.
5144 (crypto_mod_SOURCES): New variable.
5145 (crypto_mod_CFLAGS): Likewise.
5146 (crypto_mod_LDFLAGS): Likewise.
5147 (hashsum_mod_SOURCES): New variable.
5148 (hashsum_mod_CFLAGS): Likewise.
5149 (hashsum_mod_LDFLAGS): Likewise.
5150 (pbkdf2_mod_SOURCES): New variable.
5151 (pbkdf2_mod_CFLAGS): Likewise.
5152 (pbkdf2_mod_LDFLAGS): Likewise.
5153 (password_pbkdf2_mod_SOURCES): New variable.
5154 (password_pbkdf2_mod_CFLAGS): Likewise.
5155 (password_pbkdf2_mod_LDFLAGS): Likewise.
5156 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
5157 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
5158 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
5159 Include conf/gcry.rmk.
5160 * include/grub/auth.h: Rewritten.
5161 * include/grub/crypto.h: New file.
5162 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
5163 * include/grub/normal.h (read_crypto_list): New prototype.
5164 * lib/crypto.c: New file.
5165 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
5166 * lib/pbkdf2.c: Likewise.
5167 * normal/auth.c (grub_auth_strcmp): Removed.
5168 (grub_iswordseparator): Likewise.
5169 (grub_auth_strword): Likewise.
5170 (is_authenticated): Use grub_strword.
5171 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
5172 and grub_strword. Pass entered password to authentication callback.
5173 * normal/crypto.c: New file.
5174 * normal/main.c: Call read_crypto_list.
5175 * util/grub-mkpasswd-pbkdf2.c: New file.
5176 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
5177
42841caa
VS
51782010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 Fix descent and ascent calculation.
5181
5182 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
5183 (options): New option "asce".
5184 (usage): Likewise.
5185 (add_char): Ignore invalid glyphs for descent calculation.
5186 Calculate ascent from actual content.
5187 (print_glyphs): Use 'asce'.
5188 (write_font): Likewise. Allow ascent override.
5189 (main): Handle "asce" option.
5190
e7730de7 51912010-01-06 Carles Pina i Estany <carles@pina.cat>
5192
5193 * kern/err.c: Include `<grub/i18n.h>'.
5194 (grub_print_error): Add full stop. Gettextizze.
5195 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
5196 (grub_bsd_load_elf): Capitalise ELF.
5197 (grub_cmd_freebsd_loadenv): Add `s' in error string.
5198 (grub_cmd_freebsd_module): Likewise.
5199 (grub_cmd_freebsd_module_elf): Likewise.
5200 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
5201
40e3a41f 52022010-01-06 Carles Pina i Estany <carles@pina.cat>
5203
5204 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
5205 * commands/search_file.c (HELP_MESSAGE): New macro.
5206 * commands/search_label.c (HELP_MESSAGE): Likewise.
5207 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
5208 * po/POTFILES: Add `commands/search_file.c',
5209 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
5210 `commands/search.c'.
5211
83507e68
RM
52122010-01-05 Robert Millan <rmh.grub@aybabtu.com>
5213
5214 * config.rpath: Update from Gnulib.
5215
465c787b
YB
52162010-01-05 Yves Blusseau <blusseau@zetam.org>
5217
5218 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
5219
6581dd3a
YB
52202010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
5221
5222 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
5223
3bff18c5
CW
52242010-01-05 Colin Watson <cjwatson@ubuntu.com>
5225
5226 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
5227 arguments to fread so that we get a return value in bytes, rather
5228 than something that will normally be rounded down to 0.
5229 Adjust error handling to avoid producing garbage when size_t is not
5230 the same size as long long.
5231
a1368118
CW
52322010-01-05 Colin Watson <cjwatson@ubuntu.com>
5233
5234 * util/mkisofs/write.c (padblock_write): Check return value of
5235 fread.
5236
7c302978
RM
52372010-01-05 Robert Millan <rmh.grub@aybabtu.com>
5238
5239 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
5240 floppy images now.
5241
5242 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
5243
e33ace06
RM
52442010-01-04 Robert Millan <rmh.grub@aybabtu.com>
5245
5246 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
5247 instead of manual alignment.
5248 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
5249 verbose). Avoid attempts to read past end of the device
5250 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
5251 but GRUB_DISK_CACHE_SIZE may exceed that).
5252
4b856776
RM
52532010-01-04 Robert Millan <rmh.grub@aybabtu.com>
5254
5255 * commands/crc.c (grub_cmd_crc): Abort on read errors.
5256 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
5257 it to upper layer.
5258
52c2d97f
VS
52592010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
5262 New constant.
5263 (grub_efi_piwg_device_path): New structure
5264 (grub_efi_piwg_device_path_t): New type.
5265 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
5266 (devpath_1): Transform to a structure. All users updated.
5267 (devpath_2): Likewise.
5268 (devpath_3): Likewise.
5269 (devpath_4): Likewise.
5270 (devpath_5): Likewise.
5271
98ff6a54
VS
52722010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5273
5274 * loader/efi/appleloader.c: Restored. Update all users.
5275
3a73dcb6
RM
52762010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5277
5278 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
5279
5280 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
5281 (struct boot_blocklist): Move from here ...
5282 * include/grub/i386/pc/boot.h [ASM_FILE]
5283 (struct grub_boot_blocklist): ... to here. Update all users.
5284 (setup): Only initialize `start' member of `first_block'
5285 structure. Add assert() calls to verify the other members.
5286
5287 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
5288 (generate_image): Fix broken blocklist length initialization.
5289 Add assert() call to verify blocklist `segment' field.
5290
ab0eeb0c
RM
52912010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5292
5293 * loader/efi/appleloader.c: Remove. Update all users.
5294
58bc8bd5
RM
52952010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5296
5297 * boot/i386/pc/boot.S: Update copyright year.
5298 * boot/i386/pc/cdboot.S: Likewise.
5299 * boot/i386/pc/diskboot.S: Likewise.
5300 * boot/i386/pc/lnxboot.S: Likewise.
5301 * boot/i386/pc/pxeboot.S: Likewise.
5302 * bus/pci.c: Likewise.
5303 * commands/cmp.c: Likewise.
5304 * commands/help.c: Likewise.
5305 * commands/hexdump.c: Likewise.
5306 * commands/i386/pc/halt.c: Likewise.
5307 * commands/i386/pc/play.c: Likewise.
5308 * commands/i386/pc/vbeinfo.c: Likewise.
5309 * commands/ls.c: Likewise.
5310 * commands/test.c: Likewise.
5311 * disk/dmraid_nvidia.c: Likewise.
5312 * disk/i386/pc/biosdisk.c: Likewise.
5313 * disk/ieee1275/nand.c: Likewise.
5314 * disk/ieee1275/ofdisk.c: Likewise.
5315 * disk/lvm.c: Likewise.
5316 * disk/raid.c: Likewise.
5317 * disk/raid6_recover.c: Likewise.
5318 * disk/scsi.c: Likewise.
5319 * fs/affs.c: Likewise.
5320 * fs/cpio.c: Likewise.
5321 * fs/ext2.c: Likewise.
5322 * fs/hfs.c: Likewise.
5323 * fs/iso9660.c: Likewise.
5324 * fs/ntfs.c: Likewise.
5325 * fs/sfs.c: Likewise.
5326 * fs/udf.c: Likewise.
5327 * fs/ufs.c: Likewise.
5328 * fs/xfs.c: Likewise.
5329 * gencmdlist.sh: Likewise.
5330 * genmk.rb: Likewise.
5331 * include/grub/disk.h: Likewise.
5332 * include/grub/efi/api.h: Likewise.
5333 * include/grub/efi/efi.h: Likewise.
5334 * include/grub/efi/pe32.h: Likewise.
5335 * include/grub/elf.h: Likewise.
5336 * include/grub/fs.h: Likewise.
5337 * include/grub/i386/at_keyboard.h: Likewise.
5338 * include/grub/i386/pc/memory.h: Likewise.
5339 * include/grub/i386/pc/vbe.h: Likewise.
5340 * include/grub/i386/pci.h: Likewise.
5341 * include/grub/i386/tsc.h: Likewise.
5342 * include/grub/ieee1275/ieee1275.h: Likewise.
5343 * include/grub/ntfs.h: Likewise.
5344 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
5345 * include/grub/sparc64/libgcc.h: Likewise.
5346 * include/grub/symbol.h: Likewise.
5347 * include/grub/types.h: Likewise.
5348 * include/multiboot2.h: Likewise.
5349 * io/gzio.c: Likewise.
5350 * kern/device.c: Likewise.
5351 * kern/disk.c: Likewise.
5352 * kern/efi/efi.c: Likewise.
5353 * kern/efi/mm.c: Likewise.
5354 * kern/elf.c: Likewise.
5355 * kern/file.c: Likewise.
5356 * kern/i386/dl.c: Likewise.
5357 * kern/i386/pc/init.c: Likewise.
5358 * kern/i386/pc/startup.S: Likewise.
5359 * kern/ieee1275/ieee1275.c: Likewise.
5360 * kern/ieee1275/init.c: Likewise.
5361 * kern/main.c: Likewise.
5362 * kern/mm.c: Likewise.
5363 * kern/powerpc/dl.c: Likewise.
5364 * kern/sparc64/dl.c: Likewise.
5365 * kern/x86_64/dl.c: Likewise.
5366 * lib/hexdump.c: Likewise.
5367 * loader/efi/appleloader.c: Likewise.
5368 * loader/i386/ieee1275/linux.c: Likewise.
5369 * loader/i386/pc/chainloader.c: Likewise.
5370 * loader/i386/pc/linux.c: Likewise.
5371 * loader/i386/pc/multiboot2.c: Likewise.
5372 * loader/ieee1275/multiboot2.c: Likewise.
5373 * loader/multiboot2.c: Likewise.
5374 * loader/multiboot_loader.c: Likewise.
5375 * loader/powerpc/ieee1275/linux.c: Likewise.
5376 * normal/completion.c: Likewise.
5377 * normal/menu_entry.c: Likewise.
5378 * partmap/apple.c: Likewise.
5379 * util/grub.d/10_hurd.in: Likewise.
5380 * util/hostfs.c: Likewise.
5381 * video/readers/png.c: Likewise.
5382
e2d70b5c
CW
53832010-01-03 Colin Watson <cjwatson@ubuntu.com>
5384
5385 * include/grub/misc.h (GNUC_PREREQ): New macro.
5386 (ATTRIBUTE_ERROR): New macro.
5387 * include/grub/list.h (grub_bad_type_cast_real): Use
5388 ATTRIBUTE_ERROR.
5389
a173283f 53902010-01-03 Carles Pina i Estany <carles@pina.cat>
5391
5392 * normal/menu_text.c (print_message): Change messages.
5393
7fa7ff74 53942010-01-03 Carles Pina i Estany <carles@pina.cat>
5395
5396 * normal/menu_entry.c (store_completion): Gettextizze.
5397
136d24f6 53982010-01-03 Carles Pina i Estany <carles@pina.cat>
5399
5400 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
5401
f936862e 54022010-01-03 Carles Pina i Estany <carles@pina.cat>
5403
5404 * po/POTFILES: Sort correctly.
5405
29c44ad1 54062010-01-03 Carles Pina i Estany <carles@pina.cat>
5407
5408 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
5409 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
5410 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
5411 full stop.
5412 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
5413 summary. Gettextizze the strings.
5414 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
5415 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
5416 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
5417 full stop.
5418 (GRUB_MOD_INIT): Remove command name from summary.
5419 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
5420 summary.
5421 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
5422 * term/i386/pc/serial.c (options): Add full stops.
5423 (GRUB_MOD_INIT): Remove command name from the summary.
5424
77a79592 54252010-01-03 Carles Pina i Estany <carles@pina.cat>
5426
5427 * commands/acpi.c: Gettextizze help strings and/or options. Include
5428 `grub/i18n.h' if needed.
5429 * commands/blocklist.c: Likewise.
5430 * commands/boot.c: Likewise.
5431 * commands/cat.c: Likewise.
5432 * commands/cmp.c: Likewise.
5433 * commands/configfile.c: Likewise.
5434 * commands/crc.c: Likewise.
5435 * commands/date.c: Likewise.
5436 * commands/echo.c: Likewise.
5437 * commands/efi/fixvideo.c: Likewise.
5438 * commands/efi/loadbios.c: Likewise.
5439 * commands/gptsync.c: Likewise.
5440 * commands/halt.c: Likewise.
5441 * commands/handler.c: Likewise.
5442 * commands/hdparm.c: Likewise.
5443 * commands/hexdump.c: Likewise.
5444 * commands/i386/cpuid.c: Likewise.
5445 * commands/i386/pc/drivemap.c: Likewise.
5446 * commands/i386/pc/halt.c: Likewise.
5447 * commands/i386/pc/pxecmd.c: Likewise.
5448 * commands/i386/pc/vbeinfo.c: Likewise.
5449 * commands/i386/pc/vbetest.c: Likewise.
5450 * commands/ieee1275/suspend.c: Likewise.
5451 * commands/keystatus.c: Likewise.
5452 * commands/loadenv.c: Likewise.
5453 * commands/ls.c: Likewise.
5454 * commands/lsmmap.c: Likewise.
5455 * commands/lspci.c: Likewise.
5456 * commands/memrw.c: Likewise.
5457 * commands/minicmd.c: Likewise.
5458 * commands/parttool.c: Likewise.
5459 * commands/password.c: Likewise.
5460 * commands/probe.c: Likewise.
5461 * commands/read.c: Likewise.
5462 * commands/reboot.c: Likewise.
5463 * commands/search.c: Likewise.
5464 * commands/sleep.c: Likewise.
5465 * commands/test.c: Likewise.
5466 * commands/true.c: Likewise.
5467 * commands/usbtest.c: Likewise.
5468 * commands/videotest.c: Likewise.
5469 * commands/xnu_uuid.c: Likewise.
5470 * disk/loopback.c: Likewise.
5471 * hello/hello.c: Likewise.
5472 * loader/i386/bsd.c: Likewise.
5473 * term/i386/pc/serial.c: Likewise.
5474 * po/POTFILES: Add new files.
5475
da8d5c53
CW
54762010-01-02 Colin Watson <cjwatson@ubuntu.com>
5477
5478 * term/i386/pc/at_keyboard.c
5479 (keyboard_controller_wait_untill_ready): Rename to ...
5480 (keyboard_controller_wait_until_ready): ... this. Update all users.
5481
33937904 54822010-01-01 Carles Pina i Estany <carles@pina.cat>
5483
5484 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
5485 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
5486 string using string width.
5487 * normal/menu_text.c (grub_print_message_indented): Use
5488 grub_print_spaces and not print_spaces.
5489 (print_timeout): Likewise.
5490 (print_spaces): Move to...
5491 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
5492
3fd3b8d8
RM
54932010-01-01 Robert Millan <rmh.grub@aybabtu.com>
5494
5495 Import from Gnulib.
5496
5497 * gnulib/getdelim.c: New file.
5498 * gnulib/getline.c: Likewise.
5499
33433555
VS
55002009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
5501
5502 * include/grub/list.h (grub_assert_fail): Removed.
5503 (grub_bad_type_cast_real): New function.
5504 (grub_bad_type_cast): New macro.
5505 (GRUB_AS_LIST): Use grub_bad_type_cast.
5506 (GRUB_AS_LIST_P): Likewise.
e44721e8 5507 (GRUB_AS_NAMED_LIST): Likewise.
33433555 5508 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 5509 (GRUB_AS_PRIO_LIST): Likewise.
33433555 5510 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 5511 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 5512
f5a51306
VS
55132009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
5516 Fix syntax error.
5517
90d1e879
RM
55182009-12-29 Robert Millan <rmh.grub@aybabtu.com>
5519
5520 * configure.ac: Check for TARGET_CFLAGS initialization before we
5521 initialize it ourselves (sigh).
5522 Move a few modifications to TARGET_CFLAGS to be unconditional
5523 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
5524 eh_frame)
5525
5526 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
5527 * term/i386/pc/at_keyboard.c
5528 (keyboard_controller_wait_untill_ready): Likewise.
5529 (keyboard_controller_led): Rename `led_status' paramter to avoid
5530 name conflict.
5531
465b5a81 55322009-12-28 Carles Pina i Estany <carles@pina.cat>
5533
5534 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
5535 quotes.
5536
c181849b
VS
55372009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
5540
9c8739a4
VS
55412009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 * normal/menu_text.c (grub_print_message_indented): Prevent
5544 past-the-end-of-array dereference.
5545
3e74249c
VS
55462009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
5549 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
5550
64fd18ed 55512009-12-27 Carles Pina i Estany <carles@pina.cat>
5552
5553 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
5554 * normal/main.c (grub_normal_read_line): Remove a space from the
5555 default prompt.
5556
714af9b9 55572009-12-27 Carles Pina i Estany <carles@pina.cat>
5558
5559 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
5560 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5561 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
5562 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
5563 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5564 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5565 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5566
82f3e412 55672009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 5568
5569 * video/readers/jpeg.c (cmd): Declare.
5570 (grub_cmd_jpegtest): Use `grub_command_t' type.
5571 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5572 Assign to `cmd'.
5573 (GRUB_MOD_FINI): Use `cmd' to unregister.
5574 * video/readers/png.c (cmd): Declare.
5575 (grub_cmd_pngtest): Use `grub_command_t' type.
5576 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5577 Assign to `cmd'.
5578 (GRUB_MOD_FINI): Use `cmd' to unregister.
5579 * video/readers/tga.c (cmd): Declare.
5580 (grub_cmd_tgatest): Use `grub_command_t' type.
5581 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5582 Assign to `cmd'.
5583 (GRUB_MOD_FINI): Use `cmd' to unregister.
5584
82f3e412 55852009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 5586
5587 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
5588 stops.
5589 * kern/corecmd.c (grub_register_core_commands): Likewise.
5590 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
5591 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
5592 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
5593 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5594 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
5595 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
5596 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
5597 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
5598 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5599 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5600 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5601 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
5602 * normal/handler.c (insert_handler): Likewise.
5603 * normal/main.c (GRUB_MOD_INIT): Likewise.
5604 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
5605
fdcdbb66 56062009-12-26 Carles Pina i Estany <carles@pina.cat>
5607
5608 * commands/help.c (grub_cmd_help): Print the command name before the
5609 summary.
5610 (GRUB_MOD_INIT): Remove command name from the summary.
5611 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 5612 string as summary.
fdcdbb66 5613 * lib/arg.c (find_long): Print the command name before the summary.
5614 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
5615 summary.
5616 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
5617 * commands/cat.c (GRUB_MOD_INIT): Likewise.
5618 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
5619 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
5620 * commands/crc.c (GRUB_MOD_INIT): Likewise.
5621 * commands/date.c (GRUB_MOD_INIT): Likewise.
5622 * commands/echo.c (GRUB_MOD_INIT): Likewise.
5623 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
5624 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
5625 * commands/handler.c (GRUB_MOD_INIT): Likewise.
5626 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
5627 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
5628 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
5629 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
5630 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
5631 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
5632 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
5633 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
5634 * commands/ls.c (GRUB_MOD_INIT): Likewise.
5635 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
5636 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
5637 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
5638 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
5639 * commands/password.c (GRUB_MOD_INIT): Likewise.
5640 * commands/probe.c (GRUB_MOD_INIT): Likewise.
5641 * commands/read.c (GRUB_MOD_INIT): Likewise.
5642 * commands/search.c (GRUB_MOD_INIT): Likewise.
5643 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
5644 * commands/test.c (GRUB_MOD_INIT): Likewise.
5645 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
5646 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
5647 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
5648 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
5649 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
5650 * lib/arg.c (GRUB_MOD_INIT): Likewise.
5651 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
5652 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
5653 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5654 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
5655 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
5656 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
5657 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
5658 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
5659
9c288be2
VS
56602009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 Use search command for preliminar UUID search.
5663
5664 * commands/search.c: Split into ...
5665 * commands/search_wrap.c: ...this
5666 * commands/search.c: ...and this.
5667 * commands/search_file.c: New file.
5668 * commands/search_label.c: New file.
5669 * commands/search_uuid.c: New file.
5670 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
5671 Add commands/search_wrap.c, commands/search_file.c,
5672 commands/search_label.c and commands/search_uuid.c.
5673 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
5674 (search_mod_SOURCES): Set to commands/search_wrap.c.
5675 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
5676 search_label.mod.
5677 (search_fs_file_mod_SOURCES): New variable.
5678 (search_fs_file_mod_CFLAGS): Likewise.
5679 (search_fs_file_mod_LDFLAGS): Likewise.
5680 (search_label_mod_SOURCES): Likewise.
5681 (search_label_mod_CFLAGS): Likewise.
5682 (search_label_mod_LDFLAGS): Likewise.
5683 (search_fs_uuid_mod_SOURCES): New variable.
5684 (search_fs_uuid_mod_CFLAGS): Likewise.
5685 (search_fs_uuid_mod_LDFLAGS): Likewise.
5686 (fs_file_mod_SOURCES): Removed.
5687 (fs_file_mod_CFLAGS): Likewise.
5688 (fs_file_mod_LDFLAGS): Likewise.
5689 (fs_uuid_mod_SOURCES): Removed.
5690 (fs_uuid_mod_CFLAGS): Likewise.
5691 (fs_uuid_mod_LDFLAGS): Likewise.
5692 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
5693 Set to util/grub-install.in.
5694 * disk/fs_file.c: Removed.
5695 * disk/fs_uuid.c: Likewise.
5696 * include/grub/search.h: New file.
5697 * util/grub-install.in: Handle sparc64.
5698 Create and use load.cfg.
5699 * util/sparc64/ieee1275/grub-install.in: Removed.
5700
db943399
VS
57012009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5702
5703 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
5704 Ignore return status if CF is cleared.
5705 (grub_biosdisk_get_diskinfo_standard): Likewise.
5706
3fdae612
RM
57072009-12-25 Robert Millan <rmh.grub@aybabtu.com>
5708
5709 * term/i386/pc/at_keyboard.c
5710 (keyboard_controller_wait_untill_ready): New function.
5711 (grub_keyboard_controller_write, grub_keyboard_controller_read)
5712 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
5713 for keyboard polling, rather than duplicate the same loop. This
5714 saves a few bytes in code size.
5715
7ebaa2b4
VS
57162009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 Support for (pxe[:server[:gateway]]) syntax and
5719 use environment variable for PXE.
5720
5721 * commands/i386/pc/pxecmd.c (options): Removed.
5722 (print_ip): Removed.
5723 (grub_cmd_pxe): Removed
5724 (grub_cmd_pxe_unload): New function.
5725 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
5726 (grub_pxe_your_ip): Made static.
5727 (grub_pxe_default_server_ip): Likewise.
5728 (grub_pxe_default_gateway_ip): Likewise.
5729 (grub_pxe_blksize): Likewise.
5730 (parse_ip): New function.
5731 (grub_pxe_open): Support server and gateway specification.
5732 (grub_pxe_close): Free disk->data.
5733 (grub_pxefs_open): Use disk->data.
5734 (grub_pxefs_read): Likewise.
5735 (grub_env_write_readonly): New function.
5736 (set_mac_env): Likewise.
5737 (set_env_limn_ro): Likewise.
5738 (parse_dhcp_vendor): Likewise.
5739 (grub_pxe_detect): Set the environment variables.
5740 (set_ip_env): New function.
5741 (write_ip_env): Likewise.
5742 (grub_env_write_pxe_default_server): Likewise.
5743 (grub_env_write_pxe_default_gateway): Likewise.
5744 (grub_env_write_pxe_blocksize): Likewise.
5745 (GRUB_MOD_INIT(pxe)): Set environment variables.
5746 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
5747 (grub_pxe_mac_addr_t): ... this. All users updated.
5748 (grub_pxe_your_ip): Removed.
5749 (grub_pxe_server_ip): Likewise.
5750 (grub_pxe_gateway_ip): Likewise.
5751 (grub_pxe_blksize): Likewise.
5752
ec5f98ab 57532009-12-25 Carles Pina i Estany <carles@pina.cat>
5754
5755 * commands/help.c: Include `<grub/i18n.h>'.
5756 (grub_cmd_help): Gettextizze.
5757 (GRUB_MOD_INIT): Likewise.
5758 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
5759 (GRUB_MOD_INIT): Gettextizze.
5760 * commands/search.c: Include `<grub/i18n.h>'.
5761 (options): Gettextizze.
5762 (GRUB_MOD_INIT): Gettextizze.
5763 * lib/arg.c: Include `<grub/i18n.h>'.
5764 (help_options): Gettextizze.
5765 (find_long): Likewise.
5766 (grub_arg_show_help): Likewise.
5767 * normal/dyncmd.c: Include `<grub/i18n.h>'.
5768 (read_command_list): Gettextizze.
5769 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 5770 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 5771
22815526
RM
57722009-12-25 Robert Millan <rmh.grub@aybabtu.com>
5773
5774 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
5775 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
5776 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
5777 (led_status): New variable.
5778 (keyboard_controller_led): New function.
5779 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
5780 update led status for caps lock, num lock and scroll lock.
5781
0ad46fd7
FZ
57822009-12-25 Felix Zielcke <fzielcke@z-51.de>
5783
5784 * util/hostdisk.c (open_device): Fix a comment.
5785
d0e158c2
RM
57862009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5787
5788 * util/grub-install.in (host_os): New variable.
5789 * util/i386/efi/grub-install.in (host_os): Likewise.
5790
401c0ad6
RM
57912009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5792
5793 * util/mkisofs/write.c (padblock_write): Abort when given an
5794 excedingly large embed image, instead of silently truncating it.
5795
d14d3370
RM
57962009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5797
5798 * include/multiboot.h: Indentation fixes.
5799
eeed10b4
RM
58002009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5801
5802 * include/multiboot.h (struct multiboot_aout_symbol_table)
5803 (struct multiboot_elf_section_header_table): New structure
5804 declarations (stolen from GRUB Legacy).
5805 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
5806 table information.
5807
5808 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
5809 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
5810 type aliases.
5811
681c70ab
RM
58122009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5813
5814 * include/multiboot.h: Make comments src2texi-friendly.
5815
e4d47d8d
RM
58162009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5817
5818 For consistency with [multiboot]/docs/boot.S.
5819
5820 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
5821 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
5822 (MULTIBOOT_MAGIC2): Rename from this ...
5823 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
5824
a0b70bda
RM
58252009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5826
5827 * include/multiboot.h: Remove `<grub/types.h>'.
5828 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
5829 types. Update all users.
5830
61ba42be 58312009-12-25 Carles Pina i Estany <carles@pina.cat>
5832
5833 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
5834 `couldn't' and `can not' by `cannot'.
5835 * commands/i386/pc/drivemap.c: Likewise.
5836 * disk/ata.c: Likewise.
5837 * disk/ieee1275/nand.c: Likewise.
5838 * fs/affs.c: Likewise.
5839 * fs/fat.c: Likewise.
5840 * fs/hfs.c: Likewise.
5841 * fs/hfsplus.c: Likewise.
5842 * fs/iso9660.c: Likewise.
5843 * fs/jfs.c: Likewise.
5844 * fs/minix.c: Likewise.
5845 * fs/reiserfs.c: Likewise.
5846 * fs/sfs.c: Likewise.
5847 * fs/udf.c: Likewise.
5848 * fs/ufs.c: Likewise.
5849 * fs/xfs.c: Likewise.
5850 * loader/powerpc/ieee1275/linux.c: Likewise.
5851 * loader/sparc64/ieee1275/linux.c: Likewise.
5852 * util/grub-probe.c: Likewise.
5853 * util/misc.c: Likewise.
5854
7fd0baee 58552009-12-24 Carles Pina i Estany <carles@pina.cat>
5856
5857 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
5858 grub_errno calls.
5859 * commands/acpi.c: Likewise.
5860 * commands/blocklist.c: Likewise.
5861 * commands/efi/loadbios.c: Likewise.
5862 * commands/i386/pc/drivemap.c: Likewise.
5863 * commands/loadenv.c: Likewise.
5864 * commands/memrw.c: Likewise.
5865 * commands/password.c: Likewise.
5866 * commands/videotest.c: Likewise.
5867 * disk/ata.c: Likewise.
5868 * disk/ata_pthru.c: Likewise.
5869 * disk/dmraid_nvidia.c: Likewise.
5870 * disk/ieee1275/nand.c: Likewise.
5871 * disk/ieee1275/ofdisk.c: Likewise.
5872 * disk/loopback.c: Likewise.
5873 * disk/lvm.c: Likewise.
5874 * disk/mdraid_linux.c: Likewise.
5875 * disk/raid.c: Likewise.
5876 * disk/raid6_recover.c: Likewise.
5877 * disk/scsi.c: Likewise.
5878 * efiemu/main.c: Likewise.
5879 * efiemu/mm.c: Likewise.
5880 * efiemu/pnvram.c: Likewise.
5881 * efiemu/symbols.c: Likewise.
5882 * font/font.c: Likewise.
5883 * fs/cpio.c: Likewise.
5884 * fs/hfsplus.c: Likewise.
5885 * fs/iso9660.c: Likewise.
5886 * fs/jfs.c: Likewise.
5887 * fs/minix.c: Likewise.
5888 * fs/ntfs.c: Likewise.
5889 * fs/ntfscomp.c: Likewise.
5890 * fs/reiserfs.c: Likewise.
5891 * fs/ufs.c: Likewise.
5892 * fs/xfs.c: Likewise.
5893 * gettext/gettext.c: Likewise.
5894 * include/grub/auth.h: Likewise.
5895 * kern/elf.c: Likewise.
5896 * kern/file.c: Likewise.
5897 * kern/ieee1275/init.c: Likewise.
5898 * kern/ieee1275/mmap.c: Likewise.
5899 * kern/ieee1275/openfw.c: Likewise.
5900 * kern/powerpc/dl.c: Likewise.
5901 * kern/sparc64/dl.c: Likewise.
5902 * lib/arg.c: Likewise.
5903 * loader/i386/bsd.c: Likewise.
5904 * loader/i386/bsdXX.c: Likewise.
5905 * loader/i386/efi/linux.c: Likewise.
5906 * loader/i386/efi/xnu.c: Likewise.
5907 * loader/i386/ieee1275/linux.c: Likewise.
5908 * loader/i386/linux.c: Likewise.
5909 * loader/i386/multiboot.c: Likewise.
5910 * loader/i386/pc/linux.c: Likewise.
5911 * loader/i386/pc/multiboot2.c: Likewise.
5912 * loader/i386/xnu.c: Likewise.
5913 * loader/ieee1275/multiboot2.c: Likewise.
5914 * loader/macho.c: Likewise.
5915 * loader/machoXX.c: Likewise.
5916 * loader/multiboot2.c: Likewise.
5917 * loader/multiboot_loader.c: Likewise.
5918 * loader/powerpc/ieee1275/linux.c: Likewise.
5919 * loader/sparc64/ieee1275/linux.c: Likewise.
5920 * loader/xnu.c: Likewise.
5921 * loader/xnu_resume.c: Likewise.
5922 * mmap/i386/pc/mmap.c: Likewise.
5923 * normal/menu_viewer.c: Likewise.
5924 * partmap/acorn.c: Likewise.
5925 * partmap/amiga.c: Likewise.
5926 * partmap/apple.c: Likewise.
5927 * script/lexer.c: Likewise.
5928 * term/gfxterm.c: Likewise.
5929 * term/i386/pc/serial.c: Likewise.
5930 * term/i386/pc/vga.c: Likewise.
5931 * term/ieee1275/ofconsole.c: Likewise.
5932 * term/terminfo.c: Likewise.
5933 * video/bitmap.c: Likewise.
5934 * video/efi_gop.c: Likewise.
5935 * video/efi_uga.c: Likewise.
5936 * video/fb/video_fb.c: Likewise.
5937 * video/i386/pc/vbe.c: Likewise.
5938 * video/readers/tga.c: Likewise.
5939 * video/video.c: Likewise.
5940
0ad46fd7 59412009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
5942
5943 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
5944 * commands/lspci.c: Likewise.
5945 * commands/probe.c: Likewise.
5946 * commands/xnu_uuid.c: Likewise.
5947 * conf/i386-coreboot.rmk: Likewise.
5948 * conf/i386-efi.rmk: Likewise.
5949 * conf/i386-ieee1275.rmk: Likewise.
5950 * conf/i386-pc.rmk: Likewise.
5951 * conf/powerpc-ieee1275.rmk: Likewise.
5952 * conf/sparc64-ieee1275.rmk: Likewise.
5953 * conf/x86_64-efi.rmk: Likewise.
5954 * fs/i386/pc/pxe.c: Likewise.
5955 * gettext/gettext.c: Likewise.
5956 * include/grub/efi/graphics_output.h: Likewise.
5957 * include/grub/i386/pc/memory.h: Likewise.
5958 * kern/env.c: Likewise.
5959 * kern/i386/qemu/startup.S: Likewise.
5960 * lib/i386/pc/biosnum.c: Likewise.
5961 * lib/i386/relocator.c: Likewise.
5962 * lib/i386/relocator_asm.S: Likewise.
5963 * lib/relocator.c: Likewise.
5964 * loader/i386/bsd.c: Likewise.
5965 * loader/i386/multiboot.c: Likewise.
5966 * loader/i386/pc/chainloader.c: Likewise.
5967 * loader/i386/xnu.c: Likewise.
5968 * loader/xnu.c: Likewise.
5969 * normal/main.c: Likewise.
5970 * normal/menu_text.c: Likewise.
5971 * util/getroot.c: Likewise.
5972 * util/grub-mkconfig_lib.in: Likewise.
5973 * util/grub.d/00_header.in: Likewise.
5974 * util/i386/pc/grub-mkimage.c: Likewise.
5975 * util/mkisofs/eltorito.c: Likewise.
5976 * util/mkisofs/exclude.h: Likewise.
5977 * util/mkisofs/hash.c: Likewise.
5978 * util/mkisofs/iso9660.h: Likewise.
5979 * util/mkisofs/joliet.c: Likewise.
5980 * util/mkisofs/mkisofs.c: Likewise.
5981 * util/mkisofs/mkisofs.h: Likewise.
5982 * util/mkisofs/multi.c: Likewise.
5983 * util/mkisofs/name.c: Likewise.
5984 * util/mkisofs/rock.c: Likewise.
5985 * util/mkisofs/tree.c: Likewise.
5986 * util/mkisofs/write.c: Likewise.
5987 * video/efi_gop.c: Likewise.
5988
009ec743
VS
59892009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
5992 size counting.
5993
0ad46fd7 59942009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
5995
5996 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
5997 * genmk.rb (class SCRIPT): Modify the target file instead of source.
5998
d3d30ea0
VS
59992009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
6002 (GRUB_MOD_INIT(memrw)): Update help line.
6003
a34f5c70
VS
60042009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6005
6006 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
6007 Use grub_extcmd_t. All users updated.
6008 (options): New variable.
6009 (grub_cmd_read): Restructure for readability. Support "-v" option.
6010 (grub_cmd_write): Restructure for readability.
6011
0ad46fd7 60122009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
6013
6014 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
6015
0ad46fd7 60162009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
6017
6018 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
6019 with the actual contents of the correspondending make variable.
6020 * util/grub-mkrescue.in (pkglib_DATA): New variable.
6021 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
6022 specifying `*.lst' and `efiemu??.o'
6023
0ad46fd7 60242009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
6025
6026 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
6027 after function name.
6028 Noticed by Rene Engelhard <rene@debian.org>.
6029
dc77a799
VS
60302009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
6033 (options): New variable.
6034 (iospace): Likewise.
6035 (grub_lspci_iter): List IO spaces if "-i" was given.
6036 (grub_cmd_lspci): Parse options.
6037 (GRUB_MOD_INIT(lspci)): Use extcmd.
6038 (GRUB_MOD_FINI(lspci)): Likewise.
6039
0ad46fd7 60402009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
6041
6042 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
6043 `function' keyword.
6044 Patch by Tony Mancill <tmancill@debian.org>.
6045
b5d5993b
VS
60462009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
6049 (grub_uhci_portstatus): Likewise.
6050 (grub_uhci_portstatus): Add necessary delay.
11d18281 6051 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 6052
941903f2 60532009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 6054
941903f2 6055 * commands/acpi.c (options): Fix capitalizations and/or full stops.
6056 (GRUB_MOD_INIT): Likewise.
6057 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 6058 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
6059 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 6060 * commands/efi/loadbios.c (enable_rom_area): Likewise.
6061 (enable_rom_area): Likewise.
6062 (GRUB_MOD_INIT): Likewise.
6063 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6064 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
6065 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6066 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
6067 * commands/hexdump.c (options): Likewise.
6068 * commands/i386/cpuid.c (options): Likewise.
6069 (GRUB_MOD_INIT): Likewise.
6070 * commands/i386/pc/drivemap.c (options): Likewise.
6071 (GRUB_MOD_INIT): Likewise.
6072 * commands/i386/pc/halt (options): Likewise.
6073 (GRUB_MOD_INIT): Likewise.
6074 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6075 * commands/i386/pc/pxecmd.c (options): Likewise.
6076 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
6077 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
6078 * commands/keystatus.c (options): Likewise.
6079 (GRUB_MOD_INIT): Likewise.
6080 * commands/loadenv.c (options): Likewise.
6081 * commands/ls.c (options): Likewise.
6082 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6083 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6084 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6085 * commands/parttool.c (helpmsg): Likewise.
6086 * commands/probe.c (options): Likewise.
6087 * commands/read.c (GRUB_MOD_INIT): Likewise.
6088 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
6089 * commands/search.c (options): Likewise.
6090 * commands/sleep.c (options): Likewise.
6091 * commands/test.c (GRUB_MOD_INIT): Likewise.
6092 * commands/true.c (GRUB_MOD_INIT): Likewise.
6093 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
6094 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
6095 * lib/arg.c (help_options): Likewise.
e9bbb4e7 6096 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
6097 `$(XGETTEXT)'.
98a50553 6098 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 6099
0ad46fd7 61002009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 6101
ef3c2c3a 6102 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
6103 instead of specifying them explicit.
6104
7922f68b
RM
61052009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6106
6107 * NEWS: Add grub-probe support for GNU/Hurd.
6108
537ce47f
RM
61092009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6110
6111 * NEWS: gettext was added after 1.97.
6112
9b214e3a
RM
61132009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6114
6115 * util/mkisofs/msdos_partition.h: New file (based on
6116 include/grub/msdos_partition.h).
6117 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
6118 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
6119 (ld_options, main): Recognize --protective-msdos-label.
6120 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
6121 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
6122 (padblock_write): If `use_protective_msdos_label' is set, patch a
6123 protective DOS-style label in the output image.
6124
6125 * util/grub-mkrescue.in: Use --protective-msdos-label.
6126
e9309813
RM
61272009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6128
6129 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
6130 boot.
6131
0ae56929
RM
61322009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6133
6134 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
6135 variables.
6136 (ld_options, main): Recognize `--embedded-boot'.
6137 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
6138 declarations.
6139 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
6140 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
6141 (padblock_write): Likewise. Rewrite to support embedded boot image.
6142
6143 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
6144 for BIOS-based disk boot instead of only ElTorito.
6145
b15937b1
RM
61462009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6147
6148 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
6149 build (not needed for bootstrap).
6150
52cc3ce0
RM
61512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6152
6153 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
6154 from i386-pc build (not needed for bootstrap).
6155 Rewrite a pair of strings.
6156
36f5ff04
RM
61572009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6158
6159 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
6160
973c6c85 61612009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
6162
6163 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
6164
05d21547
AB
61652009-12-21 Andreas Born <futur.andy@googlemail.com>
6166
6167 * kern/env.c (grub_env_context_open): Mark exported variable for
6168 reexport.
6169
0175d51f
AB
61702009-12-21 Andreas Born <futur.andy@googlemail.com>
6171
6172 * kern/env.c (grub_env_export): Create nonexistent variables before
6173 exporting.
6174
7f39d92f 61752009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 6176
7f39d92f 6177 * include/grub/auth.h: Include `<grub/i18n.h>'.
6178 (GRUB_GET_PASSWORD): Gettextizze string.
6179 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
6180 menu_text.c.
6181 (grub_utf8_to_ucs4_alloc): Fix indentation.
6182 (grub_print_ucs4): Likewise.
6183 (grub_getstringwidth): Likewise.
6184 (print_message_indented): New declaration.
6185 * normal/auth.c: Include `<grub/i18n.h>'.
6186 (grub_auth_check_authentication): Gettexttize string.
6187 * normal/cmdline.c: Include `<grub/i18n.h>'.
6188 (grub_cmdline_get): Gettextizze.
6189 * normal/color.c: Include `<grub/i18n.h>'.
6190 (grub_parse_color_name_pair): Gettexttize strings.
6191 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
6192 string (use `print_message_indented').
6193 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
6194 `include/grub/normal.h'.
6195 (print_message_indented): Renamed to ...
6196 (grub_print_message_indented): ... this. Remove `static' qualifer (now
6197 used in normal/main.c).
6198 (print_message): Use `grub_print_message_indented' instead of
6199 `print_message_indented'.
6200 (print_timeout): Likewise.
6201 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
6202 (grub_normal_print_device_info): Gettexttize strings.
6203 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
6204
3041d898
VS
62052009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
6208 of arguments. Return number of tokens and not arguments. All users
6209 updated.
6210
de15bf8e
VS
62112009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
6214 non-MSDOS paritions.
6215
e0a6ca52
VS
62162009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 * include/grub/types.h (UNUSED): Removed since it conflicts with
6219 NetBSD headers. All users changed to direct __attribute__ ((unused)).
6220 Reported by Grégoire Sutre.
6221
b99518d1 62222009-12-19 Carles Pina i Estany <carles@pina.cat>
6223
6224 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
6225 (grub_print_ucs4_alloc): Likewise.
6226 (grub_getstringwidth): Likewise.
6227 * normal/main.c (grub_normal_init_page): Gettextize version string.
6228 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
6229 (getstringwidth): Renamed to ...
6230 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
6231 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
6232 (grub_print_ucs4): Remove `static' qualifer (now used in
6233 normal/main.c).
6234 * po/POTFILES: Add normal/main.c.
6235
bfd5e52b 62362009-12-19 Carles Pina i Estany <carles@pina.cat>
6237
6238 * normal/menu_text.c (STANDARD_MARGIN): New macro.
6239 (print_message_indented): Add `margin_left' and `margin_right'
6240 parameters.
6241 (print_message): Update `print_message_indented' calls. Adds '\n' to the
6242 strings.
6243 (print_timeout): Use `print_message_indented' to print the message.
6244 Deletes `second_stage' parameter.
6245 (run_menu): Update `print_timeout' calls.
6246
5a1ad2b9
VS
62472009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6248
6249 Fix console palette on OpenFirmware.
6250
6251 * term/ieee1275/ofconsole.c (MAX): Removed.
6252 (colors): Redone based on VGA palette.
6253 (grub_ofconsole_setcolor): Discard brightness bit since only 8
6254 colors are supported.
6255 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
6256
b045f00a
VS
62572009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 Fix potential EfiEmu double prepare.
6260
6261 * efiemu/main.c (prepared): New variable
6262 (grub_efiemu_unload): Set prepare to '0'.
6263 (grub_efiemu_prepare): Return if already prepared. Set prepared.
6264
6265 set_virtual_address_map support.
6266
6267 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
6268 prototype.
6269 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
6270 prototype.
6271 (grub_efiemu_crc32): Likewise.
6272 (grub_efiemu_crc64): Likewise.
6273 (grub_efiemu_set_virtual_address_map): Likewise.
6274 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
6275 New definition.
6276 (grub_autoefi_set_virtual_address_map): Likewise.
6277 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
6278 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
6279 Restructure flow to accomodate it.
6280 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
6281 (grub_efiemu_crc): Recompute CRC32.
6282 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
6283 (efiemu_ptv_relocated): ... this. Made global. All users updated.
6284 * efiemu/symbols.c (relocated_handle): New variable.
6285 (grub_efiemu_free_syms): Free relocated_handle.
6286 (grub_efiemu_alloc_syms): Allocate relocated_handle.
6287 (grub_efiemu_write_sym_markers): New function.
6288 (grub_efiemu_set_virtual_address_map): Likewise.
6289
6290 Newer XNU parameters.
6291
6292 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
6293 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
6294 (grub_xnu_fill_devicetree): New prototype.
6295 (grub_xnu_heap_real_start): New variable.
6296 * loader/xnu.c (get_name_ptr): New function.
6297 (grub_xnu_load_driver): Fill namelen and name.
6298
6299 64-bit xnu support.
6300
6301 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
6302 and 'loader/macho64.c'.
6303 * conf/i386-pc.rmk: Likewise.
6304 * conf/x86_64-efi.rmk: Likewise.
6305 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
6306 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
6307 * include/grub/macho.h (grub_macho_segment64): New structure.
6308 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
6309 (grub_macho_size32): ... to this.
6310 (grub_macho32_get_entry_point): Renamed from ...
6311 (grub_macho_get_entry_point32): ... to this.
6312 (grub_macho_contains_macho64): New prototype.
6313 (grub_macho_size64): Likewise.
6314 (grub_macho_get_entry_point64): Likewise.
6315 (grub_macho32_load): Renamed from ...
6316 (grub_macho_load32): ... to this.
6317 (grub_macho32_filesize): Renamed from ...
6318 (grub_macho_filesize32): ... to this.
6319 (grub_macho32_readfile): Renamed from ...
6320 (grub_macho_readfile32): ... to this.
6321 (grub_macho_filesize64): New prototype.
6322 (grub_macho_readfile64): Likewise.
6323 (grub_macho_parse32): Likewise.
6324 (grub_macho_parse64): Likewise.
6325 * loader/macho.c: Split into ...
6326 * loader/machoXX.c: ... and this. Replace 32 with XX.
6327 * loader/macho32.c: New file.
6328 * loader/macho64.c: Likewise.
6329 * loader/xnu.c (grub_xnu_is_64bit): New variable.
6330 (grub_cmd_xnu_kernel): Make 32-bit only.
6331 (grub_cmd_xnu_kernel64): New function.
6332 (grub_xnu_load_driver): Support Mach-O 64.
6333 (grub_cmd_xnu_mkext): Likewise.
6334 * util/grub.d/30_os-prober.in (osx_entry): New function.
6335 Generate entries for 64-bit boot too.
6336
6337 Eliminate ad-hoc tree format in XNU and EfiEmu.
6338
6339 * efiemu/main.c (grub_efiemu_prepare): Update comment.
6340 * efiemu/pnvram.c: Rewritten to use environment variables.
6341 All users updated.
6342
6343 Inline utf16_to_utf8.
6344
6345 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
6346 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
6347 All users updated.
6348 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
6349
6350 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
6351 * commands/usbtest.c (grub_usb_get_string): ... move here.
6352 (usb_print_str): Fix error handling.
6353 * include/grub/usb.h (grub_usb_get_string): Remove.
6354
6355 UTF-8 to UTF-16 transformation.
6356
6357 * conf/common.rmk (pkglib_MODULES): Add charset.mod
6358 (charset_mod_SOURCES): New variable.
6359 (charset_mod_CFLAGS): Likewise.
6360 (charset_mod_LDFLAGS): Likewise.
6361 * include/grub/utf.h: New file.
6362 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
6363
6364 Support for device properties.
6365
6366 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
6367 (grub_xnu_devprop_device_header): Likewise.
6368 (grub_xnu_devprop_device_descriptor): Likewise.
6369 (grub_xnu_devprop_add_device): New prototype.
6370 (grub_xnu_devprop_remove_device): Likewise.
6371 (grub_xnu_devprop_remove_property): Likewise.
6372 (grub_xnu_devprop_add_property_utf8): Likewise.
6373 (grub_xnu_devprop_add_property_utf16): Likewise.
6374 (grub_cpu_xnu_init): Likewise.
6375 (grub_cpu_xnu_fini): Likewise.
6376 (grub_cpu_xnu_unload): Likewise.
6377 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
6378 (property_descriptor): Likewise.
6379 (devices): New variable.
6380 (grub_xnu_devprop_remove_property): New function.
6381 (grub_xnu_devprop_add_device): Likewise.
6382 (grub_xnu_devprop_remove_device): Likewise.
6383 (grub_xnu_devprop_add_property): Likewise.
6384 (grub_xnu_devprop_add_property_utf8): Likewise.
6385 (grub_xnu_devprop_add_property_utf16): Likewise.
6386 (hextoval): Likewise.
6387 (grub_cpu_xnu_fill_devprop): Likewise.
6388 (grub_cmd_devprop_load): Likewise.
6389 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
6390 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
6391 (cmd_devprop_load): New variable.
6392 (grub_cpu_xnu_init): New function.
6393 (grub_cpu_xnu_fini): Likewise.
6394 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
6395 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
6396 (grub_cmd_xnu_devtree): Likewise.
6397 (hextoval): New function.
6398 (unescape): Likewise.
6399 (grub_xnu_fill_devicetree): Likewise.
6400
6401 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
6402 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
6403
0945f181
VS
64042009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6405
6406 Workaround for broken ATI VBE.
6407
6408 * video/i386/pc/vbe.c (last_set_mode): New variable.
6409 (grub_vbe_set_video_mode): Set 'last_set_mode'.
6410 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
6411 (grub_video_vbe_setup): Don't check for reserved flag.
6412
0ad46fd7 64132009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
6414
6415 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
6416 the `find' command.
6417
c179ebe4
VS
64182009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 UUID support for HFS.
6421
6422 * fs/hfs.c (grub_hfs_uuid): New function.
6423 (grub_hfs_fs): New value .uuid.
6424 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
6425
0ad46fd7 64262009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
6427
6428 Fix a segfault with parsing unknown long options.
6429
6430 * util/grub-mkrelpath.c (options): Zero terminate it.
6431
c4a3e41a
CPE
64322009-12-13 Carles Pina i Estany <carles@pina.cat>
6433
6434 * include/grub/misc.h (grub_puts): New declaration.
6435 (grub_puts_): Likewise.
a22008a6 6436 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
6437 (grub_puts_): Likewise.
6438
2e8a7602
RM
64392009-12-13 Robert Millan <rmh.grub@aybabtu.com>
6440
6441 * util/grub-probe.c (probe): Improve error message.
6442
b50b77b9
RM
64432009-12-13 Robert Millan <rmh.grub@aybabtu.com>
6444
6445 * loader/i386/multiboot_elfxx.c
6446 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
6447 initialization.
6448
64492009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 Relocator framework
6452
6453 * loader/i386/xnu_helper.S: Removed. All users updated.
6454 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
6455 (relocator_mod_SOURCES): New variable.
6456 (relocator_mod_CFLAGS): Likewise.
6457 (relocator_mod_LDFLAGS): Likewise.
6458 (relocator_mod_ASFLAGS): Likewise.
6459 * conf/x86_64.rmk: Likewise.
6460 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
6461 (grub_multiboot_payload_entry_offset): Likewise.
6462 (grub_multiboot_forward_relocator): Likewise.
6463 (grub_multiboot_forward_relocator_end): Likewise.
6464 (grub_multiboot_backward_relocator): Likewise.
6465 (grub_multiboot_backward_relocator_end): Likewise.
6466 (grub_multiboot_payload_eip): New variable.
6467 (grub_multiboot_payload_orig): Likewise.
6468 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
6469 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
6470 * include/grub/i386/memory.h
6471 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
6472 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
6473 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
6474 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
6475 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
6476 * include/grub/i386/relocator.h: New file.
6477 * include/grub/x86_64/relocator.h: Likewise.
6478 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
6479 (XNU_RELOCATOR): New macro.
6480 (grub_xnu_launcher_start): Remove.
6481 (grub_xnu_launcher_end): Likewise.
6482 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
6483 (grub_xnu_heap_real_start): Remove.
6484 (grub_xnu_heap_start): Change to void *. All users updated.
6485 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
6486 * lib/i386/relocator.c: New file.
6487 * lib/i386/relocator_asm.S: Likewise.
6488 * lib/i386/relocator_backward.S: Likewise.
6489 * lib/mips/relocator.c: Likewise.
6490 * lib/mips/relocator_asm.S: Likewise.
6491 * lib/relocator.c: Likewise.
6492 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
6493 (entry): Removed.
6494 (playground): Likewise.
6495 (grub_multiboot_payload_orig): New variable.
6496 (grub_multiboot_payload_dest): Likewise.
6497 (grub_multiboot_payload_size): Likewise.
6498 (grub_multiboot_payload_eip): Likewise.
6499 (grub_multiboot_payload_esp): Likewise.
6500 (grub_multiboot_boot): Use grub_relocator32_boot.
6501 (grub_multiboot_unload): Free relocators.
6502 (grub_multiboot): Setup stack. Use relocators.
6503 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
6504 (grub_multiboot_load_elfXX): Use relocators.
6505 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
6506 (grub_multiboot_payload_size): Likewise.
6507 (grub_multiboot_payload_dest): Likewise.
6508 (grub_multiboot_payload_entry_offset): Likewise.
6509 (grub_multiboot_forward_relocator): Likewise.
6510 (grub_multiboot_backward_relocator): Likewise.
6511 (grub_multiboot_real_boot): Likewise.
6512 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
6513 (grub_xnu_entry_point): Likewise.
6514 (grub_xnu_arg1): Likewise.
6515 (grub_xnu_stack): Likewise.
6516 (grub_xnu_launch): Removed.
6517 (grub_xnu_boot_resume): New function.
6518 (grub_xnu_boot): Use relocators.
6519 * loader/i386/xnu_helper.S: Removed.
6520 * loader/xnu.c (grub_xnu_heap_start): New variable.
6521 (grub_xnu_heap_size): Likewise.
6522 (grub_xnu_heap_malloc): Use relocators.
6523 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
6524
29eb90c6
VS
65252009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
6528 anything.
6529
31027430
CPE
65302009-12-13 Carles Pina i Estany <carles@pina.cat>
6531
6532 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
6533 GRUB_ERR_NONE before calling grub_env_set.
6534
dc0c71d9
RM
65352009-12-12 Robert Millan <rmh@aybabtu.com>
6536
6537 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
6538 * genmk.rb (video): New variable.
6539 (CLEANFILES, VIDEOFILES): Add #{video}.
6540 (#{video}): New target rule.
6541 * genvideolist.sh: New file.
6542 * Makefile.in (pkglib_DATA): Add video.lst.
6543 (video.lst): New target rule.
6544 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
6545 `video.lst'.
6546 * util/grub.d/30_os-prober.in: Replace `vbe' with
6547 ${GRUB_VIDEO_BACKEND}.
6548
2a4bfcf0
RM
65492009-12-11 Robert Millan <rmh.grub@aybabtu.com>
6550
6551 * THANKS: Add David Miller.
6552
2a3aa4d5
RM
65532009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6554
6555 libpciaccess support.
6556
6557 * Makefile.in (LIBPCIACCESS): New variable.
6558 (enable_grub_emu_pci): Likewise.
6559 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
6560 util/pci.c and commands/lspci.c.
6561 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
6562 * configure.ac (grub-emu-pci): New option.
6563 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
6564 (grub_pci_device_unmap_range): Likewise.
6565 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
6566 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
6567 (grub_pci_address_t) [!GRUB_UTIL]: New type.
6568 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
6569 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
6570 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
6571 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
6572 * include/grub/pciutils.h: New file.
6573 * util/pci.c: Likewise.
6574
0ad46fd7 65752009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
6576
6577 * util/misc.c: Don't include <errno.h> twice.
6578
0ad46fd7 65792009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
6580
6581 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
6582 name in an error message.
6583 (grub_biosdisk_rw): Likewise.
6584
2e59983c
VS
65852009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 Eliminate NTFS 4Gib barrier.
6588
6589 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
6590 (read_run_data): Likewise.
6591 (grub_ntfs_read_run_list): Likewise.
6592 (grub_ntfs_read_block): Likewise.
6593 (grub_ntfs_iterate_dir): Likewise.
6594 (read_mft): Likewise.
6595 (read_data): Likewise.
6596 Use COM_LOG_LEN.
6597 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
6598 to avoid 64-bit division
6599 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
6600 (grub_ntfs_rlst): Use grub_disk_addr_t.
6601
71ee178a
VS
66022009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 Eliminate grub-fstest 4Gib barrier.
6605
6606 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
6607 (read_file): Fix error reporting.
6608
2520d4b8
VS
66092009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 Eliminate hexdump 4Gib barrier.
6612
6613 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
6614 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
6615
e1f27065
VS
66162009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
6619 Fixes amarsh bug.
6620
1a0f7f45
RM
66212009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
6622
6623 Remove miscellaneous files in distclean target.
6624
6625 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
6626
c631d9fb
CW
66272009-12-09 Colin Watson <cjwatson@ubuntu.com>
6628
6629 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
6630 if they're already set. This resolves the conflict between my
6631 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
6632 fixing the --grub-probe option again.
6633 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
6634 change on 2009-10-06, so that we now once again source
6635 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
6636
7c7b6106
RM
66372009-12-08 Robert Millan <rmh.grub@aybabtu.com>
6638
6639 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
6640 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
6641 `util/devicemap.c'.
6642
e3069ec1
CPE
66432009-12-08 Carles Pina i Estany <carles@pina.cat>
6644
6645 * include/grub/misc.h (grub_printf_): New declaration.
6646 * kern/misc.c (grub_printf_): New definition.
6647 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
6648 instead of `grub_printf' and `_'.
6649 * normal/menu_entry.c (store_completion): Likewise.
6650 (run): Likewise.
6651 (grub_menu_entry_run): Likewise.
6652 * normal/menu_text.c (grub_wait_after_message): Likewise.
6653 (notify_booting): Likewise.
6654 (notify_fallback): Likewise.
6655 (notify_execution_failure): Likewise.
6656
d6ceebf1
CW
66572009-12-07 Colin Watson <cjwatson@ubuntu.com>
6658
6659 * configure.ac: Check for vasprintf.
6660 * util/misc.c (asprintf): Move allocation from here ...
6661 (vasprintf): ... to here. New function.
6662 (xasprintf): New function.
6663 * include/grub/util/misc.h (vasprintf, xasprintf): Add
6664 prototypes.
6665 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
6666 * util/grub-mkfont.c (write_font): Likewise.
6667 * util/grub-probe.c (probe): Likewise.
6668 * util/hostdisk.c (make_device_name): Likewise.
6669
de6daa8b
DM
66702009-12-06 David S. Miller <davem@sunset.davemloft.net>
6671
6672 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
6673 anything even prefixed with 'cdrom' as a cdrom.
6674
0ad46fd7 66752009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
6676
6677 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
6678 mount points.
6679
98d3dc02
CPE
66802009-12-05 Carles Pina i Estany <carles@pina.cat>
6681
6682 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
6683 grub_gettext_msg_list.
6684 (grub_gettext_gettranslation_from_position): Return const char *
6685 and not char *.
a2c1332b 6686 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
6687 returns from the list if existing there.
6688 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
6689 (grub_gettext_delete_list): Delete the list.
6690 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
6691 lang environment variable is changed.
6692 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
6693
b283f108
VS
66942009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 Rename kernel.mod to kernel.img.
6697
6698 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
6699 (kernel_mod_EXPORTS): Rename to ...
6700 (kernel_img_EXPORTS): ... this.
6701 (kernel_mod_SOURCES): Rename to ...
6702 (kernel_img_SOURCES): ... this.
6703 (kernel_mod_HEADERS): Rename to ...
6704 (kernel_img_HEADERS): ... this. All users updated.
6705 (kernel_mod_CFLAGS): Rename to ...
6706 (kernel_img_CFLAGS): ... this.
6707 (kernel_mod_ASFLAGS): Rename to ...
6708 (kernel_img_ASFLAGS): ... this.
6709 (kernel_mod_LDFLAGS): Rename to ...
6710 (kernel_img_LDFLAGS): ... this.
6711 * conf/x86_64-efi.rmk: Likewise.
6712 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
6713 (read_kernel_image): ... this. All users updated.
6714 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
6715
69055f8a
CPE
67162009-12-05 Carles Pina i Estany <carles@pina.cat>
6717
6718 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
6719 (print_spaces): New function.
6720 (grub_print_ucs4): New function.
6721 (getstringwidth): New function.
6722 (print_message_indented): New function.
6723 (print_message): Gettexttize strings using print_message_indented.
6724 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
6725 width.
6726 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 6727 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
6728 Gettextize.
6729 * normal/menu_entry.c (store_completion): Cleanup the gettextized
6730 string.
6731 (run): Likewise.
6732 (grub_menu_entry_run): Likewise.
6733 * PO/POTFILES: Add normal/menu_entry.c.
6734
f616f51c
VS
67352009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
6738
57bbe3be
CPE
67392009-12-05 Carles Pina i Estany <carles@pina.cat>
6740
6741 * util/grub-install.in: Install gettext .mo files.
6742 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
6743
013d67a1
CPE
67442009-12-05 Carles Pina i Estany <carles@pina.cat>
6745
6746 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
6747 grub_dprintf.
6748
fb954db0
RM
67492009-12-05 Robert Millan <rmh.grub@aybabtu.com>
6750
6751 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
6752 non-firmware-dependant one in realmode.S takes precedence.
6753
6b8474f8
RM
67542009-12-04 Robert Millan <rmh.grub@aybabtu.com>
6755
6756 * commands/halt.c: Replace misc arch-specific headers with
6757 `<grub/misc.h>'.
6758 * commands/reboot.c: Likewise.
6759 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
6760 `<grub/misc.h>'.
6761 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
6762 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
6763 (kernel_img_SOURCES): ... to here.
6764
6765 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
6766 * include/grub/i386/pc/init.h: Likewise.
6767 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
6768 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
6769
6770 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
6771
6772 * include/grub/i386/halt.h: Remove.
6773 * include/grub/i386/reboot.h: Likewise.
6774
6775 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
6776
4b2e6ca2
DM
67772009-12-03 David S. Miller <davem@sunset.davemloft.net>
6778
6779 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
6780 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
6781 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
6782 "progname.h"
6783 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
6784 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6785 (usage): Add missing comma in printf.
6786
5239348f
RM
67872009-12-02 Robert Millan <rmh.grub@aybabtu.com>
6788
6789 Use the same reboot approach on i386 coreboot and qemu as we do on
6790 BIOS.
6791
6792 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
6793 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
6794 * kern/i386/reboot.c: Remove.
6795 * include/grub/i386/reboot.h (grub_reboot): Export function.
6796 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
6797 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
6798 0xf000:0xfff0 instead of 0xffff:0x0000.
6799 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
6800 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
6801
ef34cbd4
RM
68022009-11-30 Robert Millan <rmh.grub@aybabtu.com>
6803
6804 Fix $srcdir != $objdir build.
6805
6806 * Makefile.in (po/%.po): Rewrite as ...
6807 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
6808
dc9837ea
ST
68092009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
6810
6811 Fix GNU/Hurd grub-install crash.
6812 * util/grub-probe.c (probe): Try to access `path' only when it is not
6813 NULL.
6814
2f857f98
VS
68152009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 Correct module naming.
6818
6819 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
6820 (GRUB_MOD_INIT(efi_uga)): ... to this
6821 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
6822 (GRUB_MOD_FINI(efi_uga)): ... to this
6823 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
6824 (GRUB_MOD_INIT(efi_gop)): ... to this
6825 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
6826 (GRUB_MOD_FINI(efi_gop)): ... to this
6827
c5448046
RM
68282009-11-28 Robert Millan <rmh.grub@aybabtu.com>
6829
6830 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
6831 translatable.
6832 (usage): Translate `arg' strings using gettext().
6833 Thanks to Jordi Mallach for the suggestion.
6834
c85184ad
VS
68352009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 GOP support. Based on patch from Bean
6838 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
6839
6840 * video/efi_gop.c: New file.
6841 * include/grub/efi/graphics_output.h: Likewise.
6842 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
6843 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
6844 variables.
6845 * conf/x86_64-efi.rmk: Likewise.
6846
8a4c48d8
VS
68472009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 Rename efi_fb to efi_uga.
6850
6851 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
6852 'efi_uga.mod'.
6853 (efi_fb_mod_SOURCES): Rename this ...
6854 (efi_uga_mod_SOURCES): ... to this.
6855 (efi_fb_mod_CFLAGS): Rename this ...
6856 (efi_uga_mod_CFLAGS): ... to this.
6857 (efi_fb_mod_LDFLAGS): Rename this ...
6858 (efi_uga_mod_LDFLAGS): ... to this.
6859 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
6860 'efi_uga.mod'.
6861 (efi_fb_mod_SOURCES): Rename this ...
6862 (efi_uga_mod_SOURCES): ... to this.
6863 (efi_fb_mod_CFLAGS): Rename this ...
6864 (efi_uga_mod_CFLAGS): ... to this.
6865 (efi_fb_mod_LDFLAGS): Rename this ...
6866 (efi_uga_mod_LDFLAGS): ... to this.
6867 * video/efi_fb.c: Move this ...
6868 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
6869
fb6c1a7b
RM
68702009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6871
6872 * po/README: New file. Explain our PO file workflow.
6873
3bc7896c
RM
68742009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6875
6876 * po/ChangeLog: Remove. Move relevant entries back to ...
6877 * ChangeLog: ... here.
6878 * po/ca.po: Remove (now handled by TLP).
6879 * po/id.po: Likewise.
6880 * po/zh_CN.po: Likewise.
6881 * Makefile.in (LINGUAS): Initialize in a way that supports
6882 empty set.
6883
9ed4841d
RM
68842009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6885
6886 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
6887 reliing on po/LINGUAS.
6888 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
6889 (po/%.po): ... this.
6890
0ad46fd7 68912009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
6892
6893 * util/i386/efi/grub-mkimage.c: Include "progname.h".
6894 (main): Use `program_name' instead of nonexistent `progname'.
6895
e30dd392
FZ
68962009-11-26 Felix Zielcke <fzielcke@z-51.de>
6897
6898 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6899 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
6900
7656de4f
RM
69012009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6902
6903 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
6904 commit.
6905 * conf/i386-efi.rmk: Likewise.
6906 * conf/i386-ieee1275.rmk: Likewise.
6907 * conf/powerpc-ieee1275.rmk: Likewise.
6908 * conf/sparc64-ieee1275.rmk: Likewise.
6909 * conf/x86_64-efi.rmk: Likewise.
6910
db77c4d4
FZ
69112009-11-26 Felix Zielcke <fzielcke@z-51.de>
6912
6913 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
6914
a755bb04
FZ
69152009-11-26 Felix Zielcke <fzielcke@z-51.de>
6916
6917 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
6918
8a4c07fd
RM
69192009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6920
6921 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
6922 (grub_mkdevicemap_SOURCES): New variable.
6923 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
6924 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
6925 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
6926 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
6927 (grub_mkdevicemap_SOURCES): Remove.
6928 * conf/i386-efi.rmk: Likewise.
6929 * conf/i386-ieee1275.rmk: Likewise.
6930 * conf/i386-pc.rmk: Likewise.
6931 * conf/powerpc-ieee1275.rmk: Likewise.
6932 * conf/sparc64-ieee1275.rmk: Likewise.
6933 * conf/x86_64-efi.rmk: Likewise.
6934 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
6935 (usage): Fix strings to use `program_name'.
6936 (main): Initialize gettext.
6937 * util/grub-editenv.c: Likewise.
6938 * util/grub-emu.c: Likewise.
6939 * util/grub-fstest.c: Likewise.
6940 * util/grub-mkdevicemap.c: Likewise.
6941 * util/grub-mkfont.c: Likewise.
6942 * util/grub-mkrelpath.c: Likewise.
6943 * util/grub-pe2elf.c: Likewise.
6944 * util/grub-probe.c: Likewise.
6945 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
6946 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
6947 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6948
6949 * util/misc.c: Include `"progname.h"'.
6950 (progname): Remove variable.
6951 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
6952
6f61ed55
FZ
69532009-11-25 Felix Zielcke <fzielcke@z-51.de>
6954
6955 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
6956 printf and print a newline after the menuentry header line.
6957 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6958
f022876b
FZ
69592009-11-25 Felix Zielcke <fzielcke@z-51.de>
6960
6961 autoconf >= 2.60 support $(localedir).
6962
6963 * INSTALL: Note that autoconf 2.60 is required.
6964 * configure.ac (AC_PREREQ): Bump to 2.60.
6965 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
6966 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
6967
6717926e
YB
69682009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
6969
6970 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
6971 aclocal is run.
6972
08806a54
RM
69732009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6974
6975 * normal/main.c (grub_normal_read_line): Fix off-by-one
6976 buffer overflow.
6977
13b33fba
RM
69782009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6979
6980 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
6981 "parser.grub" in grub_command_execute() call.
6982
4a8572e9
CPE
69832009-11-24 Carles Pina i Estany <carles@pina.cat>
6984
6985 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
6986 * conf/i386-efi.rmk: Likewise.
6987 * conf/i386-ieee1275.rmk: Likewise.
6988 * conf/i386-pc.rmk: Likewise.
6989 * conf/powerpc-ieee1275.rmk: Likewise.
6990 * conf/sparc64-ieee1275.rmk: Likewise.
6991 * conf/x86_64-efi.rmk: Likewise.
6992 * gettext/gettex.c: Include <grub/i18n.h>.
6993 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
6994 here ...
6995 * include/grub/i18n.h: ... to here
6996 * include/grub/i18n.h: ... to here.
6997 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 6998 (grub_gettext_dummy): Move above user.
4a8572e9 6999
bee48093
FZ
70002009-11-24 Felix Zielcke <fzielcke@z-51.de>
7001
7002 * util/Makefile.in (install-local): Convert a `for' into a normal
7003 shell expansion.
7004
a031e91c
RM
70052009-11-24 Robert Millan <rmh.grub@aybabtu.com>
7006
7007 * autogen.sh: Add automake call.
7008 * config.guess: Remove.
7009 * config.sub: Likewise.
7010 * install-sh: Likewise.
7011
26bec39d
FZ
70122009-11-24 Felix Zielcke <fzielcke@z-51.de>
7013
7014 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
7015
8e2532fd
FZ
70162009-11-24 Felix Zielcke <fzielcke@z-51.de>
7017
7018 * util/Makefile.in (install-local): Convert a make `$(foreach)'
7019 function to a normal shell `for'.
7020
fefa1b7d
FZ
70212009-11-24 Felix Zielcke <fzielcke@z-51.de>
7022
7023 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7024
4501250b
FZ
70252009-11-24 Felix Zielcke <fzielcke@z-51.de>
7026
7027 * util/grub-mkrelpath.c: New file.
7028 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
7029 (grub_mkrelpath_SOURCES): New variable.
7030 * include/grub/util/misc.h: New function prototype.
7031 * util/misc.c (make_system_path_relative_to_its_root): New function.
7032
7033 * util/grub-mkconfig_lib.in (bindir): New variable.
7034 (grub_mkrelpath): Likewise.
7035 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
7036
7037 * util/probe.c (probe): Make the file path relative to its root.
7038 Change a info message to use the GRUB path. Enable again the
7039 check if we can read the file with GRUB facilities.
7040
7041 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
7042 to its root.
7043
11d9778b
FZ
70442009-11-24 Felix Zielcke <fzielcke@z-51.de>
7045
7046 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
7047 platform.
7048
4465287d
FZ
70492009-11-24 Felix Zielcke <fzielcke@z-51.de>
7050
7051 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
7052 strncmp().
7053
62b47f22
FZ
70542009-11-24 Felix Zielcke <fzielcke@z-51.de>
7055
7056 * util/getroot.c (grub_util_is_dmraid): New function.
7057 (grub_util_get_dev_abstraction): Treat dmraid and multipath
7058 devices as normal ones, not as LVM.
7059
1eafb9b9 70602009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
7061
7062 * conf/common.rmk: Add grub-gettext_lib target and updates
7063 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
7064 LDFLAGS.
7065 * gettext/gettext.c: New file. (Reads mo files).
7066 * include/grub/file.h (grub_file_pread): New prototype.
7067 * include/grub/i18n.h (_): New prototype.
7068 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
7069 prototypes.
7070 * kern/misc.c (grub_gettext_dummy): New function.
7071 * normal/menu_text.c: Include <grub/i18n.h>.
7072 * normal/menu_text.c (print_timeout): Gettexttize string.
7073 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
7074 * po/POTFILES: Add `normal/menu_text.c'.
7075 * po/ca.po: Add new translations.
c3ea6bd4
CPE
7076 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
7077 gettext module and defines locale_dir and lang in grub.cfg.
7078 * NEWS: Add gettext support.
7079
0fdb2568
RM
70802009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7081
7082 * util/hostdisk.c: Include `<grub/i18n.h>'.
7083 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
7084 (make_device_name): Rewrite using asprintf.
7085 (convert_system_partition_to_system_disk): Replace 0 with NULL.
7086 (find_system_device): If a device is not found, generate one just
7087 by reusing the OS path name.
7088 (read_device_map): Make it permissible for device.map not to exist.
7089
f515aa62
RM
70902009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7091
7092 * script/sh/execute.c: Move from here ...
7093 * script/execute.c: ... to here. Update all users.
7094 * script/sh/function.c: Move from here ...
7095 * script/function.c: ... to here. Update all users.
7096 * script/sh/lexer.c: Move from here ...
7097 * script/lexer.c: ... to here. Update all users.
7098 * script/sh/main.c: Move from here ...
7099 * script/main.c: ... to here. Update all users.
7100 * script/sh/parser.y: Move from here ...
7101 * script/parser.y: ... to here. Update all users.
7102 * script/sh/script.c: Move from here ...
7103 * script/script.c: ... to here. Update all users.
7104
f84b481b
RM
71052009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7106
7107 * configure.ac: Detect all `emu' platforms. Define
7108 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
7109 --enable-grub-emu logic. Disable include/grub/machine
7110 symlink on `emu' platforms.
7111
7112 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
7113 * gensymlist.sh.in: Likewise.
7114
7115 * include/grub/i386/coreboot/machine.h: Remove file.
7116 * include/grub/i386/efi/machine.h: Likewise.
7117 * include/grub/i386/ieee1275/machine.h: Likewise.
7118 * include/grub/i386/pc/machine.h: Likewise.
7119 * include/grub/i386/qemu/machine.h: Likewise.
7120 * include/grub/powerpc/ieee1275/machine.h: Likewise.
7121 * include/grub/sparc64/ieee1275/machine.h: Likewise.
7122 * include/grub/x86_64/efi/machine.h: Likewise.
7123
7124 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
7125 * commands/halt.c: Likewise.
7126 * commands/reboot.c: Likewise.
7127 * include/grub/autoefi.h: Likewise.
7128 * include/grub/i386/at_keyboard.h: Likewise.
7129 * include/grub/i386/kernel.h: Likewise.
7130 * include/grub/i386/loader.h: Likewise.
7131 * include/grub/i386/pc/memory.h: Likewise.
7132 * kern/dl.c: Likewise.
7133 * kern/i386/coreboot/init.c: Likewise.
7134 * loader/i386/bsd.c: Likewise.
7135 * loader/i386/linux.c: Likewise.
7136 * loader/multiboot_loader.c: Likewise.
7137 * term/i386/pc/serial.c: Likewise.
7138 * term/usb_keyboard.c: Likewise.
7139
7140 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
7141 `<grub/machine/machine.h>'
7142 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
7143 * util/misc.c: Remove `<grub/machine/machine.h>' and
7144 `<grub/machine/time.h>'.
7145
7146 * Makefile.in (enable_grub_emu): Remove variable.
7147 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
7148
7149 * conf/any-emu.rmk: New file.
7150 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
7151 (grub_emu_init.c): Move from here ...
7152 * conf/any-emu.rmk: ... to here.
7153
7154 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
7155 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
7156 * conf/any-emu.rmk: ... to here.
7157
4efeab03
RM
71582009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7159
7160 * include/grub/parser.h (grub_parser_register): Document need
7161 of `name' parameter.
7162 * normal/main.c (grub_normal_read_line): Simplify prompt string.
7163 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
7164 "sh" to "grub".
7165
ea1dd8bf
RM
71662009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7167
7168 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
7169 `$(XGETTEXT)'.
7170 * include/grub/i18n.h (N_): New macro.
7171 * util/mkisofs/mkisofs.h: Likewise.
7172 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
7173 around N_().
7174 (usage): Use gettext() to translate help strings when printing them.
7175
0c140626
RM
71762009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7177
7178 Based on patch from Bean
7179 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
7180
7181 * video/efi_fb.c: New file.
7182 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
7183 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
7184 variables.
7185 * conf/x86_64-efi.rmk: Likewise.
7186
87d58298
RM
71872009-11-22 Robert Millan <rmh.grub@aybabtu.com>
7188
7189 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
7190 * util/i386/pc/grub-setup.c: Likewise.
7191
994cc3a3
ST
71922009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
7193
7194 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
7195 <hurd/fs.h>
7196 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
7197 file_get_storage_info to implement grub_guess_root_device.
7198
26a61d6a
FZ
71992009-11-21 Felix Zielcke <fzielcke@z-51.de>
7200
7201 * Makefile.in (target): Use make's builtin $(shell) function
7202 instead of calling directly $(SHELL) to create the locale directories,
7203 inside the $(foreach) function.
7204
74ff1dd5
FZ
72052009-11-21 Felix Zielcke <fzielcke@z-51.de>
7206
7207 * util/grub-mkrescue.in: Print an error and usage if output option
7208 has not been given.
7209
0b787d0e
FZ
72102009-11-21 Felix Zielcke <fzielcke@z-51.de>
7211
7212 Patch from Loïc Minier <loic.minier@ubuntu.com>.
7213 * util/grub.d/30_os-prober.in: Cope with Linux entries where
7214 root and /boot are on different devices.
7215
1164b270
RM
72162009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7217
7218 Fix build for srcdir != objdir.
7219
7220 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
7221 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
7222 $(srcdir).
7223 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
7224 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
7225 reference for input.
7226
13774a2f
RM
72272009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7228
7229 * util/grub-mkrescue.in: Use source directory direcly (without copiing
7230 or hardlinking it). Remove -J option, Joliet is not compatible with
7231 multiple source directories.
7232
efda854e
RM
72332009-11-21 Carles Pina i Estany <carles@pina.cat>
72342009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7235
7236 * util/grub-mkrescue.in: Recognize `--override-directory' option.
7237 (process_input_dir): New function. Process an arbitrary input
7238 directory.
7239 Misc adjustments to support both "override mode" and system-wide mode.
7240
6c09890c
FZ
72412009-11-20 Felix Zielcke <fzielcke@z-51.de>
7242
7243 * configure.ac (UNIFONT_BDF): Rename to ...
7244 (FONT_SOURCE): ... this. Update all users.
7245
a797824f
FZ
72462009-11-20 Felix Zielcke <fzielcke@z-51.de>
7247
7248 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
7249 to the list of unifont files to look for.
7250
cd4f42b0
RM
72512009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7252
7253 Patch from Joe Auricchio <jauricchio@gmail.com>
7254 * commands/minicmd.c (grub_mini_cmd_clear): New function.
7255 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
7256 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
7257
393c783d
FZ
72582009-11-19 Felix Zielcke <fzielcke@z-51.de>
7259
7260 * Makefile.in (install-local): Add a missing backslash.
7261
b2f1e327
FZ
72622009-11-19 Felix Zielcke <fzielcke@z-51.de>
7263
7264 * include/grub/x86_64/io.h: New file.
7265
f577f7a0
RM
72662009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7267
7268 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
7269 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
7270 Include `"progname.h"'.
7271 (main): Initialize gettext.
7272 * util/i386/pc/grub-setup.c: Gettexttize.
7273 * util/i386/pc/grub-mkimage.c: Likewise.
7274
7275 * Makefile.in (po/*.po): Redefine as ...
7276 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
7277
3bc7896c
RM
7278 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
7279
c37943b6
RM
72802009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7281
7282 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
7283 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
7284 (program_name): Remove.
7285 (main): Initialize gettext support.
6323f705
RM
7286 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
7287 Include `<libintl.h>'.
7288 (_): New macro.
c37943b6
RM
7289
7290 * util/mkisofs/eltorito.c: Gettexttize.
7291 * util/mkisofs/joliet.c: Likewise.
7292 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
7293 * util/mkisofs/multi.c: Likewise.
7294 * util/mkisofs/rock.c: Likewise.
7295 * util/mkisofs/tree.c: Likewise.
7296 * util/mkisofs/write.c: Likewise.
7297
3bc7896c
RM
7298 * po/POTFILES: Update with new files.
7299
5ce77c6e
RM
73002009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7301
7302 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
7303 * util/mkisofs/iso9660.h: Likewise.
7304 * util/mkisofs/joliet.c: Likewise.
7305 * util/mkisofs/mkisofs.c: Likewise.
7306 * util/mkisofs/mkisofs.h: Likewise.
7307 * util/mkisofs/rock.c: Likewise.
7308 * util/mkisofs/tree.c: Likewise.
7309 * util/mkisofs/write.c: Likewise.
7310
7311 * util/mkisofs/eltorito.c (rcsid): Remove.
7312 * util/mkisofs/hash.c: Likewise.
7313 * util/mkisofs/joliet.c: Likewise.
7314 * util/mkisofs/name.c: Likewise.
7315 * util/mkisofs/rock.c: Likewise.
7316 * util/mkisofs/tree.c: Likewise.
7317 * util/mkisofs/write.c: Likewise.
7318
1dabbc77
RM
73192009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7320
7321 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
7322 instead of static allocation.
7323 * util/mkisofs/match.h: Likewise.
7324
633877cb
RM
73252009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7326
3bc7896c
RM
7327 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
7328 and `util/grub.d/10_linux.in'.
633877cb
RM
7329 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
7330 translatable Shell files.
7331
af1c0c85
RM
73322009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7333
7334 * Makefile.in ($(srcdir)/aclocal.m4): New target.
7335
769ae37b
RM
73362009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7337
7338 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 7339 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
7340 * util/grub.d/10_kfreebsd.in (bindir): New variable.
7341 Add gettext initialization.
7342 (kfreebsd_entry): Make menuentry output translatable.
7343
73442009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7345
7346 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
7347 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
7348 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
7349 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
7350 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 7351 * po/LINGUAS: New file.
769ae37b
RM
7352
73532009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7354
7355 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
7356 other things).
7357 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
7358 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
7359 bindtextdomain() calls for gettext initialization.
7360
73612009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7362
7363 * gnulib/progname.c: New file (imported from Gnulib).
7364 * gnulib/progname.h: Likewise.
7365 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7366 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
7367 (usage): Replace `progname' with `program_name'.
7368 (main): Use set_program_name() for program name initialization.
7369
73702009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7371
7372 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
7373 from here ...
7374 * Makefile.in (CPPFLAGS): ... to here.
7375
73762009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7377
7378 * aclocal.m4: Move from here ...
7379 * acinclude.m4: ... to here.
7380 * autogen.sh: Add call to `aclocal'.
7381 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
7382
73832009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7384
7385 * Makefile.in (CLEANFILES): Add `po/*.mo'.
7386 (LINGUAS): New variable.
7387 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
7388 (install-local): Install MO files.
7389 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
7390 * include/grub/i18n.h: New file.
3bc7896c
RM
7391 * po/POTFILES: New file.
7392 * po/ca.po: New file.
769ae37b
RM
7393 * util/grub.d/10_linux.in (bindir): New variable.
7394 Add gettext initialization.
7395 (linux_entry): Make menuentry output translatable.
7396 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
7397 (usage): Make --help output translatable.
7398 (main): Initialize gettext.
7399
02c0a6ad
RM
74002009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7401
7402 * import_gcry.py: New file (written by Vladimir with minor
7403 adjustments).
7404 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
7405 ciphers.
7406 * INSTALL: Document that Python is required for bootstrap.
7407
74082009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7409
7410 Import ciphers from libgcrypt 1.4.4.
7411
7412 * lib/libgcrypt/cipher/ChangeLog
7413 * lib/libgcrypt/cipher/ac.c
7414 * lib/libgcrypt/cipher/arcfour.c
7415 * lib/libgcrypt/cipher/bithelp.h
7416 * lib/libgcrypt/cipher/blowfish.c
7417 * lib/libgcrypt/cipher/camellia-glue.c
7418 * lib/libgcrypt/cipher/camellia.c
7419 * lib/libgcrypt/cipher/camellia.h
7420 * lib/libgcrypt/cipher/cast5.c
7421 * lib/libgcrypt/cipher/cipher.c
7422 * lib/libgcrypt/cipher/crc.c
7423 * lib/libgcrypt/cipher/des.c
7424 * lib/libgcrypt/cipher/dsa.c
7425 * lib/libgcrypt/cipher/ecc.c
7426 * lib/libgcrypt/cipher/elgamal.c
7427 * lib/libgcrypt/cipher/hash-common.c
7428 * lib/libgcrypt/cipher/hash-common.h
7429 * lib/libgcrypt/cipher/hmac-tests.c
7430 * lib/libgcrypt/cipher/md.c
7431 * lib/libgcrypt/cipher/md4.c
7432 * lib/libgcrypt/cipher/md5.c
7433 * lib/libgcrypt/cipher/primegen.c
7434 * lib/libgcrypt/cipher/pubkey.c
7435 * lib/libgcrypt/cipher/rfc2268.c
7436 * lib/libgcrypt/cipher/rijndael-tables.h
7437 * lib/libgcrypt/cipher/rijndael.c
7438 * lib/libgcrypt/cipher/rmd.h
7439 * lib/libgcrypt/cipher/rmd160.c
7440 * lib/libgcrypt/cipher/rsa.c
7441 * lib/libgcrypt/cipher/seed.c
7442 * lib/libgcrypt/cipher/serpent.c
7443 * lib/libgcrypt/cipher/sha1.c
7444 * lib/libgcrypt/cipher/sha256.c
7445 * lib/libgcrypt/cipher/sha512.c
7446 * lib/libgcrypt/cipher/tiger.c
7447 * lib/libgcrypt/cipher/twofish.c
7448 * lib/libgcrypt/cipher/whirlpool.c
7449
af2f93ac
RM
74502009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7451
7452 Fix build for systems without error().
7453
7454 * gnulib/error.c: New file (imported from Gnulib).
7455 * gnulib/error.h: Likewise.
7456 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
7457 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
7458 (this variable is now used by error()).
7459
73fb3dd5
FZ
74602009-11-16 Felix Zielcke <fzielcke@z-51.de>
7461
814f5e96
FZ
7462 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
7463 instead of relying that char is signed.
73fb3dd5 7464
a691ca33
VS
74652009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
7468 blocksize different from specified.
7469 (grub_pxefs_read): Likewise.
7470
2af8f0f4
FZ
74712009-11-16 Felix Zielcke <fzielcke@z-51.de>
7472
7473 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
7474
7475 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
7476 (grub_ata_readwrite): Likewise. Update 2 format strings.
7477 (grub_atapi_read): Likewise.
7478
7479 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
7480 * conf/i386.rmk (pkglib_MODULES): ... to here ...
7481 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
7482 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
7483 (ata_mod_LDFLAGS): Move from here ...
7484 * conf/i386.rmk: ... to here ...
7485 * conf/x86_64-efi.rmk: ... and here.
7486 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
7487 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
7488
83bdecaf
RM
74892009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7490
7491 Relicense multiboot.h, with RMS' blessing.
7492
7493 * include/multiboot.h: Change to X11 license.
7494
fd6fd3d7
RM
74952009-11-15 Robert Millan <rmh.grub@aybabtu.com>
7496
7497 Support --version in grub-mkisofs.
7498
7499 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
7500 (OPTION_VERSION): New macro.
7501 (ld_options): Recognize --version.
7502 (usage): Move `program_name' from here ...
7503 (program_name): ... to here. Add `static' qualifier.
7504 (main): Recognize `OPTION_VERSION'.
7505
16a88c49
FZ
75062009-11-15 Felix Zielcke <fzielcke@z-51.de>
7507
7508 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
7509 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
7510
a4158476
RM
75112009-11-14 Robert Millan <rmh.grub@aybabtu.com>
7512
7513 Fix help2man generation for mkisofs.
7514
7515 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
7516 (usage): Send output to stdout (rather than stderr).
7517
fc2208b0
RM
75182009-11-14 Robert Millan <rmh.grub@aybabtu.com>
7519
7520 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
7521 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
7522 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
7523 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
7524 (bin_SCRIPTS): Add `grub-mkfloppy'.
7525 (grub_mkfloppy_SOURCES): New variable.
7526
7527 * util/grub-mkrescue.in: New file.
7528 * util/i386/pc/grub-mkfloppy.in: New file.
7529
7530 * util/i386/coreboot/grub-mkrescue.in: Remove.
7531 * util/i386/pc/grub-mkrescue.in: Remove.
7532
8d0edf4a
RM
75332009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7534
7535 * include/grub/multiboot.h (struct grub_multiboot_header): Move
7536 from here ...
7537 * include/multiboot.h (struct multiboot_header): ... to here. Update
7538 all users.
7539 * include/grub/multiboot.h (struct grub_multiboot_info): Move
7540 from here ...
7541 * include/multiboot.h (struct multiboot_info): ... to here. Update
7542 all users.
7543 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
7544 from here ...
7545 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
7546 Update all users.
7547 * include/grub/multiboot.h (struct grub_mod_list): Move
7548 from here ...
7549 * include/multiboot.h (struct multiboot_mod_list): ... to here.
7550 Update all users.
7551
a73f5969
RM
75522009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7553
7554 * include/multiboot2.h (multiboot_word): Rename from this ...
7555 (multiboot2_word): ... to this. Update all users.
7556 (multiboot_header): Rename from this ...
7557 (multiboot2_header): ... to this. Update all users.
7558 (multiboot_tag_header): Rename from this ...
7559 (multiboot2_tag_header): ... to this. Update all users.
7560 (multiboot_tag_start): Rename from this ...
7561 (multiboot2_tag_start): ... to this. Update all users.
7562 (multiboot_tag_name): Rename from this ...
7563 (multiboot2_tag_name): ... to this. Update all users.
7564 (multiboot_tag_module): Rename from this ...
7565 (multiboot2_tag_module): ... to this. Update all users.
7566 (multiboot_tag_memory): Rename from this ...
7567 (multiboot2_tag_memory): ... to this. Update all users.
7568 (multiboot_tag_unused): Rename from this ...
7569 (multiboot2_tag_unused): ... to this. Update all users.
7570 (multiboot_tag_end): Rename from this ...
7571 (multiboot2_tag_end): ... to this. Update all users.
7572
1c8927f0
RM
75732009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7574
7575 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
7576 this platform we should support Multiboot1 first.
7577
7578 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
7579 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
7580 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
7581
6e1e0d89
RM
75822009-11-12 Robert Millan <rmh.grub@aybabtu.com>
7583
7584 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
7585 of write calls (converting them to fwrite() if they aren't already).
7586 (get_torito_desc): Likewise.
7587 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
7588
7f2b34d8
RM
75892009-11-12 Robert Millan <rmh.grub@aybabtu.com>
7590
7591 * util/i386/pc/grub-install.in: Move from here ...
7592 * util/grub-install.in: ... to here. Update all users.
7593
c0ef3311
CW
75942009-11-11 Colin Watson <cjwatson@ubuntu.com>
7595
7596 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
7597
e1f240ff
RM
75982009-11-11 Robert Millan <rmh.grub@aybabtu.com>
7599
7600 Support for El Torito without floppy emulation.
7601
7602 * util/mkisofs/eltorito.c: Include `<errno.h>'.
7603 (init_boot_catalog): Improve error handling.
7604 (get_torito_desc): Don't use floppy emulation unless requested by
7605 user. Patch boot information table when requested via
7606 `-boot-info-table'.
7607 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
7608 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
7609 (use_boot_info_table): New variables.
7610 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
7611 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
7612 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
7613 `--eltorito-emul-floppy'.
7614 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
7615 and `OPTION_ELTORITO_EMUL_FLOPPY'.
7616 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
7617 (use_boot_info_table, get_731): New prototypes.
7618 * util/mkisofs/write.c (get_731): New function.
7619
af7d4de5
FZ
76202009-11-11 Felix Zielcke <fzielcke@z-51.de>
7621
7622 Fix the generation of the man page.
7623
7624 * util/pc/i386/grub-install.in: Source
7625 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7626
2c55dbc0
RM
76272009-11-11 Robert Millan <rmh.grub@aybabtu.com>
7628
7629 Large file support for grub-mkisofs.
7630
7631 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
7632 * util/mkisofs/mkisofs.c (next_extent, last_extent)
7633 (session_start): Upgrade type to `uint64_t'. Update all users.
7634 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
7635 (struct directory_entry): Upgrade type of `starting_block' and
7636 `size' to `uint64_t'. Update all users.
7637 (struct deferred): Remove unused structure.
7638 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
7639 Update all users.
7640 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
7641 file is larger than `UINT32_MAX'.
7642 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
7643 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
7644 return value.
7645 (struct deferred_write): Upgrade type of `extent' and `size' to
7646 `uint64_t'. Update all users.
7647 (last_extent_written): Upgrade type to `uint64_t'. Update all
7648 users.
7649 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
7650 Update all users. Upgrade type of `remain' to `int64_t' and
7651 `use' to `size_t'. Use error() to handle fread() errors.
7652 (write_files): Rely on write_one_file() rather than calling
7653 xfwrite() directly.
7654
6a9cead5
FZ
76552009-11-09 Felix Zielcke <fzielcke@z-51.de>
7656
7657 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
7658
4825d790
RM
76592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7660
7661 * util/mkisofs/fnmatch.c: Remove.
7662 * util/mkisofs/getopt1.c: Likewise.
7663 * util/mkisofs/getopt.c: Likewise.
7664 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
7665 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
7666 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
7667 `gnulib/getopt1.c' and `gnulib/getopt.c'.
7668 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
7669
7670 * configure.ac: Detect `mingw32msvc' host_os.
7671 Check for lstat(), getuid() and getgid().
7672
7673 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
7674 instances of `u_char' with `uint8_t'.
7675
7676 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
7677 [!HAVE_GETUID] (getuid): New function (stub).
7678 [!HAVE_GETGID] (getgid): Likewise.
7679 [!HAVE_LSTAT] (lstat): Likewise.
7680 [!S_IROTH] (S_IROTH): New macro (dummy).
7681 [!S_IRGRP] (S_IRGRP): Likewise.
7682
84b860d8
RM
76832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7684
7685 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
7686 conditional expression).
7687
66e9b712
RM
76882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7689
7690 Import from Gnulib.
7691
7692 * gnulib/fnmatch.c: New file.
7693 * gnulib/fnmatch.h: Likewise.
7694 * gnulib/fnmatch_loop.c: Likewise.
7695 * gnulib/getopt.c: Likewise.
7696 * gnulib/getopt.h: Likewise.
7697 * gnulib/getopt1.c: Likewise.
7698 * gnulib/getopt_int.h: Likewise.
7699 * gnulib/gettext.h: Likewise.
7700
34f4a5b0
RM
77012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7702
7703 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
7704 * normal/handler.c (read_handler_list): Likewise.
7705
ac451143
RM
77062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7707
7708 Misc cleanup.
7709
7710 * kern/command.c (grub_register_command_prio): Use
7711 grub_zalloc() instead of explicitly zeroing data.
7712 * kern/list.c: Include `<grub/mm.h>'.
7713 (grub_named_list_find): Replace `0' with `NULL'.
7714 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
7715 (fs_module_list): Change type to `grub_named_list_t'. Update all
7716 users.
7717 * normal/dyncmd.c (read_command_list): Add space between function
7718 call and parenthesis.
7719 * normal/handler.c (read_handler_list): Likewise.
7720
4089b167
RM
77212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7722
7723 * normal/auth.c (punishment_delay): Moved from here ...
7724 (grub_auth_strcmp): ... to here (inside function).
7725
325f5037
RM
77262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7727
7728 * include/grub/list.h (struct grub_named_list): Remove `const'
7729 qualifier from `name'.
7730 (struct grub_prio_list): Likewise.
7731
7aea29a3
RM
77322009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7733
7734 * normal/auth.c: Include `<grub/time.h>'.
7735 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
7736
3fd6f044
RM
77372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7738
7739 * normal/auth.c (punishment_delay): New variable.
7740 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
7741 (grub_auth_check_authentication): Punish failed login attempts with
7742 an incremental (2^N) delay.
7743
a4cd68e4
RM
77442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7745
7746 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
7747 path with $(srcdir).
7748
7ad12f43
VS
77492009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
7752
c1129f03
RM
77532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7754
7755 * util/i386/coreboot/grub-mkrescue.in: New file.
7756 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
7757 variables.
7758
7759 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
7760 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
7761 * configure.ac: Add header and function checks to satisfy grub-mkisofs
7762 requirements.
7763 * util/mkisofs/defaults.h: New file.
7764 * util/mkisofs/eltorito.c: Likewise.
7765 * util/mkisofs/exclude.h: Likewise.
7766 * util/mkisofs/fnmatch.c: Likewise.
7767 * util/mkisofs/getopt.c: Likewise.
7768 * util/mkisofs/getopt1.c: Likewise.
7769 * util/mkisofs/hash.c: Likewise.
7770 * util/mkisofs/include/fctldefs.h: Likewise.
7771 * util/mkisofs/include/mconfig.h: Likewise.
7772 * util/mkisofs/include/prototyp.h: Likewise.
7773 * util/mkisofs/include/statdefs.h: Likewise.
7774 * util/mkisofs/iso9660.h: Likewise.
7775 * util/mkisofs/joliet.c: Likewise.
7776 * util/mkisofs/match.c: Likewise.
7777 * util/mkisofs/match.h: Likewise.
7778 * util/mkisofs/mkisofs.c: Likewise.
7779 * util/mkisofs/mkisofs.h: Likewise.
7780 * util/mkisofs/multi.c: Likewise.
7781 * util/mkisofs/name.c: Likewise.
7782 * util/mkisofs/rock.c: Likewise.
7783 * util/mkisofs/tree.c: Likewise.
7784 * util/mkisofs/write.c: Likewise.
7785
ec8bb77d
VS
77862009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
7789 being insecure.
7790
3716b12c
RM
77912009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7792
7793 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
7794 `grub-mkimage' (and use $0 when possible).
7795
b97b7b91
RM
77962009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7797
7798 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
7799 error message for excessively large memory map.
7800
04114812
RM
78012009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7802
7803 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
7804 executable bit.
7805
e4eb2373
RM
78062009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7807
7808 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
7809 message for coreboot users.
7810
c926e1d5 78112009-11-07 Robert Millan <rmh.grub@aybabtu.com>
7812
7813 Fix build with GNU gold.
7814
7815 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
7816 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
7817 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
7818 link addresses.
7819 * aclocal.m4: Likewise.
7820
86e5b1db 78212009-11-04 Felix Zielcke <fzielcke@z-51.de>
7822
7823 * configure.ac (AC_PREREQ): Bump to 2.59d.
7824 * INSTALL: Make it more clear when Autoconf and Ruby are
7825 needed and when to run `./autogen.sh'.
7826
246cd78f 78272009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
7828
7829 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
7830 OSes.
7831
4f9dfb37 78322009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7833
7834 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
7835
b82bd5e1 78362009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7837
7838 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
7839 giving it to GNU Mach.
7840
ff1a9bca 78412009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7842
7843 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
7844 GNU partition number to get internal GRUB partition number.
7845
61697d9c 78462009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7847
7848 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
7849 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
7850
a50569e1 78512009-11-01 Robert Millan <rmh.grub@aybabtu.com>
7852
7853 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
7854 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
7855 case.
7856
5b153867 78572009-11-01 Felix Zielcke <fzielcke@z-51.de>
7858
7859 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
7860
d9e2cd70 78612009-10-30 Robert Millan <rmh.grub@aybabtu.com>
7862
7863 Fix build problem.
7864
7865 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
7866 `-isystem=$(srcdir)/include'.
7867
805111a4 78682009-10-30 Robert Millan <rmh.grub@aybabtu.com>
7869
7870 * util/i386/pc/grub-install.in: Remove hint that device.map should be
7871 checked (grub-install doesn't currently rely on it).
7872
fa6e945f 78732009-10-29 Robert Millan <rmh.grub@aybabtu.com>
7874
7875 Revert SVN r2660.
7876
7877 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
7878 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7879 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
7880 * conf/i386-ieee1275.rmk: Likewise.
7881 * conf/i386-pc.rmk: Likewise.
7882 * conf/powerpc-ieee1275.rmk: Likewise.
7883 * conf/sparc64-ieee1275.rmk: Likewise.
7884 * conf/x86_64-efi.rmk: Likewise.
7885
cee15086 78862009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7887
7888 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
7889
95b9239e 78902009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7891
7892 * include/grub/misc.h: Stop checking for APPLE_CC.
7893
2ed19dfd 78942009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7895
7896 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
7897 doesn't cause an infinite call loop.
7898
fdcdde19 78992009-10-28 Felix Zielcke <fzielcke@z-51.de>
7900
7901 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
7902 strings.
7903
cefabfe1 79042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7905
7906 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
7907 variable.
7908 * Makefile.in: Likewise.
7909
ed96ab6d 79102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7911
7912 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
7913
0579b753 79142009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7915
7916 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
7917
478df409 79182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7919
7920 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
7921
083d1679 79222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7923
7924 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
7925 from here ...
7926 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
7927
5947ae32 79282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7929
7930 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
7931 in $(MAKEINFO) invocation. This makes it clear in output that
7932 errors are being ignored.
7933
94180ff6 79342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7935
7936 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
7937 from here ...
7938 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7939 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
7940 * conf/i386-ieee1275.rmk: Likewise.
7941 * conf/i386-pc.rmk: Likewise.
7942 * conf/powerpc-ieee1275.rmk: Likewise.
7943 * conf/sparc64-ieee1275.rmk: Likewise.
7944 * conf/x86_64-efi.rmk: Likewise.
7945
9031b03a 79462009-10-26 Colin Watson <cjwatson@ubuntu.com>
7947
7948 * util/grub-editenv.c (main): If only a command is given, use
7949 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
7950 (usage): FILENAME is now optional and has a default.
7951
e4f6809b 79522009-10-26 Colin Watson <cjwatson@ubuntu.com>
7953
7954 Improve grub-mkconfig performance when there are several menu
7955 entries on a single filesystem.
7956
7957 * util/grub.d/10_linux.in (linux_entry): Cache the output of
7958 prepare_grub_to_access_device.
7959 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7960 * util/grub.d/30_os-prober.in: Likewise.
7961
67937d4d 79622009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7963
7964 * util/grub.d/10_freebsd.in: Remove.
7965 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
7966 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
7967
ee3756cc 79682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7969
5c35048e 7970 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 7971
4dea1c6f 79722009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7973
7974 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
7975 grub_util_error() call.
7976
042484d7 79772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7978
7979 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
7980 `reserved_first_sector' member.
7981 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
7982 `reserved_first_sector' to 1.
7983 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
7984 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
7985 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
7986 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
7987 filesystems which begin at first sector.
7988 (options): New option --skip-fs-probe.
7989 (main): Handle --skip-fs-probe and pass it to setup().
7990
d64448a7 79912009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7992
7993 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
7994 (memset): Fix function prototype.
7995
508d42ec 79962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
79972009-10-25 Vasily Averin <vvs@parallels.com>
7998
7999 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
8000 `dirent.direntlen == 0'.
8001
b240e30c 80022009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8003
8004 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
8005 `cpio'.
8006 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
8007
346e7fbe 80082009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8009
8010 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
8011 `__trampoline_setup' and `__ucmpdi2'.
8012 * include/grub/powerpc/libgcc.h: Only export symbols for functions
8013 that libgcc provides.
8014
cdb308b0 80152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8016
8017 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
8018 * include/grub/sparc64/libgcc.h (memset): Likewise.
8019 * include/grub/misc.h (memset, memcmp): New function prototypes.
8020
fb26abc2 80212009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8022
8023 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
8024 `cpio'.
8025 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
8026
f6693890 80272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8028
8029 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
8030 * docs/grub.cfg: Compensate for recent change in multiboot
8031 loader (since 2009-08-14 it won't pass filename to payload).
8032 * util/grub.d/10_hurd.in: Likewise.
8033
0933cdc0 80342009-10-21 Felix Zielcke <fzielcke@z-51.de>
8035
8036 * config.guess: Update to latest version from config git
8037 repository.
8038 * config.sub: Likewise.
8039
3b2fe8c2 80402009-10-20 Robert Millan <rmh.grub@aybabtu.com>
8041
8042 Fix build on sparc64.
8043
8044 * configure.ac: Perform checks for libgcc symbols before
8045 adding `-nostdlib' to LDFLAGS.
8046
46695a62 80472009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 Let user specify OpenBSD root device.
8050
8051 * loader/i386/bsd.c (openbsd_root): New variable.
8052 (openbsd_opts): New option 'root'.
8053 (OPENBSD_ROOT_ARG): New macro.
8054 (grub_openbsd_boot): Use 'openbsd_root'.
8055 (grub_cmd_openbsd): Fill 'openbsd_root'.
8056
d2b6b7fc 80572009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8058
8059 * NEWS: Misc adjustments.
8060
421bd7ac 80612009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
8064
f1d29d87 80652009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8066
8067 * configure.ac: Bump version to 1.97.
8068
6f3cd880 80692009-10-16 Colin Watson <cjwatson@ubuntu.com>
8070
8071 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
8072 -mno-3dnow on x86 architectures. Some toolchains enable these
8073 features by default, but they rely on registers that aren't enabled
8074 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
8075
035f7122 80762009-10-15 Robert Millan <rmh.grub@aybabtu.com>
8077
8078 Make entry text a bit more readable.
8079
8080 * util/grub.d/10_linux.in: Add `with' before `Linux'.
8081
44998e58 80822009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
8085
cd2851b3 80862009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
8089 operations.
8090
c6f3b249 80912009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8092
8093 * configure.ac: Add missing dollar.
8094
6b5886ba 80952009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8096
8097 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
8098
8099 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
8100 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
8101 exports.
8102 * include/grub/sparc64/libgcc.h: Likewise. Use
8103 preprocessor conditionals.
8104
e9d66f6d 81052009-10-14 Robert Millan <rmh.grub@aybabtu.com>
8106
8107 * conf/common.rmk (grub-dumpbios): Remove rule.
8108 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
8109 * util/grub-dumpbios.in: Remove file.
8110
9155bc17 81112009-10-14 Robert Millan <rmh.grub@aybabtu.com>
8112
8113 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
8114 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
8115
8116 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
8117 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
8118 users.
8119
8120 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
8121 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
8122 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
8123 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
8124 users.
8125
bf7f7a18 81262009-10-12 Robert Millan <rmh.grub@aybabtu.com>
8127
8128 * term/tparm.c: Switch to GPLv3.
8129
86564c26 81302009-10-09 Robert Millan <rmh.grub@aybabtu.com>
8131
8132 * include/grub/i386/cpuid.h: Add header protection.
8133
5c936493 81342009-10-09 Robert Millan <rmh.grub@aybabtu.com>
8135
8136 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
8137
8138 * include/grub/i386/cpuid.h: New file.
8139 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
8140 (has_longmode): Rename to ...
8141 (grub_cpuid_has_longmode): ... this. Update all users. Remove
8142 `static' attribute.
8143 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
8144 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
8145 on a CPU that doesn't implement AMD64 instruction set.
8146
186e7cf2 81472009-10-06 Colin Watson <cjwatson@ubuntu.com>
8148
8149 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
8150 that version.texi is rebuilt on version number changes.
8151
83b65c4a 81522009-10-06 Colin Watson <cjwatson@ubuntu.com>
8153
8154 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
8155 Fixes bug #27602.
8156
d244281c 81572009-10-06 Colin Watson <cjwatson@ubuntu.com>
8158
8159 * util/i386/pc/grub-install.in: Source
8160 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
8161 that the --grub-probe option will work.
8162 * util/sparc64/ieee1275/grub-install.in: Likewise.
8163
da25306d 81642009-10-05 Robert Millan <rmh.grub@aybabtu.com>
8165
8166 * configure.ac: Bump version to 1.97~beta4.
8167
e8ee83c0 81682009-10-03 Robert Millan <rmh.grub@aybabtu.com>
8169
8170 Resync grub-mkdevicemap in x86_64-efi.
8171
8172 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
8173 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
8174 `util/devicemap.c'.
8175
50dcabcf 81762009-10-01 Colin Watson <cjwatson@ubuntu.com>
8177
8178 * util/grub-editenv.c (create_envblk_file): Write new block with a
8179 .new suffix and then rename it into place, to ensure atomic
8180 creation.
8181
0e51c3a7 81822009-09-28 Robert Millan <rmh.grub@aybabtu.com>
8183
8184 Do not automatically install headers.
8185
8186 * Makefile.in (include_DATA): Remove. Update all users.
8187
31299a95 81882009-09-26 Robert Millan <rmh.grub@aybabtu.com>
8189
8190 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
8191 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
8192
8193 * util/osdetect.lua: Remove.
8194 * script/lua/lauxlib.c: Likewise.
8195 * script/lua/ldebug.c: Likewise.
8196 * script/lua/grub_main.c: Likewise.
8197 * script/lua/lauxlib.h: Likewise.
8198 * script/lua/ldebug.h: Likewise.
8199 * script/lua/ltablib.c: Likewise.
8200 * script/lua/liolib.c: Likewise.
8201 * script/lua/lstrlib.c: Likewise.
8202 * script/lua/lualib.h: Likewise.
8203 * script/lua/ldo.c: Likewise.
8204 * script/lua/ldump.c: Likewise.
8205 * script/lua/ldo.h: Likewise.
8206 * script/lua/loslib.c: Likewise.
8207 * script/lua/lundump.c: Likewise.
8208 * script/lua/grub_lib.c: Likewise.
8209 * script/lua/ldblib.c: Likewise.
8210 * script/lua/lundump.h: Likewise.
8211 * script/lua/lmem.c: Likewise.
8212 * script/lua/grub_lib.h: Likewise.
8213 * script/lua/lmathlib.c: Likewise.
8214 * script/lua/lstate.c: Likewise.
8215 * script/lua/ltm.c: Likewise.
8216 * script/lua/lvm.c: Likewise.
8217 * script/lua/lmem.h: Likewise.
8218 * script/lua/lstate.h: Likewise.
8219 * script/lua/ltm.h: Likewise.
8220 * script/lua/ltable.c: Likewise.
8221 * script/lua/lvm.h: Likewise.
8222 * script/lua/llex.c: Likewise.
8223 * script/lua/lgc.c: Likewise.
8224 * script/lua/grub_lua.h: Likewise.
8225 * script/lua/loadlib.c: Likewise.
8226 * script/lua/lfunc.c: Likewise.
8227 * script/lua/lopcodes.c: Likewise.
8228 * script/lua/lparser.c: Likewise.
8229 * script/lua/ltable.h: Likewise.
8230 * script/lua/llex.h: Likewise.
8231 * script/lua/lgc.h: Likewise.
8232 * script/lua/lfunc.h: Likewise.
8233 * script/lua/lbaselib.c: Likewise.
8234 * script/lua/lopcodes.h: Likewise.
8235 * script/lua/lparser.h: Likewise.
8236 * script/lua/lzio.c: Likewise.
8237 * script/lua/linit.c: Likewise.
8238 * script/lua/lobject.c: Likewise.
8239 * script/lua/llimits.h: Likewise.
8240 * script/lua/lstring.c: Likewise.
8241 * script/lua/lzio.h: Likewise.
8242 * script/lua/lapi.c: Likewise.
8243 * script/lua/lcode.c: Likewise.
8244 * script/lua/lua.h: Likewise.
8245 * script/lua/lobject.h: Likewise.
8246 * script/lua/lstring.h: Likewise.
8247 * script/lua/lapi.h: Likewise.
8248 * script/lua/lcode.h: Likewise.
8249 * script/lua/luaconf.h: Likewise.
8250
cb8a2c38 82512009-09-26 Colin Watson <cjwatson@ubuntu.com>
8252
8253 * docs/grub.texi (Command-line and menu entry commands): Document
8254 date and echo commands.
8255
6b9b6276 82562009-09-24 Pavel Roskin <proski@gnu.org>
8257
8258 * include/grub/kernel.h (struct grub_module_header): Remove
8259 `grub_module_header_types'. Make `type' unsigned. Make `size'
8260 32-bit on all platforms.
8261 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
8262 8-bit field. Use grub_host_to_target32() for `size'.
8263 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
8264 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
8265 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
8266
4e5a02a7 82672009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8268
8269 Fix "lost keypress" bug in at_keyboard.
8270
8271 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
8272 Checks for readyness of input buffer (without flushing it).
8273 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
8274 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
8275
c6dcedf6 82762009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8277
8278 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
8279 size check within GRUB_MACHINE_PCBIOS section.
8280
74c958b1 82812009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8282
8283 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
8284 return value.
8285 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
8286 KEYBOARD_ISREADY check.
8287 (grub_at_keyboard_checkkey): Rename to ...
8288 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
8289 Remove gratuitous cast.
8290
ff420223 82912009-09-23 Colin Watson <cjwatson@ubuntu.com>
8292
8293 * configure.ac: Call AC_PROG_MKDIR_P.
8294 * Makefile.in (docs/stamp-vti): Create docs directory. Create
8295 version.texi in $(builddir) rather than $(srcdir).
8296 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
8297 to makeinfo's @include search path.
8298
d96875df 82992009-09-23 Felix Zielcke <fzielcke@z-51.de>
8300
8301 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
8302
9b3f8365 83032009-09-23 Felix Zielcke <fzielcke@z-51.de>
8304
8305 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
8306 for `*.dpkg-new'.
8307
c44c90db 83082009-09-21 Colin Watson <cjwatson@ubuntu.com>
8309
8310 Build info documentation. Some code borrowed from Automake.
8311
8312 * configure.ac: Check for makeinfo.
8313 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
8314 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
8315 docs/version.texi.
8316 (MOSTLYCLEANFILES): Add vti.tmp.
8317 (docs/version.texi, docs/stamp-vti): Update automatically.
8318 (docs/grub.info): Build info documentation. Use --force and ignore
8319 errors for now.
8320 (all-local): Add $(INFOS).
8321 (install-local): Install info files.
8322 (uninstall): Uninstall info files.
8323 * docs/version.texi: Remove from revision control. This file is
8324 automatically generated on build now.
8325 * gendistlist.sh: Add `*.info'.
8326
e0b37bb5 83272009-09-21 Felix Zielcke <fzielcke@z-51.de>
8328
8329 * kern/term.c: Fix indentation.
8330
5a78865b 83312009-09-21 Felix Zielcke <fzielcke@z-51.de>
8332
8333 * util/hostdisk.c: Fix a comment.
8334
dace7e8a 83352009-09-20 Robert Millan <rmh.grub@aybabtu.com>
8336
8337 Fix regression introduced in r2539.
8338
8339 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
8340 to 0xA1.
8341
a83d079b 83422009-09-19 Colin Watson <cjwatson@ubuntu.com>
8343
8344 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 8345 os-prober. Under normal operation, it does not print anything to
8346 stderr; if it does, we need to debug it, and throwing away stderr
8347 makes that excessively difficult.
a83d079b 8348
be94a509 83492009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
8350
8351 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
8352
63f745e8 83532009-09-16 Robert Millan <rmh.grub@aybabtu.com>
8354
8355 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
8356 AC_LANG_PROGRAM from autoconf.
8357 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
8358 prototypes (fixes warning).
8359
8360 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
8361 `--disable-werror' was used.
8362
bbb2a70f 83632009-09-16 Robert Millan <rmh.grub@aybabtu.com>
8364
8365 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
8366 uninitialized `lastaddr'.
8367
77c24f1d 83682009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8369
0f0b8c87 8370 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 8371
07197f23 83722009-09-14 Colin Watson <cjwatson@ubuntu.com>
8373
8374 * commands/test.c (get_fileinfo): Return immediately if
8375 grub_fs_probe fails.
8376
dabf1798 83772009-09-14 José Martínez <xosemp@gmail.com>
8378
8379 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
8380
d52109a7 83812009-09-14 Colin Watson <cjwatson@ubuntu.com>
8382
8383 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
8384 output.
8385
56532179 83862009-09-13 Robert Millan <rmh.grub@aybabtu.com>
8387
8388 * configure.ac: Remove --enable-grub-pe2elf. Only build
8389 grub-pe2elf when needed by the build system itself.
8390 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
8391
8ef070f5 83922009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8393
8394 * configure.ac: Bump version to 1.97~beta3.
8395 * docs/version.texi: Likewise.
8396
61229557 83972009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8398
8399 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
8400 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
8401 from here ...
8402 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
8403 (grub_linux_setup_video): ... to here (with some adjustments).
8404
5c9f8d84 84052009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8406
8407 Fix memory corruption issue (spotted by Colin Watson).
8408
8409 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
8410 causing returned size to be stored in an incorrect memory location.
8411 Fix use of uninitialized value when storing the returned size.
8412
e8f5d6e9 84132009-09-12 Yves Blusseau <blusseau@zetam.org>
8414
8415 Change clean rules to properly remove files
8416
8417 * genmk.rb: add new clean rules
8418 * Makefile.in (clean): add the new targets
8419 (mostlyclean): likewise
8420
cda2a409 84212009-09-11 Colin Watson <cjwatson@ubuntu.com>
8422
8423 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
8424 to grub_uint64_t.
8425 * fs/ntfs.c (init_file): Understand 64-bit sizes for
8426 non-resident files.
8427
86695375 84282009-09-11 Colin Watson <cjwatson@ubuntu.com>
8429
8430 * configure.ac: Don't look for help2man when cross-compiling. Fixes
8431 part of bug #27349.
8432
8aa1541a 84332009-09-10 Felix Zielcke <fzielcke@z-51.de>
8434
8435 * util/grub-mkconfig.in: Make the created config mode 400 and
8436 print a warning if it fails.
8437
48d9bb0a 84382009-09-10 Robert Millan <rmh.grub@aybabtu.com>
8439
8440 * util/grub.d/40_custom.in: Ask user to type custom entries below
8441 comment, rather than below 'exec tail' line.
8442
3b0521be 84432009-09-10 Colin Watson <cjwatson@ubuntu.com>
8444
8445 * util/grub.d/40_custom.in: Make sure that the explanatory text is
8446 visible in grub.cfg.
8447
50051d55 84482009-09-10 Colin Watson <cjwatson@ubuntu.com>
8449
8450 * util/grub.d/40_custom.in: Make it a little clearer how to use this
8451 file.
8452
c0d34387 84532009-09-10 Felix Zielcke <fzielcke@z-51.de>
8454
8455 * docs/grub.cfg: Add an example menu entry for memtest86+.
8456
80a608f3 84572009-09-09 Felix Zielcke <fzielcke@z-51.de>
8458
a2094832 8459 * config.guess: Update to latest version from config git.
80a608f3 8460 * config.sub: Likewise.
8461
99423078 84622009-09-08 Colin Watson <cjwatson@ubuntu.com>
8463
8464 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
8465 unknown-command case. Fixes bug #27320.
8466
44454e4c 84672009-09-08 Felix Zielcke <fzielcke@z-51.de>
8468
8469 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
8470 `help' if the command exists.
8471
e30d87ad 84722009-09-06 Robert Millan <rmh.grub@aybabtu.com>
8473
8474 * INSTALL: Require GCC 4.1.3 or later.
8475
9a86f1ec 84762009-09-06 Yves Blusseau <blusseau@zetam.org>
8477
8478 * Makefile.in (RMKFILES): add i386-qemu.rmk
8479 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
8480 $(srcdir)/stamp-h.in
8481
7f26d466 84822009-09-05 Robert Millan <rmh.grub@aybabtu.com>
8483
8484 * util/grub-probe.c (probe): Comment out buggy codepath, which
8485 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
8486 should be re-enabled after 1.97.
8487
3a613259 84882009-09-05 Felix Zielcke <fzielcke@z-51.de>
8489
8490 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
8491 find searches for.
8492
197f76c7 84932009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
8494
8495 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
8496 unnecessary calls to grub_error.
8497
70ba68ce 84982009-09-04 Colin Watson <cjwatson@ubuntu.com>
8499
8500 * NEWS: Mention `keystatus' and Unicode fonts.
8501
4ff0d7a4 85022009-09-04 Robert Millan <rmh.grub@aybabtu.com>
8503
8504 * configure.ac: Bump version to 1.97~beta2.
8505 * docs/version.texi: Likewise.
8506
77c55a87 85072009-09-03 Colin Watson <cjwatson@ubuntu.com>
8508
8509 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
8510 containing unwind information in some cases where it previously did
8511 not. Use -fno-dwarf2-cfi-asm if available to restore the old
8512 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
8513 discussion.
8514
f79572cd 85152009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
8516
8517 Embedding loadenv module into grub-emu
8518
8519 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
8520 commands/loadenv.c
8521 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
8522 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
8523 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
8524 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
8525 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
8526 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
8527
93a81088 85282009-09-03 Magnus Granberg <zorry@ume.nu>
8529
8530 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
8531 include -fPIE in the default specs.
8532 * configure.ac: Check if pie_possible is yes and add -fno-PIE
8533 to TARGET_CFLAGS.
8534
160034b2 85352009-09-03 Felix Zielcke <fzielcke@z-51.de>
8536
8537 * INSTALL: Note that GNU Bison 2.3 or later is required.
8538
087c07c4 85392009-09-03 Colin Watson <cjwatson@ubuntu.com>
8540
8541 * kern/i386/pc/startup.S: Fix typo.
8542
cbf978c0 85432009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
8546 according to GCS.
8547
85482009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 8549
8550 * docs/grub.texi (Naming convention): Describe one-based partition
8551 numbering.
8552 (Device syntax): Likewise.
8553 (File name syntax): Likewise.
8554 (Block list syntax): Likewise.
8555 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
8556 menu.lst.
8557 (File name syntax): Likewise.
8558 (Command-line and menu entry commands): Document acpi, blocklist,
8559 crc, export, insmod, keystatus, ls, set, and unset commands.
8560
f3e8cdfd 85612009-09-02 Colin Watson <cjwatson@ubuntu.com>
8562
8563 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
8564 to avoid implying that only one of --shift, --ctrl, or --alt may be
8565 used.
8566
c0bc232b 85672009-09-02 Colin Watson <cjwatson@ubuntu.com>
8568
8569 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
8570 rather than comparing against S_IFREG, which will almost never work.
8571
aa0f752d 85722009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
8573
8574 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
8575 (write_blocklists): Likewise.
8576
ecb3166a 85772009-09-01 Colin Watson <cjwatson@ubuntu.com>
8578
8579 * script/lua/grub_lua.h (fputs): Supply a format string as the first
8580 argument to grub_printf.
8581
c403a125 85822009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 8583
8584 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 8585 non GNU test.
31aba781 8586
b5e7312c 85872009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 * kern/file.c (grub_file_read): Spelling fix
8590
fe00f472 85912009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8592
8593 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
8594 loading of headers in some cases.
8595
cc55302e 85962009-08-30 Robert Millan <rmh.grub@aybabtu.com>
8597
8598 * configure.ac: Bump version to 1.97~beta1.
8599 * docs/version.texi: Likewise.
8600
5c90cdd2 86012009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 8602
8603 * include/grub/i386/xnu.h: Add license header.
8604 include grub/err.h explicitly.
8605
c90edae4 86062009-08-29 Robert Millan <rmh.grub@aybabtu.com>
8607
8608 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
8609 to `ufs' in the vfs.root.mountfrom kernel parameter.
8610
d8888b5c 86112009-08-29 Robert Millan <rmh.grub@aybabtu.com>
8612
8613 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
8614
8615 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
8616 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
8617
8618 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
8619 `ARRAY_SIZE' macro.
8620
6f07b921 86212009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 * kern/file.c (grub_file_read): Check offset.
8624 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
8625 * fs/jfs.c (grub_jfs_read_file): Likewise.
8626 * fs/ntfs.c (grub_ntfs_read): Likewise.
8627 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
8628 * fs/minix.c (grub_minix_read_file): Correct offset check.
8629 * fs/ufs.c (grub_ufs_read_file): Likewise.
8630
b4f34077 86312009-08-28 Colin Watson <cjwatson@ubuntu.com>
8632
8633 * term/i386/pc/console.c (bios_data_area): Cast
8634 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
8635
e7c69859 86362009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 1-bit optimised blitters.
8639
8640 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
8641 prototype.
8642 (grub_video_fbblit_replace_24bit_1bit): Likewise.
8643 (grub_video_fbblit_replace_16bit_1bit): Likewise.
8644 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8645 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
8646 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
8647 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
8648 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
8649 function.
8650 (grub_video_fbblit_replace_24bit_1bit): Likewise.
8651 (grub_video_fbblit_replace_16bit_1bit): Likewise.
8652 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8653 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
8654 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
8655 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
8656 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
8657 when possible.
8658 * video/video.c (grub_video_get_blit_format): Return
8659 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
8660
a57da43f 86612009-08-28 Colin Watson <cjwatson@ubuntu.com>
8662
8663 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
8664 the first argument to grub_printf.
8665
4cbe67e5 86662009-08-28 Colin Watson <cjwatson@ubuntu.com>
86672009-08-28 Robert Millan <rmh.grub@aybabtu.com>
8668
8669 Add `getkeystatus' terminal method. Add a new `keystatus' command
8670 to query it.
8671
8672 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
8673 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
8674 modifier key bitmasks.
8675 (struct grub_term_input): Add `getkeystatus' member.
8676 (grub_getkeystatus): Add prototype.
8677 * kern/term.c (grub_getkeystatus): New function.
8678
8679 * include/grub/i386/pc/memory.h
8680 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
8681 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
8682 Data Area layout.
8683 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
8684 (grub_console_term_input): Set `getkeystatus' member.
8685 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
8686 constants.
8687 (grub_usb_keyboard_getreport): Likewise.
8688 (grub_usb_keyboard_checkkey): Likewise.
8689 (grub_usb_keyboard_getkeystatus): New function.
8690 (grub_usb_keyboard_term): Set `getkeystatus' member.
8691
8692 * commands/keystatus.c: New file.
8693 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
8694 (keystatus_mod_SOURCES): New variable.
8695 (keystatus_mod_CFLAGS): Likewise.
8696 (keystatus_mod_LDFLAGS): Likewise.
8697 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
8698 commands/keystatus.c.
8699 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8700 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8701 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8702 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8703 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8704 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 8705
6e2a9085 87062009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 Split befs.mod and afs.mod into *_be.mod and *.mod
8709
8710 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
8711 (grub_fstest_SOURCES): Likewise.
8712 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
8713 (afs_be_mod_SOURCES): New variable.
8714 (afs_be_mod_CFLAGS): Likewise.
8715 (afs_be_mod_LDFLAGS): Likewise.
8716 (befs_be_mod_SOURCES): Likewise.
8717 (befs_be_mod_CFLAGS): Likewise.
8718 (befs_be_mod_LDFLAGS): Likewise.
8719 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
8720 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8721 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8722 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8723 (grub_emu_SOURCES): Likewise.
8724 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8725 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8726 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8727 * fs/afs_be.c: New file.
8728 * fs/befs_be.c: New file.
8729 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
8730 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
8731 (U16): Replaced with ...
8732 (grub_afs_to_cpu16): ...this. All users updated.
8733 (U32): Replaced with ...
8734 (grub_afs_to_cpu32): ...this. All users updated.
8735 (U64): Replaced with ...
8736 (grub_afs_to_cpu64): ...this. All users updated.
8737 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
8738 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 8739 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 8740 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
8741 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
8742 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
8743 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
8744 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
8745 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
8746 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
8747 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
8748
32a71655 87492009-08-26 Bean <bean123ch@gmail.com>
8750
8751 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
8752 64-bit number.
8753 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
8754 (grub_xfs_inode_block): Change return type to grub_uint64_t.
8755 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
8756
552bf6c5 87572009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 NetBSD memory map support.
8760
8761 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
8762 (grub_netbsd_btinfo_mmap_header): New structure.
8763 (grub_netbsd_btinfo_mmap_entry): Likewise.
8764 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
8765
1ae2078c 87662009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8767
8768 Enable bsd.mod on coreboot.
8769
8770 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
8771 (bsd_mod_SOURCES): New variable.
8772 (bsd_mod_CFLAGS): Likewise.
8773 (bsd_mod_LDFLAGS): Likewise.
8774 (bsd_mod_ASFLAGS): Likewise.
8775 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
8776 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
8777
beefc598 87782009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 Cleanup NetBSD root support.
8781
8782 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
8783 grub_bsd_get_device.
8784 Fix typo.
8785
3b76e68b 87862009-08-25 Felix Zielcke <fzielcke@z-51.de>
8787
8788 * util/grub.d/00_header.in: Move check for the video backend of
8789 gfxterm from here ...
8790 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
8791 a suitable video backend.
8792
aea664ea 87932009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 Fix breakage in grub-setup.
8796
8797 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
8798 "msdos_partition_map".
8799
ff747d50 88002009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8801
8802 Fix breakage in normal/auth.c.
8803
8804 * normal/auth.c (grub_iswordseparator): New function.
8805
e7e1f93f 88062009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8807
8808 Authentication support.
8809
8810 * commands/password.c: New file.
8811 * conf/common.rmk (pkglib_MODULES): Add password.mod.
8812 (password_mod_SOURCES): New variable.
8813 (password_mod_CFLAGS): Likewise.
8814 (password_mod_LDFLAGS): Likewise.
8815 (normal_mod_SOURCES): Add normal/auth.c.
8816 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
8817 normal/auth.c.
8818 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8819 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8820 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8822 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8823 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8824 * include/grub/auth.h: New file.
8825 * include/grub/err.h (grub_err_t): New enum value
8826 GRUB_ERR_ACCESS_DENIED.
8827 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
8828 'users'.
8829 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
8830 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
8831 users updated.
8832 * normal/auth.c: New file.
8833 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
8834 (grub_cmdline_run): Don't allow to go to command line without
8835 authentication.
8836 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
8837 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
8838 menuentry without superuser rights.
8839 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
8840 user isn't a superuser.
8841
70f1161d 88422009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8843
8844 Save space by inlining misc.c functions.
8845
8846 * kern/misc.c (grub_iswordseparator): Made static.
8847 * kern/misc.c (grub_strcat): Moved from here ...
8848 * include/grub/misc.h (grub_strcat): ... here. Inlined.
8849 * kern/misc.c (grub_strncat): Moved from here ...
8850 * include/grub/misc.h (grub_strncat): ... here. Inlined.
8851 * kern/misc.c (grub_strcasecmp): Moved from here ...
8852 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
8853 * kern/misc.c (grub_strncasecmp): Moved from here ...
8854 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
8855 * kern/misc.c (grub_isalpha): Moved from here ...
8856 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
8857 * kern/misc.c (grub_isdigit): Moved from here ...
8858 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
8859 * kern/misc.c (grub_isgraph): Moved from here ...
8860 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
8861 * kern/misc.c (grub_tolower): Moved from here ...
8862 * include/grub/misc.h (grub_tolower): ... here. Inlined.
8863
48e40bff 88642009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * script/sh/function.c (grub_script_function_find): Cut error message
8867 not to flood terminal.
8868 * script/sh/lexer.c (grub_script_yylex): Remove command line length
8869 limit.
8870 * script/sh/script.c (grub_script_arg_add): Duplicate string.
8871
c385bfc3 88722009-08-24 Colin Watson <cjwatson@ubuntu.com>
8873
8874 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
8875 `report' grub_uint8_t *.
8876 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
8877 Use a 50-millisecond timeout rather than just repeating
8878 grub_usb_keyboard_getreport 50 times.
8879 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
8880
2d21e3e8 88812009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 Rename *_partition_map to part_*
8884
8885 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
8886 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
8887 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
8888 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
8889 All users updated.
8890 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
8891 All users updated.
8892 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
8893 * util/grub-probe.c (probe_partmap): Don't transform partition name
8894 to get module name.
8895
dd103c4e 88962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 Fix OpenBSD and NetBSD support.
8899
8900 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
8901 memory address conflict.
8902 (OPENBSD_MMAP_ACPI): New definition.
8903 (OPENBSD_MMAP_NVS): Likewise.
8904 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
8905 and OPENBSD_MMAP_NVS.
8906 Add memory map terminator
8907 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 8908 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 8909
16c84d74 89102009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8911
8912 Let user specify NetBSD root device.
8913
8914 * loader/i386/bsd.c (netbsd_root): New variable.
8915 (netbsd_opts): New option 'root'.
8916 (NETBSD_ROOT_ARG): New macro.
8917 (grub_netbsd_boot): Use 'netbsd_root'.
8918 (grub_bsd_unload): Free 'netbsd_root'.
8919 (grub_cmd_netbsd): Fill 'netbsd_root'.
8920
adb29902 89212009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 Support for 64-bit NetBSD.
8924
8925 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
8926 point when booting non-FreeBSD.
8927
f5ae9f74 89282009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8929
8930 Support --no-smp and --no-acpi for NetBSD.
8931
8932 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
8933 (NETBSD_AB_NOACPI): Likewise.
8934 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
8935 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
8936
de74f136 89372009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
8940 errors.
8941 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
8942 errors. Call grub_error when needed.
8943
e9a925da 89442009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8945
8946 * commands/search.c (search_fs): Try searching without autoload first.
8947 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8948 filesystem module explicitly for faster booting.
8949
5174302b 89502009-08-23 Colin Watson <cjwatson@ubuntu.com>
8951
8952 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
8953
c8c80635 89542009-08-23 Colin Watson <cjwatson@ubuntu.com>
8955
8956 * util/grub.d/30_os-prober.in: Disable os-prober if
8957 `GRUB_DISABLE_OS_PROBER' was set to true.
8958
71acf5e5 89592009-08-23 Robert Millan <rmh.grub@aybabtu.com>
8960
8961 * partmap/pc.c: Rename to ...
8962 * partmap/msdos.c: ... this. Update all users.
8963 (grub_pc_partition_map): Rename to ...
8964 (grub_msdos_partition_map): ... this. Update all users.
8965
8966 * parttool/pcpart.c: Rename to ...
8967 * parttool/msdospart.c: ... this. Update all users.
8968
8969 * include/grub/pc_partition.h: Rename to ...
8970 * include/grub/msdos_partition.h: ... this. Update all users.
8971 (grub_pc_partition_bsd_entry): Rename to ...
8972 (grub_msdos_partition_bsd_entry): ... this. Update all users.
8973 (grub_pc_partition_disk_label): Rename to ...
8974 (grub_msdos_partition_disk_label): ... this. Update all users.
8975 (grub_pc_partition_entry): Rename to ...
8976 (grub_msdos_partition_entry): ... this. Update all users.
8977 (grub_pc_partition_mbr): Rename to ...
8978 (grub_msdos_partition_mbr): ... this. Update all users.
8979 (grub_pc_partition): Rename to ...
8980 (grub_msdos_partition): ... this. Update all users.
8981 (grub_pc_partition_is_empty): Rename to ...
8982 (grub_msdos_partition_is_empty): ... this. Update all users.
8983 (grub_pc_partition_is_extended): Rename to ...
8984 (grub_msdos_partition_is_extended): ... this. Update all users.
8985 (grub_pc_partition_is_bsd): Rename to ...
8986 (grub_msdos_partition_is_bsd): ... this. Update all users.
8987
8988 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
8989 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
8990 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
8991 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
8992 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
8993 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
8994 (gpt_mod_LDFLAGS): Rename to ...
8995 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
8996 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
8997 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
8998 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
8999 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
9000 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
9001 (part_gpt_mod_LDFLAGS): ... this.
9002 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
9003 `pcpart.mod' to `msdospart.mod'.
9004 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
9005 to ...
9006 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
9007 (msdospart_mod_LDFLAGS): ... this.
9008
c11fded5 90092009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9010
9011 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
9012 (openbsd_opts): Likewise.
9013 (netbsd_opts): Likewise.
9014 (freebsd_flags): Added 0 terminator.
9015 (openbsd_flags): Likewise.
9016 (netbsd_flags): Likewise.
9017 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
9018 (grub_cmd_freebsd): Transformed into extended command.
9019 (grub_cmd_openbsd): Likewise.
9020 (grub_cmd_netbsd): Likewise.
9021 (cmd_freebsd): Changed type to grub_extcmd_t.
9022 (cmd_openbsd): Likewise.
9023 (cmd_netbsd): Likewise.
9024 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
9025 grub_cmd_openbsd as extended commands.
9026 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
9027 cmd_netbsd and cmd_openbsd
9028
11d1c769 90292009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
9032
7a9094e5 90332009-08-21 Pavel Roskin <proski@gnu.org>
9034
5496c37e 9035 * Makefile.in (install-local): When checking if a file is in the
9036 build directory, use "test -e" to detect symlinks.
9037
7a9094e5 9038 * Makefile.in (install-local): Remove all files in
9039 $(DESTDIR)$(pkglibdir) before installing new files there.
9040
e53cea11 90412009-08-18 Felix Zielcke <fzielcke@z-51.de>
9042
9043 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
9044 grub-mkelfimage.
9045
9aced544 90462009-08-18 Felix Zielcke <fzielcke@z-51.de>
9047
9048 * util/grub-mkconfig.in: Don't use gfxterm by default if not
9049 explicitly specified by the user.
9050
b7da6bab 90512009-08-18 Pavel Roskin <proski@gnu.org>
9052
9053 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
9054 grub_uint8_t pointer for data.
9055 * include/grub/fbutil.h (struct grub_video_fbblit_info):
9056 Likewise.
9057 * video/fb/fbutil.c: Remove unnecessary casts.
9058
19f1b335 90592009-08-17 Michal Suchanek <hramrach@centrum.cz>
9060
9061 VBE cleanup.
9062
9063 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
9064 (grub_vbe_set_video_mode): Save active mode info
9065 only after setting the mode.
9066 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
9067 second argument.
9068
2f467aa9 90692009-08-17 Michal Suchanek <hramrach@centrum.cz>
9070
9071 Rename variables for clarity.
9072
9073 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
9074 (active_vbe_mode_info): ... this. All users updated.
9075 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
9076 All users updated.
9077 (initial_mode): Rename to ...
9078 (initial_vbe_mode): ... this. All users updated.
9079 (mode_in_use): Rename to ..
9080 (vbe_mode_in_use): ... this. All users updated.
9081 (mode_list): Rename to ..
9082 (vbe_mode_list): ... this. All users updated.
9083 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
9084 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
9085 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
9086 'mode_list_size' to 'vbe_mode_list_size'.
9087 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
9088 'best_mode_info' to 'best_vbe_mode_info' and
9089 'best_mode' to 'best_vbe_mode'
9090
6025fcd7 90912009-08-17 Michal Suchanek <hramrach@centrum.cz>
9092
9093 Remove duplicate grub_video_fb_get_video_ptr.
9094
9095 * include/grub/fbutil.h (get_data_ptr): Rename to ...
9096 (grub_video_fb_get_video_ptr): ... this.
9097 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
9098 * video/fb/fbutil.c: Add comment about addressing.
9099 (get_data_ptr): Rename to ...
9100 (grub_video_fb_get_video_ptr): ... this. All users updated.
9101 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
9102
cc8c6faf 91032009-08-17 Robert Millan <rmh.grub@aybabtu.com>
9104
9105 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
9106 grub_dprintf() that was just added.
9107
08aa61f0 91082009-08-17 Robert Millan <rmh.grub@aybabtu.com>
9109
9110 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
9111 (DEFAULT_VIDEO_MODE): Remove macros.
9112 (grub_linux_boot): Remove assumption that Linux has FB support,
9113 and use "text" as default video mode.
9114
7cef4f75 91152009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
9118 grub_dprintf.
9119 * fs/fat.c (grub_fat_read_data): Likewise.
9120
e1f39873 91212009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9122
9123 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
9124 payload.
9125 (grub_module): Likewise.
9126
c166d79e 91272009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9128
9129 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
9130 mbi->cmdline but free playground.
9131
c60cee8e 91322009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 Handle group offset on UFS1.
9135
9136 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
9137 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
9138
c0d8b5d4 91392009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9140
9141 Split ufs.mod into ufs1.mod and ufs2.mod.
9142
9143 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
9144 (grub_fstest_SOURCES): Likewise.
9145 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
9146 (ufs_mod_SOURCES): Remove.
9147 (ufs_mod_CFLAGS): Likewise.
9148 (ufs_mod_LDFLAGS): Likewise.
9149 (ufs1_mod_SOURCES): New variable.
9150 (ufs1_mod_CFLAGS): Likewise.
9151 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 9152 (ufs2_mod_SOURCES): New variable.
9153 (ufs2_mod_CFLAGS): Likewise.
9154 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 9155 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
9156 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
9157 Likewise.
9158 (grub_emu_SOURCES): Likewise.
9159 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9160 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9161 (grub_setup_SOURCES): Likewise.
9162 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9163 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
9164 (grub_setup_SOURCES): Likewise.
9165 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
9166 Likewise.
9167 * fs/ufs2.c: New file.
9168 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
9169
d3539132 91702009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9171
9172 Framebuffer split.
9173
9174 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
9175 subsystem at the end.
9176 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
9177 (video_fb_mod_SOURCES): New variable.
9178 (video_fb_mod_CFLAGS): Likewise.
9179 (video_fb_mod_LDFLAGS): Likewise.
9180 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
9181 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
9182 * video/i386/pc/vbeblit.c: Moved from here ...
9183 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
9184 * video/i386/pc/vbefill.c: Moved from here ...
9185 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
9186 * video/i386/pc/vbeutil.c: Moved from here ...
9187 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
9188 * include/grub/i386/pc/vbeblit.h: Moved from here ...
9189 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
9190 * include/grub/i386/pc/vbefill.h: Moved from here ...
9191 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
9192 * include/grub/i386/pc/vbeutil.h: Moved from here ...
9193 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
9194 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
9195 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
9196 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
9197 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
9198 (grub_video_adapter): Added 'get_info_and_fini'.
9199 (grub_video_get_info_and_fini): New prototype.
9200 (grub_video_set_mode): make modestring const char *.
9201 * loader/i386/linux.c (grub_linux_setup_video): Use
9202 grub_video_get_info_and_fini.
9203 (grub_linux_boot): Move modesetting just before booting.
9204 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
9205 grub_video_get_info_and_fini.
9206 * video/i386/pc/vbe.c: Moved framebuffer part ...
9207 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
9208 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
9209 grub_video_fbstd_colors and grub_video_fb_set_palette.
9210 (grub_video_vbe_init): Clear 'framebuffer' variable and use
9211 grub_video_fb_init.
9212 (grub_video_vbe_fini): Use grub_video_fb_fini.
9213 (grub_video_vbe_setup): Use framebuffer.render_target instead of
9214 render_target and use grub_video_fb_set_active_render_target and
9215 grub_video_fb_set_palette.
9216 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
9217 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
9218 (grub_video_vbe_adapter): Use framebuffer.
9219 * video/video.c (grub_video_get_info_and_fini): New function.
9220 (grub_video_set_mode): Make modestring const char *.
9221 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
9222 values are already initialised.
9223
d404ee56 92242009-08-14 Pavel Roskin <proski@gnu.org>
9225
9226 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
9227 ABS and APPLE_CC.
9228 * boot/i386/pc/diskboot.S: Likewise.
9229 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
9230 sectors allow compilation on MacOSX.
9231 * conf/i386-pc.rmk: Enable unconditional compilation of
9232 lnxboot.img.
9233
9a10df16 92342009-08-13 Colin Watson <cjwatson@ubuntu.com>
9235
9236 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
9237 * util/grub.d/00_header.in: Enter interruptible sleep if
9238 GRUB_HIDDEN_TIMEOUT is set.
9239
be3c9ca7 92402009-08-13 Yves Blusseau <blusseau@zetam.org>
9241
9242 * include/grub/symbol.h: Add the LOCAL macro.
9243 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
9244 starting with "L_".
9245
1f9e557e 92462009-08-13 Pavel Roskin <proski@gnu.org>
9247
9ca62843 9248 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
9249 any modern compilers we support.
9250
1f9e557e 9251 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
9252 Use local labels starting with "L_" so that Apple assembler
9253 knows they are local.
9254
81623db6 92552009-08-10 Robert Millan <rmh.grub@aybabtu.com>
9256
9257 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
9258 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
9259 (bsd_kernel_types): ... this enum.
9260
9261 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
9262 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
9263 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
9264
9265 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
9266 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
9267 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
9268 messages.
9269
f5d35e7a 92702009-08-08 Robert Millan <rmh.grub@aybabtu.com>
9271
9272 * util/grub-dumpdevtree: Moved from here ...
9273 * util/i386/efi/grub-dumpdevtree: ... to here.
9274 (hexify): New function. Converts a string to its hex version.
9275 Generate hex versions of "efi" and "device-properties" by calling
9276 hexify() on the ASCII strings rather than by hardcoding numbers.
9277
d1e1d527 92782009-08-08 Robert Millan <rmh.grub@aybabtu.com>
9279
9280 * fs/jfs.c: Update copyright year.
9281
1ebbe064 92822009-08-08 Felix Zielcke <fzielcke@z-51.de>
9283
9284 * util/grub.d/00_header.in: Fix a comment.
9285 * util/grub.d/10_linux.in: Likewise.
9286 * util/grub.d/10_windows.in: Likewise.
9287 * util/grub.d/10_hurd.in: Likewise.
9288
a78c8d24 92892009-08-08 Felix Zielcke <fzielcke@z-51.de>
9290
9291 * util/grub-mkconfig.in: Allow the user to specify the used font
9292 with GRUB_FONT.
9293
29a6b9e8 92942009-08-08 Pavel Roskin <proski@gnu.org>
9295
b5f16cc4 9296 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
9297 available, xfs.mod needs it now.
9298
2f5cb827 9299 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
9300 the "g" modifier in sed when the intention is to strip something
9301 once. This fixes comparison of kernels with multiple dashes.
9302
29a6b9e8 9303 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
9304 on it. Add missing space before closing bracket. Fix
9305 misleading formatting.
9306
892a3d98 93072009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9308
9309 * docs/grub.texi: Major overhaul. Remove all sections that are
9310 specific to GRUB Legacy, or mostly composed of Legacy-specific
9311 information.
9312
ed94253f 93132009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9314
9315 * docs/version.texi: New file. Provides version information for
9316 grub.texi.
9317
126d6628 93182009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9319
9320 * docs/grub.texi: Update CVS information to SVN.
9321 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
9322
998b5aa9 93232009-08-07 Felix Zielcke <fzielcke@z-51.de>
9324
9325 * util/grub-mkconfig.in: Remove a wrong `fi'.
9326
818e094a 93272009-08-07 Felix Zielcke <fzielcke@z-51.de>
9328
9329 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
9330 (grub_jfs_uuid): New function.
9331 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
9332
b969c52f 93332009-08-07 Felix Zielcke <fzielcke@z-51.de>
9334
9335 * util/grub-mkconfig_lib.in (font_path): Move the functionality
9336 of it to ...
9337 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
9338 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
9339
7a4894cc 93402009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9341
9342 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
9343 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
9344 Update all users.
9345
9346 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
9347 not just "vmlinu[zx]".
9348 Moved from here ...
9349 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
9350 all users.
9351
9352 * util/grub.d/10_linux.in (find_latest): Moved from here ...
9353 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
9354 all users.
9355
4e2171f8 93562009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9357
9358 * util/grub.d/10_freebsd.in: Use an absolute device path for
9359 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
9360
6dcfcb32 93612009-08-06 Felix Zielcke <fzielcke@z-51.de>
9362
9363 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
9364 handling of multiple abstraction modules.
9365
f56a8756 93662009-08-04 Robert Millan <rmh.grub@aybabtu.com>
9367
9368 Fix a bug resulting in black screen when loading Linux using a
9369 packed video mode.
9370
9371 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
9372 function.
9373
9374 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
9375 (grub_vbe_bios_getset_dac_palette_width): New function.
9376 (grub_vbe_bios_get_dac_palette_width)
9377 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
9378 grub_vbe_bios_getset_dac_palette_width()).
9379
9380 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
9381 check for return status.
9382 (grub_vbe_get_video_mode_info): When getting information for a packed
9383 mode (<= 8 bpp), obtain DAC palette width using
9384 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
9385 {red,green,blue}_mark_size.
9386
222671b2 93872009-08-04 Felix Zielcke <fzielcke@z-51.de>
9388
ecb1a6d9 9389 * commands/search.c (options): Fix help output to match actual code.
222671b2 9390
f84114f5 93912009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
9394 of homegrown code.
9395
bd288a20 93962009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 9397
9398 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
9399 on XFS or ReiserFS.
9400
8aab5e25 94012009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9402
9403 Support Apple partition map with sector size different from 512 bytes.
9404
9405 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
9406 (apple_partition_map_iterate): Respect 'aheader.blocksize'
9407 and 'apart.partmap_size'.
9408
6ad6258a 94092009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
94102009-08-01 Robert Millan <rmh.grub@aybabtu.com>
9411
9412 Fix cpuid command.
9413
9414 * commands/i386/cpuid.c (options): New variable.
9415 (grub_cmd_cpuid): Return real error.
9416 (GRUB_MOD_INIT(cpuid)): Declare options.
9417
67459bc6 94182009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
9421 valid.
9422
fbc6ab54 94232009-07-31 Bean <bean123ch@gmail.com>
9424
9425 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
9426 log2_inode.
9427 (grub_fshelp_node): Move inode field to the end.
9428 (grub_xfs_data): Remove inode field.
9429 (grub_xfs_inode_block): Calculate inode size using sblock.
9430 (grub_xfs_inode_offset): Likewise.
9431 (grub_xfs_read_inode): Calculate inode size using sblock.
9432 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
9433 (grub_xfs_iterate_dir): Calculate inode size using sblock.
9434 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
9435 to match inode size.
9436 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
9437 not accessible when data is null.
9438 (grub_xfs_open): Likewise.
9439
f45d6cfc 94402009-07-31 Bean <bean123ch@gmail.com>
9441
9442 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
9443 Don't change pv->disk if it's already set.
9444
9445 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
9446 (grub_raid_register): ... here.
9447 (grub_raid_rescan): Removed.
9448
9449 * include/grub/raid.h (grub_raid_rescan): Removed.
9450
9451 * util/grub-fstest.c: Remove include file <grub/raid.h>.
9452 (fstest): Replace grub_raid_rescan with module fini function followed
9453 by init function.
9454
9455 * util/grub-probe.c: Add include file <grub/raid.h>.
9456 (probe_raid_level): New function.
9457 (probe): Detect abstraction by walking the disk device, support two
9458 level of abstraction (LVM on RAID) when detecting partition map.
9459
24443b5a 94602009-07-31 Pavel Roskin <proski@gnu.org>
9461
9462 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
9463 to grub_zalloc(), it was erroneous.
9464 Reported by Bean <bean123ch@gmail.com>
9465
a275d9e7 94662009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 9469 embedding zone, not only the first one.
a275d9e7 9470
56c5a47f 94712009-07-29 Joe Auricchio <jauricchio@gmail.com>
9472
9473 * term/gfxterm.c (clear_char): New function.
9474 (grub_virtual_screen_setup): Use clear_char.
9475 (scroll_up): Likewise.
9476 (grub_virtual_screen_cls): Likewise.
9477
67bb323a 94782009-07-29 Felix Zielcke <fzielcke@z-51.de>
9479
9480 * util/deviceiter.c (get_acceleraid_disk_name): New static
9481 function.
9482 (grub_util_iterate_devices): Handle Accelraid devices.
9483 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
9484
388a7c75 94852009-07-28 Robert Millan <rmh.grub@aybabtu.com>
9486
9487 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
9488 separator for the suggested gfxpayload string (';' collides with the
9489 parser and needs escaping).
9490
3bb7abcf 94912009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
9492
9493 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
9494 Clear direction flag before jumping to OS.
9495 (grub_multiboot2_real_boot): Likewise.
9496
2ddd36d7 94972009-07-28 Felix Zielcke <fzielcke@z-51.de>
9498
9499 * util/i386/pc/grub-install: Fix parsing of --disk-module
9500 option.
9501
c521b62b 95022009-07-28 Felix Zielcke <fzielcke@z-51.de>
9503
9504 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
9505 when embedding.
9506
880e0a0c 95072009-07-26 Felix Zielcke <fzielcke@z-51.de>
9508
9509 * util/grub-mkconfig.in (package_version): New variable.
9510 Use it do display the version.
9511
2366e356 95122009-07-25 Felix Zielcke <fzielcke@z-51.de>
9513
9514 * kern/file.c (grub_file_open): Revert to previous check with
9515 grub_errno.
9516
7ad8c80e 95172009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
9520 from help line. It's out of sync with code.
9521
72b9658b 95222009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
9525 entries on failed boot.
9526
77435277 95272009-07-25 Felix Zielcke <fzielcke@z-51.de>
9528
9529 * kern/file.c (grub_file_open): Fix an error check.
9530
fcaa8b21 95312009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
9532
35d16c74 9533 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
9534 partition map couldn't be identified.
fcaa8b21 9535
48904cd1 95362009-07-23 Pavel Roskin <proski@gnu.org>
9537
ef3c317f 9538 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
9539 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
9540 case of little endian words becomes just an optimization.
9541 Respect const modifier.
ad8ea1f4 9542 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 9543
48904cd1 9544 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
9545 to avoid loss of upper bits if align is unsigned and shorter
9546 than addr.
9547
260c9a89 95482009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
9549
9550 UUID support for UFS
9551
9552 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
9553 (grub_ufs_uuid): New function.
9554 (grub_ufs_fs): add .uuid
9555
f76ce889 95562009-07-21 Pavel Roskin <proski@gnu.org>
9557
9558 * kern/dl.c (grub_dl_check_header): Make static.
9559
6a6cbcaf 95602009-07-21 Felix Zielcke <fzielcke@z-51.de>
9561
9562 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
9563 add drivemap for Vista. It breaks Windows 7.
9564
cffcddb2 95652009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
9568 128 bytes
9569
1ef44b80 95702009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9571
9572 Add BFS support
9573
9574 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
9575 (grub_fstest_SOURCES): Likewise.
9576 (pkglib_MODULES): Add befs.mod.
9577 (befs_mod_SOURCES): New variable.
9578 (befs_mod_CFLAGS): Likewise.
9579 (befs_mod_LDFLAGS): Likewise.
9580 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9581 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9582 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9583 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9584 (grub_setup_SOURCES): Likewise.
9585 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9586 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9587 (grub_setup_SOURCES): Likewise.
9588 * fs/befs.c: New file.
9589 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
9590 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
9591 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
9592 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
9593 (B_KEY_INDEX_ALIGN): New declaration.
9594 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
9595 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
9596 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
9597 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
9598 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
9599 (grub_afs_mount) [MODE_BFS]: Likewise.
9600 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
9601 (grub_afs_fs): Use GRUB_AFS_FSNAME
9602 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
9603 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
9604 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
9605 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
9606
4f253044 96072009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
9608
9609 * util/getroot.c (find_root_device): Add support for MacOSX.
9610 * util/hostdisk.c: Likewise.
9611
57a55913 96122009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9613
9614 * font/font.c (find_glyph): Check whether a font is present to avoid
9615 segmentation fault.
75421ca9 9616
96172009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 9618
9619 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
9620
e98cd0c2 96212009-07-20 Pavel Roskin <proski@gnu.org>
9622
9623 * configure.ac: Trim excessively wordy excuses.
9624
1d2d169a 96252009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 Add symlink, mtime and label support to AtheFS.
9628
9629 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
9630 (grub_afs_iterate_dir): Handle symlinks.
9631 (grub_afs_open): Use grub_afs_read_symlink.
9632 (grub_afs_dir): Likewise.
9633 Pass mtime.
9634 (grub_afs_label): New function.
9635 (grub_afs_fs): Add grub_afs_label.
9636 (grub_afs_read_symlink): New function.
9637
186f3189 96382009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 Fix AtheFS support.
9641
9642 * fs/afs.c: Fix comments style.
9643 (grub_afs_blockrun): Declare as packed.
9644 (grub_afs_datastream): Likewise.
9645 (grub_afs_bnode): Likewise.
9646 (grub_afs_btree): Likewise.
9647 (grub_afs_sblock): Likewise.
9648 Declare `name' as char.
9649 (grub_afs_inode): Declare as packed.
9650 Change void *vnode to grub_uint32_t unused.
9651 (grub_afs_iterate_dir): Check that key_size is positive.
9652 (grub_afs_mount): Don't read superblock twice.
75421ca9 9653 (grub_afs_dir): Don't free node in case of error,
186f3189 9654 grub_fshelp_find_file already handles this.
9655 (grub_afs_open): Likewise.
9656
5680109e 96572009-07-19 Pavel Roskin <proski@gnu.org>
9658
9659 * Makefile.in: Remove LIBLZO and enable_lzo.
9660 * conf/i386-pc.rmk: Remove lzo support.
9661 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
9662 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
9663 support.
9664 * kern/i386/pc/lzo1x.S: Remove.
9665 * kern/i386/pc/startup.S: Remove lzo support.
9666 * util/i386/pc/grub-mkimage.c: Likewise.
9667
ac70fa32 96682009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
9669
9670 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
9671 * fs/xfs.c (grub_xfs_dir): Likewise.
9672 * fs/afs.c (grub_afs_dir): Likewise.
9673 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9674 (grub_iso9660_open): Likewise.
9675 * fs/jfs.c (grub_jfs_open): Likewise.
9676 * fs/ext2.c (grub_ext2_dir): Likewise.
9677 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
9678 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 9679
eab58da2 96802009-07-16 Pavel Roskin <proski@gnu.org>
9681
d2838156 9682 * configure.ac: Never add "-c" to CFLAGS.
9683
55c70904 9684 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
9685
43e6200c 9686 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
9687 grub_cv_cc_efiemu should be used.
9688
ce7a733d 9689 * configure.ac: Typo fixes.
9690
eab58da2 9691 * kern/mm.c (grub_zalloc): New function.
9692 (grub_debug_zalloc): Likewise.
9693 * include/grub/mm.h: Declare grub_zalloc() and
9694 grub_debug_zalloc().
9695 * util/misc.c (grub_zalloc): New function.
9696 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
9697 instead of grub_malloc(), remove unneeded initializations.
9698 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
9699 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
9700 * commands/parttool.c (grub_cmd_parttool): Likewise.
9701 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
9702 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
9703 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
9704 * disk/usbms.c (grub_usbms_finddevs): Likewise.
9705 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
9706 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
9707 (grub_cmd_efiemu_pnvram): Likewise.
9708 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
9709 * fs/iso9660.c (grub_iso9660_mount): Likewise.
9710 (grub_iso9660_iterate_dir): Likewise.
9711 * fs/jfs.c (grub_jfs_opendir): Likewise.
9712 * fs/ntfs.c (list_file): Likewise.
9713 (grub_ntfs_mount): Likewise.
9714 * kern/disk.c (grub_disk_open): Likewise.
9715 * kern/dl.c (grub_dl_load_core): Likewise.
9716 * kern/elf.c (grub_elf_file): Likewise.
9717 * kern/env.c (grub_env_context_open): Likewise.
9718 (grub_env_set): Likewise.
9719 (grub_env_set_data_slot): Likewise.
9720 * kern/file.c (grub_file_open): Likewise.
9721 * kern/fs.c (grub_fs_blocklist_open): Likewise.
9722 * loader/i386/multiboot.c (grub_module): Likewise.
9723 * loader/xnu.c (grub_xnu_create_key): Likewise.
9724 (grub_xnu_create_value): Likewise.
9725 * normal/main.c (grub_normal_add_menu_entry): Likewise.
9726 (read_config_file): Likewise.
9727 * normal/menu_entry.c (make_screen): Likewise.
9728 * partmap/sun.c (sun_partition_map_iterate): Likewise.
9729 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
9730 * script/sh/script.c (grub_script_parse): Likewise.
9731 * video/bitmap.c (grub_video_bitmap_create): Likewise.
9732 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
9733 * video/readers/png.c (grub_png_output_byte): Likewise.
9734 (grub_video_reader_png): Likewise.
9735
830afef7 97362009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 9737
9738 Enable all targets that can be built by default
9739
830afef7 9740 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 9741 grub-mkfont and grub-fstest if they can be built
9742
ee293aee 97432009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 Fix hang and segmentation fault in grub-emu-usb
9746
9747 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
9748 * util/usb.c (grub_libusb_devices): likewise
9749 (grub_libusb_init): rename to ...
9750 (GRUB_MOD_INIT (libusb)):...this
9751 (grub_libusb_fini): rename to ..
9752 (GRUB_MOD_FINI (libusb)):...this
9753 * disk/usbms.c (grub_usbms_transfer): fix retry logic
9754 * include/grub/disk.h (grub_raid_init): removed, it's useless
9755 (grub_raid_fini): likewise
9756 (grub_lvm_init): likewise
9757 (grub_lvm_fini): likewise
9758 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
9759 by grub_init_all
9760
94414221 97612009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9762
9763 Fix libusb
9764
9765 * Makefile.in (LIBUSB): new macro
9766 * genmk.rb (Utility/print_tail): new method
9767 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
9768 (top level): call util.print_tail at the end.
9769
59ade63d 97702009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 Make FreeBSD accept zpool.cache
9773
9774 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
9775 type is /boot/zfs/zpool.cache
9776
a58da8c7 97772009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 Fix 64-bit efiemu
9780
9781 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
9782 correct wrong typedef
9783 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
9784
20591577 97852009-07-15 Pavel Roskin <proski@gnu.org>
9786
560ca572 9787 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
9788 * kern/disk.c (struct grub_disk_cache): Likewise.
9789
e8e8e4fd 9790 * commands/probe.c (options): Typo fix.
9791
fde24e10 9792 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
9793 Increase to 0x5a to accommodate FAT32. Adjust other offsets
9794 accordingly.
9795 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
9796
379c54c1 9797 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
9798 the end of "Error" to make the message more readable.
9799
7bd8f5bf 9800 * boot/i386/pc/boot.S (kernel_segment): Remove.
9801 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
9802 for destination.
9803
40b132c5 9804 * boot/i386/pc/boot.S (boot_version): Remove.
9805 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9806 Remove.
9807
20591577 9808 * include/grub/i386/pc/boot.h: Sort all offsets.
9809 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
9810 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
9811 * boot/i386/pc/boot.S: Assert location of every offset listed in
9812 include/grub/i386/pc/boot.h.
9813
2df32b2c 98142009-07-13 Pavel Roskin <proski@gnu.org>
9815
44b5d879 9816 * include/grub/i386/coreboot/machine.h: Rename
9817 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
9818 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
9819 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
9820
17dc3751 9821 * kern/dl.c: Force native word size to suppress warnings when
9822 compiling grub-emu.
9823
2df32b2c 9824 * kern/device.c (grub_device_iterate): Change struct part_ent to
9825 hold the name, not a pointer to it. Use one grub_malloc() per
9826 partition, not two. Free partition_name if grub_malloc() fails.
9827 Set ents to NULL only before grub_partition_iterate() is called.
9828
75c59f59 98292009-07-11 Bean <bean123ch@gmail.com>
9830
9831 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
9832 childname.
9833
0ae1bf88 98342009-07-10 Bean <bean123ch@gmail.com>
98352009-07-10 Robert Millan <rmh.grub@aybabtu.com>
9836
9837 * kern/ieee1275/openfw.c (grub_children_iterate)
9838 (grub_devalias_iterate): Fix size evaluation for property or path
9839 strings, which was broken since r2132.
9840
8279cade 98412009-07-07 Pavel Roskin <proski@gnu.org>
9842
7d8a52d3 9843 * commands/search.c (search_file): Merge into ...
9844 (search_fs): ... this. Accept search type as argument.
9845 (grub_cmd_search): Pass search type to search_fs().
9846
25f9a05a 9847 * include/grub/util/console.h: New file.
9848 * util/console.c: Use it instead of grub/machine/console.h.
9849 * util/grub-emu.c: Likewise.
9850
8279cade 9851 * lib/arg.c (find_long_option): Remove.
9852 (find_long): Add `len' argument, make `s' const char *.
9853 (grub_arg_parse): Parse long options in place, not in a
9854 temporary buffer.
9855
4a11b60f 98562009-07-06 Pavel Roskin <proski@gnu.org>
9857
99f68041 9858 * commands/search.c (search_fs): Fix potential NULL pointer
9859 dereference.
9860
4a11b60f 9861 * commands/search.c (search_fs): Replace QUID macro with quid_fn
9862 function pointer.
9863
e110f4de 98642009-07-06 Daniel Mierswa <impulze@impulze.org>
9865
9866 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
9867 comparison.
9868
46eeb6a2 98692009-07-05 Pavel Roskin <proski@gnu.org>
9870
bab74958 9871 * include/grub/i386/linux.h (struct linux_kernel_params):
9872 Restore padding3, it's still needed.
9873
46eeb6a2 9874 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
9875 FreeBSD.
9876 * util/osdetect.lua: Likewise.
9877
b4a1dc79 98782009-07-05 Bean <bean123ch@gmail.com>
9879
9880 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
9881
9882 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
9883 (grub_lua_getenv): Likewise.
9884 (grub_lua_setenv): Likewise.
9885 (save_errno): New function.
9886 (push_result): Likewise.
9887 (grub_lua_enum_device): Likewise.
9888 (grub_lua_enum_file): Likewise.
9889 (grub_lua_file_open): Likewise.
9890 (grub_lua_file_close): Likewise.
9891 (grub_lua_file_seek): Likewise.
9892 (grub_lua_file_read): Likewise.
9893 (grub_lua_file_getline): Likewise.
9894 (grub_lua_file_getsize): Likewise.
9895 (grub_lua_file_getpos): Likewise.
9896 (grub_lua_file_eof): Likewise.
9897 (grub_lua_file_exist): Likewise.
9898 (grub_lua_add_menu): Likewise.
9899
9900 * script/lua/grub_lua.h (isupper): New inline function.
9901 (islower): Likewise.
9902 (ispunct): Likewise.
9903 (isxdigit): Likewise.
9904 (strcspn): Change to normal function.
9905 (strpbkr): New function declaration.
9906 (memchr): Likewise.
9907
9908 * script/lua/grub_main.c (scan_str): New function.
9909 (strcspn): Likewise.
9910 (strpbrk): Likewise.
9911 (memchr): Likewise.
9912
9913 * script/lua/linit.c (lualibs): Enable the string library.
9914
9915 * util/osdetect.lua: New file.
9916
2da92295 99172009-07-04 Robert Millan <rmh.grub@aybabtu.com>
9918
9919 * include/grub/i386/linux.h (struct linux_kernel_params): Add
9920 `capabilities' member.
9921
b2582ec9 99222009-07-02 Pavel Roskin <proski@gnu.org>
9923
9924 * genparttoollist.sh: Add missing newline at the end.
9925
32622956 99262009-07-01 Pavel Roskin <proski@gnu.org>
9927
87a7339e 9928 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
9929
d23af54e 9930 * util/hostdisk.c (open_device): Remove `const' from
9931 `sysctl_size', as sysctlbyname() can change it (in this case it
9932 doesn't actually happen).
9933
c94b18a9 9934 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
9935 using signed long int constants.
9936
c6cd3ef0 9937 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
9938 constant to avoid a warning on FreeBSD.
9939
0df63420 9940 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
9941 where it's needed.
9942
999577f1 9943 * Makefile.in: Install include/grub/machine symlink.
9944
6f41557f 9945 * Makefile.in: When installing symlinks, use "cp -fR", which
9946 works on FreeBSD and MacOSX.
9947 From Yves Blusseau <cl7m42e02@sneakemail.com>
9948
c8d22988 9949 * kern/dl.c (grub_dl_resolve_symbol): Make static.
9950 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
9951
1b96e952 9952 * util/misc.c: Move grub_reboot() and grub_halt() ...
9953 * util/grub-emu.c: ... here. Make main_env static.
9954 * include/grub/util/misc.h: Remove main_env.
9955
2ef0084d 9956 * kern/mm.c: Use correct format to print size_t.
9957
32622956 9958 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
9959 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
9960 * kern/powerpc/dl.c: Likewise.
9961 * kern/sparc64/dl.c: Likewise.
9962 * kern/x86_64/dl.c: Likewise.
9963
3f7f0cd0 99642009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9965
9966 Fix grub-emu build on sparc64-ieee1275.
9967
75421ca9 9968 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 9969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
9970
211d06b5 99712009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9972
9973 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
9974 (grub_reboot, grub_halt): New functions.
9975
9976 * util/i386/pc/misc.c: Delete. Update all users.
9977 * util/sparc64/ieee1275/misc.c: Likewise.
9978 * util/powerpc/ieee1275/misc.c: Likewise.
9979
aaf53e3c 99802009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9981
9982 * conf/i386.rmk (setjmp_mod_SOURCES)
9983 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
9984 * conf/common.rmk (setjmp_mod_SOURCES)
9985 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
9986 to use $(target_cpu).
9987 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
9988 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
9989 * conf/powerpc-ieee1275.rmk: Likewise.
9990 * conf/sparc64-ieee1275.rmk: Likewise.
9991
9992 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
9993 $(target_cpu) for kern/$(target_cpu)/dl.c.
9994 * conf/i386-efi.rmk: Likewise.
9995 * conf/i386-ieee1275.rmk: Likewise.
9996 * conf/x86_64-efi.rmk: Likewise.
9997 * conf/i386-coreboot.rmk: Likewise.
9998 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
9999 $(target_cpu) for kern/$(target_cpu)/dl.c and for
10000 kern/$(target_cpu)/cache.S.
10001 * conf/sparc64-ieee1275.rmk: Likewise.
10002
a337130b 100032009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10004
10005 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
10006 type to `grub_uint8_t', and adjust `padding9' accordingly.
10007
c6fe4d53 100082009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10009
b09db61d 10010 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
10011
c6fe4d53 10012 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
10013 assembly in final jump, using register constraints.
10014
b09db61d 10015 (grub_linux_boot): For text mode, initialize `have_vga' using
10016 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
10017
10018 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
10019 right before the final jump.
10020
10021 Set `video_mode' to 0x3.
10022
10023 Document initialization of `video_page', `video_mode' and
10024 `video_ega_bx'.
10025
28333ad0 100262009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10027
10028 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
10029 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 10030 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 10031
02164e1b 100322009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10033
10034 Fix build on Debian / sparc.
10035
10036 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
10037
18b6c557 100382009-06-28 Pavel Roskin <proski@gnu.org>
10039
85f2aab6 10040 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
10041 fix a warning.
10042
18b6c557 10043 * util/grub.d/10_linux.in: Match SUSE style initrd names.
10044
ad760f81 100452009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10046
10047 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
10048 `err'.
10049
87a4623b 100502009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10051
10052 Revert r2338.
10053
10054 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
10055 file can't be opened. grub_file_open() is already supposed to set
75421ca9 10056 grub_errno / grub_errmsg appropriately.
87a4623b 10057 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10058
8231fb77 100592009-06-27 Pavel Roskin <proski@gnu.org>
100602009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10061
10062 * include/grub/dl.h: Include grub/elf.h.
10063 (struct grub_dl): Add symtab field.
10064 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
10065 GRUB_MODULES_MACHINE_READONLY.
10066 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
10067 of the header for read-only modules.
10068 (grub_dl_unload): Free mod->symtab for read-only modules.
10069 * kern/i386/dl.c: Use mod->symtab.
10070 * kern/powerpc/dl.c: Likewise.
10071 * kern/sparc64/dl.c: Likewise.
10072 * kern/x86_64/dl.c: Likewise.
10073
10074 * conf/i386-qemu.rmk: New file.
10075 * kern/i386/qemu/startup.S: Likewise.
10076 * kern/i386/qemu/mmap.c: Likewise.
10077 * boot/i386/qemu/boot.S: Likewise.
10078 * include/grub/i386/qemu/time.h: Likewise.
10079 * include/grub/i386/qemu/serial.h: Likewise.
10080 * include/grub/i386/qemu/kernel.h: Likewise.
10081 * include/grub/i386/qemu/console.h: Likewise.
10082 * include/grub/i386/qemu/boot.h: Likewise.
10083 * include/grub/i386/qemu/init.h: Likewise.
10084 * include/grub/i386/qemu/machine.h: Likewise.
10085 * include/grub/i386/qemu/loader.h: Likewise.
10086 * include/grub/i386/qemu/memory.h: Likewise.
10087
10088 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
10089 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
10090 [qemu] (pkglib_IMAGES): Add `boot.img'.
10091 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
10092 [qemu] (boot_img_FORMAT): New variables.
10093 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
10094 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
10095 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
10096 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10097 [qemu] (kernel_img_FORMAT): New variables.
10098
10099 * configure.ac: Recognise `i386-qemu'.
10100
10101 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
10102 (for no compression).
10103 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
10104 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
10105 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
10106 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
10107 ifdefs).
10108
97fe384e 101092009-06-27 Pavel Roskin <proski@gnu.org>
10110
10111 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
10112 read.
10113 * efiemu/prepare32.c: Likewise.
10114 * efiemu/prepare64.c: Likewise.
10115
c402ab17 101162009-06-26 Pavel Roskin <proski@gnu.org>
10117
10118 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
10119 * include/grub/elf.h: Define symbols without "32" or "64" based
10120 on GRUB_TARGET_WORDSIZE.
10121 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
10122 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
10123 ELF definitions.
10124 * efiemu/loadcore64.c: Likewise.
10125 * loader/i386/bsd32.c: Likewise.
10126 * loader/i386/bsd64.c: Likewise.
10127 * kern/dl.c: Remove own ELF definitions.
10128 * util/i386/efi/grub-mkimage.c: Likewise.
10129
9bbdfd4d 101302009-06-23 Robert Millan <rmh.grub@aybabtu.com>
10131
10132 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
10133 segment 0x0 unconditionally, because the reference generated by
10134 GAS is an absolute address.
10135
a42ce6e9 101362009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10137
10138 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
10139 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
10140
c952cf92 101412009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10142
10143 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
10144 indexes. Check for -f explicitly.
cc3752ad 10145 (search_file): Improve error message.
10146 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 10147
132a0a59 101482009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10149
10150 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
10151 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
10152
387a140c 101532009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10154
10155 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
10156 * conf/i386-ieee1275.rmk: Likewise.
10157 * conf/i386-coreboot.rmk: Likewise.
10158
10159 * kern/i386/pc/startup.S (grub_stop): Remove function.
10160 * kern/i386/ieee1275/startup.S: Likewise.
10161 * kern/i386/coreboot/startup.S: Likewise.
10162 * kern/i386/misc.S (grub_stop): New function.
10163
41da9665 101642009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10165
10166 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
10167 * kern/i386/realmode.S (real_to_prot): ... to here.
10168
bf337234 101692009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10170
10171 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
10172 with `kernel.img'.
10173 (kernel_elf_SOURCES): Rename to ...
10174 (kernel_img_SOURCES): ... this.
10175 (kernel_elf_HEADERS): Rename to ...
10176 (kernel_img_HEADERS): ... this. Update all users.
10177 (kernel_elf_ASFLAGS): Rename to ...
10178 (kernel_img_ASFLAGS): ... this.
10179 (kernel_elf_CFLAGS): Rename to ...
10180 (kernel_img_CFLAGS): ... this.
10181 (kernel_elf_LDFLAGS): Rename to ...
10182 (kernel_img_LDFLAGS): ... this.
10183 * conf/i386-coreboot.rmk: Likewise.
10184 * conf/powerpc-ieee1275.rmk: Likewise.
10185
10186 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
10187 with "kernel.img".
10188
f52196ff 101892009-06-21 Pavel Roskin <proski@gnu.org>
10190
c3cee413 10191 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
10192 to match nested functions.
10193 * loader/sparc64/ieee1275/linux.c: Likewise.
10194
f52196ff 10195 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
10196
58750afc 101972009-06-21 Robert Millan <rmh.grub@aybabtu.com>
10198
10199 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
10200 all i386 platforms.
10201
15355c7d 102022009-06-21 Robert Millan <rmh.grub@aybabtu.com>
10203
10204 Fix asm file handling on ELF, and remove workarounds.
10205
10206 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 10207 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 10208 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
10209 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
10210
3f3ec72b 102112009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
10212
10213 Load BSD ELF modules
10214
10215 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
10216 and loader/i386/bsd64.c
10217 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
10218 (FREEBSD_MODTYPE_ELF_MODULE): New definition
10219 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
10220 (grub_freebsd_load_elfmodule32): New declaration
10221 (grub_freebsd_load_elfmoduleobj64): Likewise
10222 (grub_freebsd_load_elf_meta32): Likewise
10223 (grub_freebsd_load_elf_meta64): Likewise
10224 (grub_freebsd_add_meta): Likewise
10225 (grub_freebsd_add_meta_module): Likewise
10226 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
10227 (grub_freebsd_add_meta_module): Likewise and move module-specific
10228 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
10229 (grub_cmd_freebsd): Add elf-kernel specific parts
10230 based on grub_freebsd_add_meta_module
10231 (grub_cmd_freebsd_module): Add type parsing moved from
10232 grub_freebsd_add_meta_module
10233 (grub_cmd_freebsd_module_elf): New function
10234 (cmd_freebsd_module_elf): New variable
10235 (GRUB_MOD_INIT): Register freebsd_module_elf
10236 * loader/i386/bsd32.c: New file
10237 * loader/i386/bsd64.c: Likewise
10238 * loader/i386/bsdXX.c: Likewise
10239 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
10240 (grub_elf64_load): Likewise
10241 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
10242 All users updated
10243 (grub_elf64_load_hook_t): Likewise
10244
0db15301 102452009-06-21 Colin Watson <cjwatson@ubuntu.com>
10246
10247 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
10248 variable.
10249 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
10250 don't write a menu entry for recovery mode.
10251
546796c1 102522009-06-20 Robert Millan <rmh.grub@aybabtu.com>
10253
10254 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
10255 after it's no longer needed.
10256
cd7310d5 102572009-06-20 Robert Millan <rmh.grub@aybabtu.com>
10258
10259 * include/grub/i386/loader.h (grub_linux_prot_size)
10260 (grub_linux_tmp_addr, grub_linux_real_addr)
10261 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
10262 GRUB_MACHINE_PCBIOS.
10263 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
10264 common grub_util_info() call to ...
10265 (generate_image): ... here.
10266 Fix use of uninitialized memory, comparison of signed with
10267 unsigned integers and memory leak.
10268 Remove bogus module address message.
10269
ab32d3b5 102702009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
10273 grub_raid_register
10274 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
10275
024ef597 102762009-06-19 Pavel Roskin <proski@gnu.org>
10277
10278 * configure.ac: Remove stray AC_MSG_CHECKING.
10279
3ac72b51 102802009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
10281
10282 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 10283
e14cd814 102842009-06-18 Pavel Roskin <proski@gnu.org>
10285
10286 * conf/common.rmk: Add fs_file.mod.
10287 * disk/fs_file.c: New file.
10288 * include/grub/disk.h (enum grub_disk_dev_id): Add
10289 GRUB_DISK_DEVICE_FILE_ID.
10290
26586d98 102912009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10292
10293 Fix build with Apple's toolchain. Part 2
10294
10295 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
10296 a fake start
10297
26de2bcd 102982009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10299
10300 Fix build with Apple's toolchain. Part 1
10301
10302 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
10303 for long calls
10304 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 10305 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 10306 Apple's toolchain
10307
09b3490b 103082009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10309
10310 Fix warnings
10311
10312 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
10313 (decomp_block): initialize ch
10314 use grub_memcpy instead of memcpy
10315
c22a006a 103162009-06-17 Pavel Roskin <proski@gnu.org>
10317
d3638678 10318 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
10319 version, use declarations needed to use vga_text as the startup
10320 console.
10321
c22a006a 10322 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
10323 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
10324 the kernel.
10325 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
10326 and grub_at_keyboard_fini(), it's done on module load and
10327 unload.
10328
05b129e0 103292009-06-17 Felix Zielcke <fzielcke@z-51.de>
10330
10331 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
10332 file can't be found.
10333 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10334
cf24ed9e 103352009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
10336
10337 Fix newline handling
10338
10339 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 10340 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 10341 (grub_script_yylex): don't segfault on unterminated script
10342 newline terminates command and variable
10343
74aa8e4b 103442009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 avoid double grub_adjust_range call. Bug reported by David Simner
10347
10348 * kern/disk.c (grub_disk_write): change to raw disk access before
10349 calling disk_read
10350
1bd265f3 103512009-06-17 Colin Watson <cjwatson@ubuntu.com>
10352
10353 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
10354 spaces, for the benefit of help2man.
10355 * util/i386/efi/grub-mkimage.c (usage): Likewise.
10356
a2d08c06 103572009-06-16 Pavel Roskin <proski@gnu.org>
10358
10359 * kern/i386/halt.c: Include grub/machine/init.h.
10360 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
10361
b97bcb19 103622009-06-16 Felix Zielcke <fzielcke@z-51.de>
10363
10364 * util/grub.d/30_os-prober.in: Use ${root} in the generated
10365 drivemap menuentry.
10366
0644f96c 103672009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
10368
10369 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
10370 `echo' command.
10371
3ef17a2e 103722009-06-16 Pavel Roskin <proski@gnu.org>
10373
10374 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
10375 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
10376 save %dx, we only need %dl and we never change it.
10377 * boot/i386/pc/cdboot.S: Don't set the root drive.
10378 * boot/i386/pc/pxeboot.S: Likewise.
10379 * include/grub/i386/pc/boot.h: Remove
10380 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
10381 GRUB_BOOT_MACHINE_DRIVE_CHECK.
10382 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
10383 * kern/i386/pc/init.c (make_install_device): Remove references
10384 to grub_root_drive.
10385 * kern/i386/pc/startup.S: Likewise.
10386 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
10387
693fe637 103882009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
10389
10390 xnu_uuid command
10391
10392 * commands/xnu_uuid.c: new file
10393 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
10394 (xnu_uuid_mod_SOURCES): new variable
10395 (xnu_uuid_mod_CFLAGS): likewise
10396 (xnu_uuid_mod_LDFLAGS): likewise
10397 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
10398 * conf/i386-ieee1275.rmk: likewise
10399 * conf/i386-pc.rmk: likewise
10400 * conf/powerpc-ieee1275.rmk: likewise
10401 * conf/sparc64-ieee1275.rmk: likewise
10402 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
10403
c9da87d0 104042009-06-16 Pavel Roskin <proski@gnu.org>
10405
10406 * configure.ac: Avoid '==' in test command, it's not portable.
10407
9c6f4596 104082009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 Probe command
10411
10412 * commands/probe.c: new file
10413 * conf/common.rmk (pkglib_MODULES): add probe.mod
10414 (probe_mod_SOURCES): new variable
10415 (probe_mod_CFLAGS): likewise
10416 (probe_mod_LDFLAGS): likewise
10417 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
10418 * conf/i386-ieee1275.rmk: likewise
10419 * conf/i386-pc.rmk: likewise
10420 * conf/powerpc-ieee1275.rmk: likewise
10421 * conf/sparc64-ieee1275.rmk: likewise
10422
70b7f9fd 104232009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 Fix handling of string like \"hello\" and "a
10426 b"
10427
10428 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
10429 (grub_script_yylex): fix parsing of quoting, escaping and newline
10430
71c79a6b 104312009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
10432
dd74360c 10433 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 10434 handling
dd74360c 10435
0644f96c 104362009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 10437
10438 * util/grub-mkconfig.in: Fix parsing of --output option.
10439
e40893c3 104402009-06-12 Pavel Roskin <proski@gnu.org>
10441
10442 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
10443 genmk.rb don't need to be generated or installed.
10444
3a1acfe2 104452009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 * commands/i386/pc/drivemap_int13h.S: add more comments
10448
3a4575d4 104492009-06-11 Pavel Roskin <proski@gnu.org>
10450
0658e928 10451 * Makefile.in (uninstall): Uninstall manuals.
10452
ca0388f0 10453 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
10454 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
10455 and update-grub_lib in two places.
10456 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
10457
e3b27c39 10458 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
10459 a compiler warning.
10460
3a4575d4 10461 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
10462 `entry_lo' to fix variable shadowing.
10463
af1f4f55 104642009-06-11 Christian Franke <franke@computer.org>
10465
10466 * kern/misc.c (__enable_execute_stack): Add missing return type
10467 to prevent gcc warning.
10468
5225e649 104692009-06-11 Felix Zielcke <fzielcke@z-51.de>
10470
10471 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
10472
7d83bd47 104732009-06-11 Pavel Roskin <proski@gnu.org>
10474
c1cb63ba 10475 * Makefile.in: Don't rely on any scripts being executable.
10476 Always use $(SHELL) to run shell scripts.
10477
7d83bd47 10478 * configure.ac: Always define ___main if using -nostdlib. This
10479 fixes tests on Cygwin.
10480
948f48e7 104812009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
10482
10483 UDF fix
10484
7d83bd47 10485 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 10486 is in bytes and not in blocks
7d83bd47 10487
8ada9bc1 104882009-06-11 Pavel Roskin <proski@gnu.org>
10489
10490 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
10491 warning.
10492
25ad2323 104932009-06-11 Felix Zielcke <fzielcke@z-51.de>
10494
10495 * util/grub.d/30_os-prober.in: Fix a comment. Source
10496 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
10497 to set the root device. Place drivemap command in the generated
10498 chain entry.
10499
e65acb0c 105002009-06-11 Pavel Roskin <proski@gnu.org>
10501
10502 * configure.ac: Remove host_m32. Issues with 64-bit utilities
10503 have long been resolved.
10504
f285fe2d 105052009-06-11 Colin Watson <cjwatson@ubuntu.com>
10506
bd47b0b5 10507 * util/grub.d/10_linux.in: Capitalise "Linux".
10508
f285fe2d 10509 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
10510
a0c62e4e 105112009-06-11 Pavel Roskin <proski@gnu.org>
10512
b6783cb2 10513 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
10514 fix a gcc warning and ensure that the function won't ever exit.
10515
dde032e8 10516 * kern/i386/ieee1275/init.c: Add missing prototype for
10517 grub_stop_floppy().
10518
22cd079d 10519 * loader/ieee1275/multiboot2.c [__i386__]: Include
10520 grub/cpu/multiboot.h.
10521
a0c62e4e 10522 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
10523 casts to short - they are not portable and cause warnings. Fix
10524 use of uninitialized values in input_buf. Use ARRAY_SIZE.
10525
63963d17 105262009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 Drivemap fixes
10529
10530 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
10531 new function
10532 (grub_get_root_biosnumber_saved): new variable
10533 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
10534 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 10535 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 10536 %dx after the call if necessary
10537 * conf/common.rmk (pkglib_MODULES): remove boot.mod
10538 (boot_mod_SOURCES): remove
10539 (boot_mod_CFLAGS): remove
10540 (boot_mod_LDFLAGS): remove
10541 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
10542 (boot_mod_SOURCES): new variable
10543 (boot_mod_CFLAGS): likewise
10544 (boot_mod_LDFLAGS): likewise
10545 * conf/i386-efi.rmk: likewise
10546 * conf/i386-ieee1275.rmk: likewise
10547 * conf/i386-pc.rmk: likewise
10548 * conf/powerpc-ieee1275.rmk: likewise
10549 * conf/sparc64-ieee1275.rmk: likewise
10550 * conf/x86_64-efi.rmk: likewise
10551 * include/grub/i386/pc/biosnum.h: new file
10552 * lib/i386/pc/biosnum.c: likewise
10553 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
10554 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
10555 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 10556
33abf7ae 105572009-06-10 Pavel Roskin <proski@gnu.org>
10558
5ac35b35 10559 * io/gzio.c (test_header): Don't reuse one buffer for all data.
10560 Use separate variables. Read only the file size at the end, but
10561 not the checksum that we don't use.
10562
5c5215d5 10563 * kern/file.c (grub_file_read): Use void pointer for the buffer.
10564 Adjust all callers.
10565
27d5fef7 10566 * kern/ieee1275/openfw.c: Remove libc includes.
10567 * kern/ieee1275/cmain.c: Likewise.
10568 * include/grub/ieee1275/ieee1275.h: Likewise.
10569
33abf7ae 10570 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
10571 compiler warnings.
10572
19d50c2b 105732009-06-10 Felix Zielcke <fzielcke@z-51.de>
10574
10575 * Makefile.in: Remove all trailing whitespace.
10576 * conf/i386-pc.rmk: Likewise.
10577 * conf/powerpc-ieee1275.rmk: Likewise.
10578 * conf/sparc64-ieee1275.rmk: Likewise.
10579 * docs/grub.texi: Likewise.
10580 * docs/texinfo.tex: Likewise.
10581 * disk/fs_uuid.c: Likewise.
10582 * disk/lvm.c: Likewise.
10583 * disk/scsi.c: Likewise.
10584 * disk/ata.c: Likewise.
10585 * disk/ieee1275/ofdisk.c: Likewise.
10586 * disk/i386/pc/biosdisk.c: Likewise.
10587 * disk/host.c: Likewise.
10588 * disk/raid.c: Likewise.
10589 * disk/efi/efidisk.c: Likewise.
10590 * disk/usbms.c: Likewise.
10591 * disk/memdisk.c: Likewise.
10592 * disk/loopback.c: Likewise.
10593 * kern/powerpc/dl.c: Likewise.
10594 * kern/device.c: Likewise.
10595 * kern/dl.c: Likewise.
10596 * kern/sparc64/dl.c: Likewise.
10597 * kern/ieee1275/ieee1275.c: Likewise.
10598 * kern/term.c: Likewise.
10599 * kern/fs.c: Likewise.
10600 * kern/i386/dl.c: Likewise.
10601 * kern/i386/pc/startup.S: Likewise.
10602 * kern/i386/pc/init.c: Likewise.
10603 * kern/i386/pc/mmap.c: Likewise.
10604 * kern/i386/pc/lzo1x.S: Likewise.
10605 * kern/i386/ieee1275/init.c: Likewise.
10606 * kern/i386/realmode.S: Likewise.
10607 * kern/i386/tsc.c: Likewise.
10608 * kern/partition.c: Likewise.
10609 * kern/corecmd.c: Likewise.
10610 * kern/file.c: Likewise.
10611 * kern/efi/efi.c: Likewise.
10612 * kern/efi/init.c: Likewise.
10613 * kern/efi/mm.c: Likewise.
10614 * kern/main.c: Likewise.
10615 * kern/err.c: Likewise.
10616 * kern/env.c: Likewise.
10617 * kern/disk.c: Likewise.
10618 * kern/generic/millisleep.c: Likewise.
10619 * kern/generic/rtc_get_time_ms.c: Likewise.
10620 * kern/misc.c: Likewise.
10621 * kern/parser.c: Likewise.
10622 * genmk.rb: Likewise.
10623 * configure.ac: Likewise.
10624 * boot/i386/pc/diskboot.S: Likewise.
10625 * boot/i386/pc/pxeboot.S: Likewise.
10626 * boot/i386/pc/boot.S: Likewise.
10627 * boot/i386/pc/lnxboot.S: Likewise.
10628 * boot/i386/pc/cdboot.S: Likewise.
10629 * parttool/pcpart.c: Likewise.
10630 * video/readers/tga.c: Likewise.
10631 * video/video.c: Likewise.
10632 * video/bitmap.c: Likewise.
10633 * lib/envblk.c: Likewise.
10634 * lib/i386/setjmp.S: Likewise.
10635 * fs/xfs.c: Likewise.
10636 * fs/afs.c: Likewise.
10637 * fs/fat.c: Likewise.
10638 * fs/ntfs.c: Likewise.
10639 * fs/udf.c: Likewise.
10640 * fs/affs.c: Likewise.
10641 * fs/iso9660.c: Likewise.
10642 * fs/hfs.c: Likewise.
10643 * fs/fshelp.c: Likewise.
10644 * fs/ext2.c: Likewise.
10645 * fs/jfs.c: Likewise.
10646 * fs/reiserfs.c: Likewise.
10647 * fs/hfsplus.c: Likewise.
10648 * fs/minix.c: Likewise.
10649 * fs/cpio.c: Likewise.
10650 * fs/sfs.c: Likewise.
10651 * fs/ufs.c: Likewise.
10652 * efiemu/prepare.c: Likewise.
10653 * efiemu/loadcore_common.c: Likewise.
10654 * efiemu/runtime/efiemu.sh: Likewise.
10655 * efiemu/runtime/efiemu.S: Likewise.
10656 * efiemu/runtime/efiemu.c: Likewise.
10657 * efiemu/pnvram.c: Likewise.
10658 * efiemu/main.c: Likewise.
10659 * efiemu/i386/pc/cfgtables.c: Likewise.
10660 * efiemu/i386/loadcore64.c: Likewise.
10661 * efiemu/i386/loadcore32.c: Likewise.
10662 * efiemu/loadcore.c: Likewise.
10663 * efiemu/symbols.c: Likewise.
10664 * efiemu/mm.c: Likewise.
10665 * include/grub/autoefi.h: Likewise.
10666 * include/grub/datetime.h: Likewise.
10667 * include/grub/term.h: Likewise.
10668 * include/grub/hfs.h: Likewise.
10669 * include/grub/lvm.h: Likewise.
10670 * include/grub/i386/tsc.h: Likewise.
10671 * include/grub/i386/linux.h: Likewise.
10672 * include/grub/i386/xnu.h: Likewise.
10673 * include/grub/i386/efiemu.h: Likewise.
10674 * include/grub/i386/pc/biosdisk.h: Likewise.
10675 * include/grub/i386/pc/memory.h: Likewise.
10676 * include/grub/i386/pc/vbe.h: Likewise.
10677 * include/grub/parttool.h: Likewise.
10678 * include/grub/video.h: Likewise.
10679 * include/grub/memory.h: Likewise.
10680 * include/grub/fs.h: Likewise.
10681 * include/grub/partition.h: Likewise.
10682 * include/grub/xnu.h: Likewise.
10683 * include/grub/efi/api.h: Likewise.
10684 * include/grub/efi/pe32.h: Likewise.
10685 * include/grub/efi/memory.h: Likewise.
10686 * include/grub/multiboot.h: Likewise.
10687 * include/grub/usbdesc.h: Likewise.
10688 * include/grub/multiboot2.h: Likewise.
10689 * include/grub/acpi.h: Likewise.
10690 * include/grub/efiemu/efiemu.h: Likewise.
10691 * include/grub/disk.h: Likewise.
10692 * include/grub/ieee1275/ieee1275.h: Likewise.
10693 * include/grub/net.h: Likewise.
10694 * include/grub/machoload.h: Likewise.
10695 * include/grub/macho.h: Likewise.
10696 * include/multiboot.h: Likewise.
10697 * genmoddep.awk: Likewise.
10698 * normal/main.c: Likewise.
10699 * normal/menu_entry.c: Likewise.
10700 * normal/menu_viewer.c: Likewise.
10701 * normal/completion.c: Likewise.
10702 * normal/cmdline.c: Likewise.
10703 * normal/misc.c: Likewise.
10704 * normal/datetime.c: Likewise.
10705 * bus/usb/usbtrans.c: Likewise.
10706 * bus/usb/ohci.c: Likewise.
10707 * bus/usb/uhci.c: Likewise.
10708 * bus/usb/usb.c: Likewise.
10709 * mmap/efi/mmap.c: Likewise.
10710 * mmap/i386/pc/mmap_helper.S: Likewise.
10711 * mmap/i386/pc/mmap.c: Likewise.
10712 * mmap/i386/mmap.c: Likewise.
10713 * mmap/i386/uppermem.c: Likewise.
10714 * mmap/mmap.c: Likewise.
10715 * commands/acpi.c: Likewise.
10716 * commands/echo.c: Likewise.
10717 * commands/blocklist.c: Likewise.
10718 * commands/loadenv.c: Likewise.
10719 * commands/usbtest.c: Likewise.
10720 * commands/boot.c: Likewise.
10721 * commands/parttool.c: Likewise.
10722 * commands/search.c: Likewise.
10723 * commands/cat.c: Likewise.
10724 * commands/i386/pc/play.c: Likewise.
10725 * commands/i386/pc/drivemap.c: Likewise.
10726 * commands/i386/pc/vbeinfo.c: Likewise.
10727 * commands/i386/pc/acpi.c: Likewise.
10728 * commands/i386/pc/vbetest.c: Likewise.
10729 * commands/ls.c: Likewise.
10730 * commands/cmp.c: Likewise.
10731 * commands/test.c: Likewise.
10732 * commands/efi/acpi.c: Likewise.
10733 * commands/gptsync.c: Likewise.
10734 * commands/help.c: Likewise.
10735 * partmap/amiga.c: Likewise.
10736 * partmap/apple.c: Likewise.
10737 * partmap/acorn.c: Likewise.
10738 * partmap/pc.c: Likewise.
10739 * partmap/sun.c: Likewise.
10740 * partmap/gpt.c: Likewise.
10741 * script/sh/lexer.c: Likewise.
10742 * script/sh/function.c: Likewise.
10743 * font/font.c: Likewise.
10744 * font/font_cmd.c: Likewise.
10745 * loader/powerpc/ieee1275/linux.c: Likewise.
10746 * loader/efi/chainloader.c: Likewise.
10747 * loader/multiboot_loader.c: Likewise.
10748 * loader/macho.c: Likewise.
10749 * loader/i386/multiboot.c: Likewise.
10750 * loader/i386/linux.c: Likewise.
10751 * loader/i386/pc/linux.c: Likewise.
10752 * loader/i386/pc/multiboot2.c: Likewise.
10753 * loader/i386/pc/chainloader.c: Likewise.
10754 * loader/i386/pc/xnu.c: Likewise.
10755 * loader/i386/bsd_trampoline.S: Likewise.
10756 * loader/i386/efi/linux.c: Likewise.
10757 * loader/i386/multiboot_elfxx.c: Likewise.
10758 * loader/i386/bsd_helper.S: Likewise.
10759 * loader/i386/bsd.c: Likewise.
10760 * loader/i386/linux_trampoline.S: Likewise.
10761 * loader/i386/xnu_helper.S: Likewise.
10762 * loader/i386/xnu.c: Likewise.
10763 * loader/i386/bsd_pagetable.c: Likewise.
10764 * loader/i386/multiboot_helper.S: Likewise.
10765 * loader/xnu.c: Likewise.
10766 * loader/xnu_resume.c: Likewise.
10767 * io/gzio.c: Likewise.
10768 * term/efi/console.c: Likewise.
10769 * term/terminfo.c: Likewise.
10770 * term/ieee1275/ofconsole.c: Likewise.
10771 * term/i386/pc/serial.c: Likewise.
10772 * term/i386/pc/vesafb.c: Likewise.
10773 * term/i386/pc/vga.c: Likewise.
10774 * term/usb_keyboard.c: Likewise.
10775 * term/gfxterm.c: Likewise.
10776 * aclocal.m4: Likewise.
10777 * util/lvm.c: Likewise.
10778 * util/grub.d/30_os-prober.in: Likewise.
10779 * util/grub.d/10_hurd.in: Likewise.
10780 * util/console.c: Likewise.
10781 * util/grub-macho2img.c: Likewise.
10782 * util/grub-probe.c: Likewise.
10783 * util/hostfs.c: Likewise.
10784 * util/i386/pc/grub-mkimage.c: Likewise.
10785 * util/i386/pc/grub-setup.c: Likewise.
10786 * util/i386/efi/grub-mkimage.c: Likewise.
10787 * util/grub-mkconfig.in: Likewise.
10788 * util/raid.c: Likewise.
10789 * util/resolve.c: Likewise.
10790 * util/grub-mkdevicemap.c: Likewise.
10791 * util/grub-emu.c: Likewise.
10792 * util/getroot.c: Likewise.
10793 * util/hostdisk.c: Likewise.
10794 * util/usb.c: Likewise.
10795 * util/grub-editenv.c: Likewise.
10796 * util/misc.c: Likewise.
10797
d2d49665 107982009-06-10 Felix Zielcke <fzielcke@z-51.de>
10799
10800 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
10801 `genparttoollist.sh'.
10802 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
10803 Add `*.sh' to the list find searches for and change `mdate.sh'
10804 to `mdate-sh'.
10805
fe052e37 108062009-06-10 Pavel Roskin <proski@gnu.org>
10807
2763ac18 10808 * include/grub/multiboot2.h: Provide compatibility defines for
10809 multiboot2.h.
10810 * include/multiboot2.h: Include stdint.h only if needed, using
10811 angle brackets.
10812 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
10813 grub/multiboot2.h.
10814 * loader/ieee1275/multiboot2.c: Likewise.
10815 * loader/multiboot2.c: Likewise.
10816 * loader/multiboot_loader.c: Likewise.
10817
437e6adc 10818 * configure.ac: Use -nostdlib when probing for the target. It
10819 should not be required to have libc for the target.
10820
06a6836c 10821 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
10822 they fail without libc headers for the target.
10823 * include/grub/powerpc/libgcc.h: Use weak attribute for all
10824 exports.
10825 * include/grub/sparc64/libgcc.h: Likewise. Don't use
10826 preprocessor conditionals.
10827
fe052e37 10828 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
10829 build system doesn't need to be aware of the tar.c internals.
10830
afd22553 108312009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 10832
afd22553 10833 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 10834
6b787c4f 108352009-06-09 Robert Millan <rmh.grub@aybabtu.com>
10836
10837 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
10838 disk limit to 26 for IDE, Virtio, Xen and SCSI.
10839
108402009-06-09 Felix Zielcke <fzielcke@z-51.de>
10841
10842 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 10843 aren't available if ata.mod gets used.
6b787c4f 10844
473d1e45 108452009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 10846
473d1e45 10847 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 10848 initialising controller.
473d1e45 10849 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 10850
255a27d4 108512009-06-08 Felix Zielcke <fzielcke@z-51.de>
10852
10853 * util/i386/pc/grub-install.in: Add a parameter --disk-module
10854 to choose between ata and biosdisk module on i386-pc.
10855
473d1e45 108562009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 10857
d55842d8 10858 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
10859 Subclass and Programming Interface fields in terms of the 3 byte
10860 Class Code register.
10861 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
10862
fa5db0b1 10863 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
10864 interface is OHCI. Add grub_dprintf for symmetry with
10865 bus/usb/uhci.c.
10866 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
10867 interface is UHCI. Add interf variable for programming
10868 interface. Print interface with class/subclass.
10869
c0947beb 10870 * bus/usb/ohci.c: Set interf with correct field.
10871
69da8877 10872 * bus/usb/uhci.c: Remove unneeded doubled lines.
10873 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
10874 Remove whitespace inside comment.
10875
9e172e30 108762009-06-08 Robert Millan <rmh.grub@aybabtu.com>
10877
10878 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
10879 as fallback an equivalent option without depth.
10880
de65ee2b 108812009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10882
10883 Not fail if unable to retrieve C/H/S on LBA disks
10884
473d1e45 10885 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 10886 if unable to retrieve C/H/S on LBA disks
10887
b57ea2c9 108882009-06-08 Pavel Roskin <proski@gnu.org>
10889
10890 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
10891 about aliasing.
10892
af361263 108932009-06-08 Felix Zielcke <fzielcke@z-51.de>
10894
10895 * Makefile.in (uninstall): Remove all $lib_DATA files.
10896
4c9ec6b3 108972009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10898
10899 Bugfix: install on partitionless device
10900
10901 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
10902 is a whole disk
10903
e76fc924 109042009-06-08 Felix Zielcke <fzielcke@z-51.de>
10905
10906 * Makefile.in (uninstall): Remove all $include_DATA files.
10907
ba5a0d05 109082009-06-08 Felix Zielcke <fzielcke@z-51.de>
10909
10910 * commands/true.c: New file. Implement the true and false commands.
10911 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
10912 (true_mod_SOURCES): New variable.
10913 (true_mod_CFLAGS): Likewise.
10914 (true_mod_LDFLAGS): Likewise.
10915
c8048e32 109162009-06-05 Colin D Bennett <colin@gibibit.com>
10917
10918 Optimized font character lookup using binary search instead of linear
10919 search. Fonts now are required to have the character index ordered by
10920 code point.
10921
10922 * font/font.c (load_font_index): Verify that fonts have ordered
10923 character indices.
10924 (find_glyph): Use binary search instead of linear search to find a
10925 character in a font.
10926
408305be 109272009-06-05 Michael Scherer <misc@mandriva.org>
10928
10929 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
10930 uses case sensitive btree.
10931 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
10932 only for case insensitive filesystems.
10933
8ee1e0d9 109342009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
10937 * conf/common.rmk (search_mod_CFLAGS): likewise
10938
a9966eb1 109392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10940
473d1e45 10941 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 10942 compensate a compiler bug
10943
9e7100fb 109442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10945
473d1e45 10946 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 10947 instead of '\b'
473d1e45 10948
ede21d71 109492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10950
10951 Definitions for creating asm symbols with Apple's CC
10952
10953 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
10954 [APPLE_CC] (VARIABLE): likewise
10955
9dbf7653 109562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10957
10958 Disable lnxboot.img when compiled
10959 with Apple's CC
10960
10961 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
10962 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
10963 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
10964 [! APPLE_CC] (CODE_LENG): skip
10965 [! APPLE_CC] (setup_sects): likewise
10966 [! APPLE_CC]: skip filling
473d1e45 10967
e93cdc3d 109682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 Address in trampolines based on 32-bit registers when compiled
10971 with Apple's CC
10972
473d1e45 10973 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 10974 for addresses
10975 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
10976
6c688477 109772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10978
10979 Avoid aliases when compiling with Apple's CC for PCBIOS machine
10980
10981 * kern/misc.c [APPLE_CC] (memcpy): new function
10982 [APPLE_CC] (memmove): likewise
10983 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 10984 (memcpy): define alias conditionally on !APPLE_CC
6c688477 10985 (memset): likewise
10986 (abort): likewise
10987 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
10988 APPLE_CC are defined
10989 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
10990 (grub_assert_fail): make prototype conditional
10991
e37ffc5c 109922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
10995
473d1e45 10996 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
10997 grub-macho2img
e37ffc5c 10998 (CLEANFILES): add grub-macho2img
10999 (grub_macho2img_SOURCES): new variable
11000 * kern/i386/pc/startup.S (bss_start): new variable
11001 (bss_end): likewise
11002 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
11003 * util/grub-macho2img.c: new file
11004
cf00df31 110052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11006
11007 Use objconv when compiling with Apple's CC
11008
11009 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
11010 (efiemu64.o): likewise
11011 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
11012 when compiling with Apple's CC
11013 (efiemu64_s.o): likewise
11014 * configure.ac: check for objconv when compiling with Apple's CC
11015 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 11016
d119a20c 110172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11018
11019 Define segment as well as section when compiling with
11020 Apple's CC
11021
11022 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
11023 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
11024 (efiemu_convert_pointer): likewise
11025 (efiemu_set_virtual_address_map): likewise
11026 (efiemu_convert_pointer): likewise
11027 (efiemu_getcrc32): likewise
11028 (init_crc32_table): likewise
11029 (reflect): likewise
11030 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
11031 (GRUB_MOD_DEP): likewise
473d1e45 11032
c8600122 110332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11034
11035 Allow a compilation without -mcmodel=large
11036
11037 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
11038 when compiled without -mcmodel=large
473d1e45 11039 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 11040 without -mcmodel=large
473d1e45 11041 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 11042 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 11043
e8df1d4e 110442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11045
11046 Remove nested functions in efiemu core
11047
11048 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 11049
cc6c3ac1 110502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11051
11052 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
11053
11054 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
11055 temporary storage
473d1e45 11056 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
11057 using Apple's CC
cc6c3ac1 11058 (grub_cpu_is_tsc_supported): likewise
11059 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 11060
3e325901 110612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11062
11063 Absolute addressing through constant with Apple's cc
11064
11065 * kern/i386/pc/startup.S: Define necessary constants
11066 and address through it when using ABS with Apple's CC
11067 * boot/i386/pc/diskboot.S: likewise
11068 * boot/i386/pc/boot.S: likewise
11069 * boot/i386/pc/lnxboot.S: likewise
11070 * boot/i386/pc/cdboot.S: likewise
11071 * mmap/i386/pc/mmap_helper.S: likewise
11072 * commands/i386/pc/drivemap_int13h.S: likewise
11073
2b167a72 110742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 Check if compiler is apple cc
11077
11078 * Makefile.in (ASFLAGS): new variable
11079 (TARGET_ASFLAGS): likewise
11080 (TARGET_MODULE_FORMAT): likewise
11081 (TARGET_APPLE_CC): likewise
11082 (OBJCONV): likewise
11083 (TARGET_IMG_CFLAGS): likewise
11084 (TARGET_CPPFLAGS): add includedir
11085 * configure.ac: call grub_apple_cc and grub_apple_target_cc
11086 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
11087 Check for linker script only if compiler isn't Apple's CC
11088 (TARGET_MODULE_FORMAT): set
11089 (TARGET_APPLE_CC): likewise
11090 (TARGET_ASFLAGS): likewise
11091 (ASFLAGS): likewise
11092 Check for objcopy only if compiler isn't Apple's CC
11093 Check for BSS symbol only if compiler isn't Apple's CC
11094 * genmk.rb: adapt nm options if we use Apple's utils
11095 * aclocal.m4 (grub_apple_cc): new test
11096 (grub_apple_target_cc): likewise
473d1e45 11097
fb14123e 110982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11099
11100 Simplify sed expressions and improve awk
11101
11102 * Makefile.in (install-local): simplify sed expression
11103 * gencmdlist.sh: likewise
11104 * genmoddep.awk: avoid adding module as a dependency of itself
11105
5b889789 111062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11107
11108 Add missing start symbols
11109
11110 * boot/i386/pc/boot.S: add start
fb14123e 11111 * boot/i386/pc/pxeboot.S: likewise
473d1e45 11112
fd2bf2e3 111132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11114
11115 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 11116
11117 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 11118 (relocate_addresses): consider both r_addend and value at offset
11119 (make_mods_section): zerofill modinfo and header
11120 (convert_elf): write prefix here
473d1e45 11121
5389763d 111222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11123
11124 Use .asciz instead of .string
11125
11126 * i386/pc/diskboot.S: use .asciz instead of .string
11127 * i386/pc/boot.S: likewise
11128 * include/grub/dl.h (GRUB_MOD_DEP): likewise
11129 (GRUB_MOD_NAME): likewise
473d1e45 11130
3eb5ed4e 111312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11132
11133 gfxpayload support
11134
11135 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
11136 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
11137 (grub_video_setup): remove
11138 (grub_video_set_mode): new prototype
11139 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
11140 (vid_mode): remove
11141 (linux_vesafb_res): compile only on PCBIOS
11142 (grub_linux_boot): support gfxpayload
11143 * loader/i386/pc/xnu.c (video_hook): new function
11144 (grub_xnu_set_video): support gfxpayload
11145 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
11146 (DEFAULT_VIDEO_HEIGHT): likewise
11147 (DEFAULT_VIDEO_FLAGS): likewise
11148 (DEFAULT_VIDEO_MODE): new definition
11149 (video_hook): new function
11150 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 11151 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 11152 loading xnu
11153 * video/video.c (grub_video_setup): removed
473d1e45 11154 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 11155 grub_video_setup
11156
4b0e1143 111572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11158
11159 Avoid calling biosdisk in drivemap
11160
11161 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
11162 (revparse_biosdisk): likewise
11163 (list_mappings): derive name from id directly
11164 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 11165
fda6cb98 111662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11167
11168 Script fixes
11169
11170 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
11171 (grub_lexer_param): add tokenonhold
11172 (grub_script_create_cmdline): remove cmdline. All callers updated
11173 (grub_script_function_create): make functionname
11174 grub_script_arg. All callers updated
11175 (grub_script_execute_argument_to_string): new prototype
11176 * kern/parser.c (state_transitions): reorder
11177 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 11178 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 11179 make global
11180 (grub_script_execute_cmdline): use new format
11181 * script/sh/function.c (grub_script_function_create): make functionname
11182 grub_script_arg. All callers updated
473d1e45 11183 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 11184 (grub_script_yylex): remove
11185 (grub_script_yylex2): renamed to ...
11186 (grub_script_yylex): ...renamed
11187 parse the expressions like a${b}c
11188 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
11189 (GRUB_PARSER_TOKEN_VAR): remove
11190 (GRUB_PARSER_TOKEN_NAME): likewise
11191 ("if"): declare as typeless
11192 ("while"): likewise
11193 ("function"): likewise
11194 ("else"): likewise
11195 ("then"): likewise
11196 ("fi"): likewise
11197 (text): remove
11198 (argument): likewise
11199 (script): accept empty scripts and make exit on error
11200 (arguments): use GRUB_PARSER_TOKEN_ARG
11201 (function): likewise
11202 (command): move error handling to script
11203 (menuentry): move grub_script_lexer_ref before
473d1e45 11204 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 11205 argument. All callers updated
11206
f4448a07 112072009-06-04 Robert Millan <rmh.grub@aybabtu.com>
11208
11209 Prevent GRUB from probing floppies during boot.
11210
11211 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
11212 * commands/search.c (options): Add --no-floppy.
11213 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
11214 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
11215 --no-floppy when searching for UUIDs.
11216
2bf5885a 112172009-06-04 Robert Millan <rmh.grub@aybabtu.com>
11218
11219 Simplify the code duplication in commands/search.c.
11220
11221 * commands/search.c (search_label, search_fs_uuid): Merge into ...
11222 (search_fs): ... this. Update all users.
11223
f6fd460a 112242009-06-03 Felix Zielcke <fzielcke@z-51.de>
11225
11226 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
11227
cbb3c83e 112282009-05-28 Pavel Roskin <proski@gnu.org>
11229
57788cfd 11230 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
11231 Remove the original symlink explicitly.
11232
cbb3c83e 11233 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
11234 just one slash. That's how grub_fshelp_find_file() does it.
11235
cd0d5e30 112362009-05-26 Pavel Roskin <proski@gnu.org>
11237
f0f8bbe2 11238 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
11239 to `str'.
11240
cd0d5e30 11241 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
11242 possibly unused.
11243
8c2cab51 112442009-05-25 Christian Franke <franke@computer.org>
11245
11246 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
11247 register.
11248 (grub_atapi_identify): Add wait after drive select.
11249 (grub_ata_identify): Do more strict status register check before
11250 calling grub_atapi_identify (). Suppress error message if status
11251 register is 0x00 after command failure. Add status register
11252 check after PIO read to avoid bogus identify due to stuck DRQ.
11253 Thanks to Pavel Roskin for testing.
11254 (grub_device_initialize): Remove unsafe status register check.
11255 Thanks to 'phcoder' for problem report and patch.
11256 Prevent sign extension in debug message.
11257
230c0ad6 112582009-05-23 Colin D Bennett <colin@gibibit.com>
11259
11260 Cleaned up `include/grub/normal.h'. Grouped prototypes by
11261 definition file, and functions defined in `normal/menu.c' have had
11262 their prototypes moved to `include/grub/menu.h' for consistency.
11263
11264 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
11265 from normal.h.
11266 (grub_menu_get_entry): Likewise.
11267 (grub_menu_get_timeout): Likewise.
11268 (grub_menu_set_timeout): Likewise.
11269 (grub_menu_execute_entry): Likewise.
11270 (grub_menu_execute_with_fallback): Likewise.
11271 (grub_menu_entry_run): Likewise.
11272
11273 * include/grub/normal.h: Re-ordered and grouped function
11274 prototypes by file that the function is defined in.
11275 (grub_menu_execute_callback): Removed; moved to menu.h.
11276 (grub_menu_get_entry): Likewise.
11277 (grub_menu_get_timeout): Likewise.
11278 (grub_menu_set_timeout): Likewise.
11279 (grub_menu_execute_entry): Likewise.
11280 (grub_menu_execute_with_fallback): Likewise.
11281 (grub_menu_entry_run): Likewise.
11282 (grub_menu_addentry): Renamed from this ...
11283 (grub_normal_add_menu_entry): ... to this.
11284
11285 * normal/main.c (grub_menu_addentry): Renamed from this ...
11286 (grub_normal_add_menu_entry): ... to this.
11287
11288 * script/sh/execute.c (grub_script_execute_menuentry): Update
11289 reference to renamed grub_menu_addentry function.
11290
861f03a5 112912009-05-23 Felix Zielcke <fzielcke@z-51.de>
11292
11293 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
11294
96b1619a 112952009-05-22 Pavel Roskin <proski@gnu.org>
11296
bf6a5fb2 11297 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
11298 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
11299 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
11300 compiling for the i386 targets, but not for the utilities.
11301
96b1619a 11302 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
11303 to grub_uint8_t.
11304 (grub_root_drive): Likewise.
11305 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
11306 remove alignment.
11307 (grub_root_drive): Change size to byte.
11308 (grub_start_addr): Remove.
11309 (grub_end_addr): Likewise.
11310 (grub_apm_bios_info): Likewise.
11311
b729776b 113122009-05-21 Felix Zielcke <fzielcke@z-51.de>
11313
11314 * normal/i386: Remove.
11315 * normal/powerpc: Likewise.
11316 * normal/sparc64: Likewise.
11317 * normal/x86_64: Likewise.
11318
0a15ce80 113192009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11320
11321 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 11322 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 11323 * loader/i386/xnu_helper.S: Likewise
d6da58e6 11324
33db9015 113252009-05-18 Colin D Bennett <colin@gibibit.com>
11326
d6da58e6 11327 Display error messages when parsing a Lua statement fails.
11328 Previously, executing a syntactically invalid statement like
11329 ")foo" or "bar;" would silently fail.
33db9015 11330
11331 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 11332 (grub_lua_parse_line): Improved reporting of Lua parser and
11333 execution errors.
33db9015 11334
46422c89 113352009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11336
11337 Remove -Werror which causes build to fail on some systems
11338
11339 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
11340 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
11341 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 11342
22f53a96 113432009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 trampoline for linux on 64-bit platform
11346
18f547ad 11347 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
11348 loader/i386/efi/linux_trampoline.S
11349 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 11350 declaration
d6da58e6 11351 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
11352 here
22f53a96 11353 * loader/i386/linux_trampoline.S: moved here
d6da58e6 11354 * loader/i386/efi/linux.c (allocate_pages): reserve space for
11355 trampoline
22f53a96 11356 (jumpvector): removed
11357 (grub_linux_trampoline_start): new declaration
11358 (grub_linux_trampoline_end): likewise
11359 (grub_linux_boot): use trampoline when on 64-bit platform
11360 * loader/i386/linux.c: likewise
11361
cb5a0f40 113622009-05-16 Pavel Roskin <proski@gnu.org>
11363
11364 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
11365 const to avoid a warning.
11366 (grub_lua_setenv): Likewise.
11367 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
11368 lmsg to fix a warning.
11369
334f2c28 113702009-05-16 Felix Zielcke <fzielcke@z-51.de>
11371
11372 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 11373 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11374 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
11375 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11376 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
11377 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11378 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
11379 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 11380
59e5d3ec 113812009-05-16 Felix Zielcke <fzielcke@z-51.de>
11382
11383 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
11384
9d87a1ba 113852009-05-16 Bean <bean123ch@gmail.com>
11386
11387 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
11388 (lua_mod_SOURCES): New variable.
11389 (lua_mod_CFLAGS): Likewise.
11390 (lua_mod_LDFLAGS): Likewise.
11391
11392 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
11393 (setjmp_mod_SOURCES): New variable.
11394 (setjmp_mod_CFLAGS): Likewise.
11395 (setjmp_LDFLAGS): Likewise.
11396
11397 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
11398 (setjmp_mod_SOURCES): New variable.
11399 (setjmp_mod_CFLAGS): Likewise.
11400 (setjmp_LDFLAGS): Likewise.
11401
11402 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
11403 (setjmp_mod_SOURCES): New variable.
11404 (setjmp_mod_CFLAGS): Likewise.
11405 (setjmp_LDFLAGS): Likewise.
11406
11407 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
11408 (setjmp_mod_SOURCES): New variable.
11409 (setjmp_mod_CFLAGS): Likewise.
11410 (setjmp_LDFLAGS): Likewise.
11411
11412 * normal/i386/setjmp.S: Moved from here ...
11413 * lib/i386/setjmp.S: ... Moved here
11414 * normal/x86_64/setjmp.S: Moved from here ...
11415 * lib/x86_64/setjmp.S: ... Moved here
11416 * normal/powerpc/setjmp.S: Moved from here ...
11417 * lib/powerpc/setjmp.S: ... Moved here
11418 * normal/sparc64/setjmp.S: Moved from here ...
11419 * lib/sparc64/setjmp.S: ... Moved here
11420
11421 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
11422 returns_twice in mingw.
11423
11424 * script/lua/grub_lib.c: New file.
11425 * script/lua/grub_lib.h: Likewise.
11426 * script/lua/grub_lua.h: Likewise.
11427 * script/lua/grub_main.c: Likewise.
11428 * script/lua/lapi.c: Likewise.
11429 * script/lua/lapi.h: Likewise.
11430 * script/lua/lauxlib.c: Likewise.
11431 * script/lua/lauxlib.h: Likewise.
11432 * script/lua/lbaselib.c: Likewise.
11433 * script/lua/lcode.c: Likewise.
11434 * script/lua/lcode.h: Likewise.
11435 * script/lua/ldblib.c: Likewise.
11436 * script/lua/ldebug.c: Likewise.
11437 * script/lua/ldebug.h: Likewise.
11438 * script/lua/ldo.c: Likewise.
11439 * script/lua/ldo.h: Likewise.
11440 * script/lua/ldump.c: Likewise.
11441 * script/lua/lfunc.c: Likewise.
11442 * script/lua/lfunc.h: Likewise.
11443 * script/lua/lgc.c: Likewise.
11444 * script/lua/lgc.h: Likewise.
11445 * script/lua/linit.c: Likewise.
11446 * script/lua/liolib.c: Likewise.
11447 * script/lua/llex.c: Likewise.
11448 * script/lua/llex.h: Likewise.
11449 * script/lua/llimits.h: Likewise.
11450 * script/lua/lmathlib.c: Likewise.
11451 * script/lua/lmem.c: Likewise.
11452 * script/lua/lmem.h: Likewise.
11453 * script/lua/loadlib.c: Likewise.
11454 * script/lua/lobject.c: Likewise.
11455 * script/lua/lobject.h: Likewise.
11456 * script/lua/lopcodes.c: Likewise.
11457 * script/lua/lopcodes.h: Likewise.
11458 * script/lua/loslib.c: Likewise.
11459 * script/lua/lparser.c: Likewise.
11460 * script/lua/lparser.h: Likewise.
11461 * script/lua/lstate.c: Likewise.
11462 * script/lua/lstate.h: Likewise.
11463 * script/lua/lstring.c: Likewise.
11464 * script/lua/lstring.h: Likewise.
11465 * script/lua/lstrlib.c: Likewise.
11466 * script/lua/ltable.c: Likewise.
11467 * script/lua/ltable.h: Likewise.
11468 * script/lua/ltablib.c: Likewise.
11469 * script/lua/ltm.c: Likewise.
11470 * script/lua/ltm.h: Likewise.
11471 * script/lua/lua.h: Likewise.
11472 * script/lua/luaconf.h: Likewise.
11473 * script/lua/lualib.h: Likewise.
11474 * script/lua/lundump.c: Likewise.
11475 * script/lua/lundump.h: Likewise.
11476 * script/lua/lvm.c: Likewise.
11477 * script/lua/lvm.h: Likewise.
11478 * script/lua/lzio.c: Likewise.
11479 * script/lua/lzio.h: Likewise.
11480
5e898c9d 114812009-05-16 Bean <bean123ch@gmail.com>
11482
11483 * include/grub/kernel.h (grub_module_header_types): Add type
11484 OBJ_TYPE_CONFIG.
11485
11486 * kern/main.c (grub_load_config): New function.
11487 (grub_main): Call grub_load_config to read boot config.
11488
11489 * grub-mkimage (generate_image): New parameter config_path.
11490 (options): New option --config.
11491 (main): Parse --config option, and pass it to generate_image.
11492
cf353a47 114932009-05-14 Christian Franke <franke@computer.org>
11494
11495 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
11496 This fixes build on Cygwin.
11497
3834887f 114982009-05-14 Pavel Roskin <proski@gnu.org>
11499
11500 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
11501 jump. This saves two bytes, so the typical case of 2 swapped
11502 drives would fit 32 bytes.
11503
8090fc01 115042009-05-13 Pavel Roskin <proski@gnu.org>
11505
ac963883 11506 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
11507 grub_uint32_t to avoid a warning.
11508
8090fc01 11509 * loader/i386/linux.c (allocate_pages): When assigning
11510 real_mode_mem, cast through grub_size_t to fix a warning. The
11511 code already makes sure that the value would fit a pointer.
11512 (grub_linux_setup_video): Cast render_target->data to
11513 grub_size_t to fix a warning.
11514
18f547ad 115152009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 11516
11517 * commands/i386/pc/drivemap.c: New file - implement drivemap
11518 command.
11519 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
11520 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
11521
6f6a8b28 115222009-05-13 Pavel Roskin <proski@gnu.org>
11523
11524 * util/i386/pc/grub-setup.c (setup): Remove unused variable
11525 embedding_area_exists.
11526
15fbf4c4 115272009-05-13 Robert Millan <rmh.grub@aybabtu.com>
11528
11529 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
11530 it easier to understand / work with.
59978c8a 11531 Improve warning messages for cases where there's no embedding area,
11532 or when it is too small (or core.img too large).
15fbf4c4 11533
238e871f 115342009-05-13 Pavel Roskin <proski@gnu.org>
11535
0ab3a9a4 11536 * loader/i386/pc/multiboot2.c: Add necessary includes for
11537 grub_multiboot2_real_boot().
11538
a2c8c5f8 11539 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
11540 PX record is always little-endian. We only need the lower 2
11541 bytes of the mode.
11542
faec96af 11543 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
11544 facilitate code reuse.
11545 (grub_cpio_mount): Use "struct head", not a char buffer. This
11546 fixes a warning reported by gcc 4.4.
11547
238e871f 11548 * kernel/disk.c (grub_disk_read): Use void pointer for the
11549 buffer.
11550 (grub_disk_write): Use const void pointer for the buffer.
11551 Adjust all callers. Remove unnecessary casts.
11552
901d2f0c 115532009-05-10 Robert Millan <rmh.grub@aybabtu.com>
11554
11555 * util/i386/pc/grub-install.in: Update copyright year.
11556
18f547ad 115572009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 11558
11559 gptsync
11560
11561 * commands/gptsync.c: new file
11562 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
11563 (gptsync_mod_SOURCES): new variable
11564 (gptsync_mod_CFLAGS): likewise
11565 (gptsync_mod_LDFLAGS): likewise
18f547ad 11566 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 11567 new definition
11568 (GRUB_PC_PARTITION_TYPE_HFS): likewise
11569 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
11570 * conf/i386-ieee1275.rmk: likewise
11571 * conf/i386-pc.rmk: likewise
11572 * conf/powerpc-ieee1275.rmk: likewise
11573
b4ba690a 115742009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11575
11576 Fixed grub-emu
11577
11578 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
11579 (grub_dl_ref): likewise
11580
317e1a44 115812009-05-08 Robert Millan <rmh.grub@aybabtu.com>
11582
11583 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
11584 split in two functions (one for msdos and one for gpt).
11585
041b8094 115862009-05-08 Pavel Roskin <proski@gnu.org>
11587
752473c2 11588 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
11589 not modified.
11590
041b8094 11591 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
11592 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
11593 Initialize them with -1. Add sanity check for bad1. Eliminate
11594 nerr variable.
11595
172800ce 115962009-05-08 David S. Miller <davem@davemloft.net>
11597
11598 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
11599
29aa5e81 116002009-05-06 Robert Millan <rmh.grub@aybabtu.com>
11601
11602 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 11603 existence.
29aa5e81 11604
96613b62 116052009-05-05 Felix Zielcke <fzielcke@z-51.de>
11606
11607 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 11608 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 11609
eef73c8a 116102009-05-05 David S. Miller <davem@davemloft.net>
11611
11612 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
11613
119494b5 116142009-05-05 Pavel Roskin <proski@gnu.org>
11615
11616 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
11617 of grub_dl_ref() and grub_dl_unref().
11618 * commands/parttool.c: Remove preprocessor conditionals around
11619 grub_dl_ref() and grub_dl_unref().
11620 * fs/affs.c: Likewise.
11621 * fs/afs.c: Likewise.
11622 * fs/cpio.c: Likewise.
11623 * fs/ext2.c: Likewise.
11624 * fs/fat.c: Likewise.
11625 * fs/hfs.c: Likewise.
11626 * fs/hfsplus.c: Likewise.
11627 * fs/iso9660.c: Likewise.
11628 * fs/jfs.c: Likewise.
11629 * fs/minix.c: Likewise.
11630 * fs/ntfs.c: Likewise.
11631 * fs/reiserfs.c: Likewise.
11632 * fs/sfs.c: Likewise.
11633 * fs/udf.c: Likewise.
11634 * fs/ufs.c: Likewise.
11635 * fs/xfs.c: Likewise.
11636 * include/grub/dl.h: Likewise.
11637 * loader/xnu.c: Likewise.
11638
de5fd76e 116392009-05-04 Pavel Roskin <proski@gnu.org>
11640
11641 * commands/acpi.c: Remove unused variable my_mod.
11642 * partmap/amiga.c: Likewise.
11643 * partmap/apple.c: Likewise.
11644 * partmap/gpt.c: Likewise.
11645 * partmap/pc.c: Likewise.
11646 * partmap/sun.c: Likewise.
11647 * term/gfxterm.c: Likewise.
11648 * term/i386/pc/vesafb.c: Likewise.
11649 * term/i386/pc/vga.c: Likewise.
11650
983598ad 116512009-05-04 David S. Miller <davem@davemloft.net>
11652
11653 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
11654 pointer args to grub_ieee1275_get_property().
11655
8aadec43 11656 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
11657
9554b15e 11658 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
11659 devices, and do not traverse down under controller nodes.
11660
67e23c90 11661 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
11662 (grub_ofdisk_open): Use it to un-escape "," characters.
11663 * kern/disk.c (find_part_sep): New.
11664 (grub_disk_open): Use it to find the first non-escaped ','
11665 character in the disk name.
11666 * util/ieee1275/devicemap.c (escape_of_path): New.
11667 (grub_util_emit_devicemap_entry): Use it.
11668 * util/sparc64/ieee1275/grub-install.in: Update script to
11669 strip partition specifiers properly by not triggering on
11670 '\' escaped ',' characters.
11671
74bfdd2f 116722009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11673
11674 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
11675 to 0x300.
11676 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
11677 resolutions.
11678 (linux_vesafb_modes): Add a lot of additional modes to the list (based
11679 on documentation from Wikipedia).
11680
4241d2b1 116812009-05-04 Pavel Roskin <proski@gnu.org>
11682
11683 * disk/ata.c: Spelling fixes.
11684 * disk/raid.c: Likewise.
11685 * disk/usbms.c: Likewise.
11686 * disk/dmraid_nvidia.c: Likewise.
11687 * kern/ieee1275/openfw.c: Likewise.
11688 * kern/ieee1275/init.c: Likewise.
11689 * kern/ieee1275/cmain.c: Likewise.
11690 * boot/i386/pc/cdboot.S: Likewise.
11691 * video/readers/png.c: Likewise.
11692 * video/i386/pc/vbe.c: Likewise.
11693 * fs/udf.c: Likewise.
11694 * fs/hfs.c: Likewise.
11695 * fs/reiserfs.c: Likewise.
11696 * efiemu/runtime/efiemu.c: Likewise.
11697 * efiemu/main.c: Likewise.
11698 * efiemu/mm.c: Likewise.
11699 * include/grub/elf.h: Likewise.
11700 * include/grub/xnu.h: Likewise.
11701 * include/grub/usbdesc.h: Likewise.
11702 * include/grub/usb.h: Likewise.
11703 * include/grub/script_sh.h: Likewise.
11704 * include/grub/lib/LzmaEnc.h: Likewise.
11705 * include/grub/efiemu/efiemu.h: Likewise.
11706 * include/grub/command.h: Likewise.
11707 * normal/menu.c: Likewise.
11708 * normal/main.c: Likewise.
11709 * normal/datetime.c: Likewise.
11710 * bus/usb/uhci.c: Likewise.
11711 * mmap/i386/uppermem.c: Likewise.
11712 * mmap/mmap.c: Likewise.
11713 * commands/acpi.c: Likewise.
11714 * commands/test.c: Likewise.
11715 * partmap/apple.c: Likewise.
11716 * font/font.c: Likewise.
11717 * loader/sparc64/ieee1275/linux.c: Likewise.
11718 * loader/macho.c: Likewise.
11719 * loader/i386/bsd_trampoline.S: Likewise.
11720 * loader/i386/bsd.c: Likewise.
11721 * loader/xnu.c: Likewise.
11722 * term/i386/pc/vesafb.c: Likewise.
11723 * term/usb_keyboard.c: Likewise.
11724 * util/resolve.c: Likewise.
11725 * util/getroot.c: Likewise.
11726
0cfc0083 117272009-05-04 Felix Zielcke <fzielcke@z-51.de>
11728
11729 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
11730
7c1d00cd 117312009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11732
11733 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
11734 build error.
11735
b01f0548 117362009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11737
11738 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
11739 parameter only available on BIOS.
11740
ecc3eb22 117412009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11742
11743 Removed wrong semicolon in declaration
11744
11745 * grub/misc.h (grub_dprintf): remove semicolon
11746
112972a9 117472009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11748
11749 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
11750 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
11751 is done by grub_cmd_linux() now).
11752 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
11753 restore video to text mode.
11754 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
11755 indicates lack of "vga=" parameter. "vga=0" is mapped to
11756 `GRUB_LINUX_VID_MODE_NORMAL'.
11757
afd5c115 117582009-05-04 Felix Zielcke <fzielcke@z-51.de>
11759
11760 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
11761 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
11762 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 11763 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 11764 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
11765 `grub_script.tab.c'.
11766
11767 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11768 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11769 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11770 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11771 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11772
faa517ce 11773 * Makefile.in: Remove duplicated 2008 in Copyright line.
11774
ae0c0bdc 117752009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11776
473d1e45 11777 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 11778 unconditionally.
11779 * include/grub/util/misc.h (grub_util_warn): New declaration.
11780
11781 * util/i386/pc/grub-install.in: Understand --force and pass it down
11782 to grub-setup.
11783
11784 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
11785 down to setup().
11786 (setup): Improve error messages and add warnings when requested to
11787 install in odd layouts. Refuse to install using blocklists unless
11788 --force was set.
11789
18f547ad 117902009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 11791
11792 * disk/raid.c (grub_raid_scan_device): Improve debug message.
11793
6d260daa 117942009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11795
11796 Updated copyright year
11797
11798 * fs/hfsplus.c: updated copyright year
18f547ad 11799
69f853f8 118002009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11801
11802 HFS+ UUID
11803
18f547ad 11804 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 11805 in the space previously used by unused3
11806 (grub_hfsplus_uuid): new function
11807 (grub_hfsplus_fs): added uuid field
11808
4c402e73 118092009-05-03 Pavel Roskin <proski@gnu.org>
11810
11811 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
11812 suppress warnings. It's no longer needed.
11813 * disk/host.c: Likewise.
11814 * disk/ata_pthru.c: Likewise.
11815 * disk/loopback.c: Likewise.
11816 * hook/datehook.c: Likewise.
11817 * parttool/pcpart.c: Likewise.
11818 * fs/i386/pc/pxe.c: Likewise.
11819 * fs/ntfscomp.c: Likewise.
11820 * efiemu/main.c: Likewise.
11821 * mmap/mmap.c: Likewise.
11822 * commands/crc.c: Likewise.
11823 * commands/hexdump.c: Likewise.
11824 * commands/hdparm.c: Likewise.
11825 * commands/acpi.c: Likewise.
11826 * commands/echo.c: Likewise.
11827 * commands/minicmd.c: Likewise.
11828 * commands/blocklist.c: Likewise.
11829 * commands/memrw.c: Likewise.
11830 * commands/loadenv.c: Likewise.
11831 * commands/usbtest.c: Likewise.
11832 * commands/lsmmap.c: Likewise.
11833 * commands/boot.c: Likewise.
11834 * commands/parttool.c: Likewise.
11835 * commands/configfile.c: Likewise.
11836 * commands/search.c: Likewise.
11837 * commands/ieee1275/suspend.c: Likewise.
11838 * commands/cat.c: Likewise.
11839 * commands/i386/pc/pxecmd.c: Likewise.
11840 * commands/i386/pc/play.c: Likewise.
11841 * commands/i386/pc/halt.c: Likewise.
11842 * commands/i386/pc/vbeinfo.c: Likewise.
11843 * commands/i386/pc/vbetest.c: Likewise.
11844 * commands/lspci.c: Likewise.
11845 * commands/date.c: Likewise.
11846 * commands/handler.c: Likewise.
11847 * commands/ls.c: Likewise.
11848 * commands/test.c: Likewise.
11849 * commands/cmp.c: Likewise.
11850 * commands/efi/loadbios.c: Likewise.
11851 * commands/efi/fixvideo.c: Likewise.
11852 * commands/halt.c: Likewise.
11853 * commands/help.c: Likewise.
11854 * commands/reboot.c: Likewise.
11855 * hello/hello.c: Likewise.
11856 * script/sh/main.c: Likewise.
11857 * loader/xnu.c: Likewise.
11858 * term/terminfo.c: Likewise.
11859 * term/i386/pc/serial.c: Likewise.
11860 * term/usb_keyboard.c: Likewise.
11861
515b5079 118622009-05-03 David S. Miller <davem@davemloft.net>
11863
11864 * normal/menu.c: Include grub/parser.h
11865
dfc31a22 118662009-05-03 Pavel Roskin <proski@gnu.org>
11867
2fee74f1 11868 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
11869 not char*.
11870 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
11871 Suggested by Javier Martín <lordhabbit@gmail.com>
11872
dfc31a22 11873 * util/i386/pc/grub-mkrescue.in: Allow for the case when
11874 efiemu??.o doesn't exist.
11875 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
11876 copying.
11877
18f547ad 118782009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 11879
11880 FreeBSD 64-bit support
11881
18f547ad 11882 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 11883 and loader/i386/bsd_trampoline.S
11884 (bsd_mod_ASFLAGS): new variable
11885 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
11886 (FREEBSD_MODTYPE_KERNEL64): likewise
11887 (grub_bsd64_trampoline_start): likewise
11888 (grub_bsd64_trampoline_end): likewise
11889 (grub_bsd64_trampoline_selfjump): likewise
11890 (grub_bsd64_trampoline_gdt): likewise
11891 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
11892 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
11893 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
11894 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 11895 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 11896 of "attrib" member
11897 * loader/i386/bsd_pagetable.c: new file
11898 * loader/i386/bsd_trampoline.S: likewise
11899 * loader/i386/bsd.c (ALIGN_QWORD): new macro
11900 (ALIGN_VAR): likewise
11901 (entry_hi): new variable
11902 (kern_end_mdofs): likewise
11903 (is_64bit): likewise
11904 (grub_freebsd_add_meta): use ALIGN_VAR
11905 (grub_e820_mmap): new declaration
11906 (grub_freebsd_add_mmap): new function
11907 (grub_freebsd_add_meta_module): support 64 bit kernels
11908 (grub_freebsd_list_modules): use ALIGN_VAR
11909 (gdt_descriptor): new declaration
11910 (grub_freebsd_boot): support 64 bit kernels
11911 (grub_bsd_elf64_hook): new function
11912 (grub_bsd_load_elf): support elf64
11913
038c5720 119142009-05-03 Bean <bean123ch@gmail.com>
11915
11916 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
11917 after we get the result of if statement.
11918
fc45fb58 119192009-05-03 Bean <bean123ch@gmail.com>
11920
11921 * Makefile.in (enable_efiemu): New variable.
11922
11923 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
11924 set.
11925 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
11926 path.
11927 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
11928 path, add -mno-red-zone option.
11929 (efiemu64_s.o): Likewise.
11930 (efiemu64.o): Use macro $^ for source file.
11931
11932 * configure.ac (--enable-efiemu): New option.
11933
bbee0f2b 119342009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11935
11936 xnu support
11937
11938 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
11939 (pkglib_MODULES): add xnu.mod
11940 (xnu_mod_SOURCES): new variable
11941 (xnu_mod_CFLAGS): likewise
11942 (xnu_mod_LDFLAGS): likewise
11943 (xnu_mod_ASFLAGS): likewise
11944 * conf/i386-pc.rmk: likewise
11945 * conf/x86_64-efi.rmk: likewise
7dd4a573 11946 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 11947 new declaration
11948 * include/grub/i386/macho.h: new file
11949 * include/grub/i386/xnu.h: likewise
11950 * include/grub/macho.h: likewise
11951 * include/grub/machoload.h: likewise
11952 * include/grub/x86_64/macho.h: likewise
11953 * include/grub/x86_64/xnu.h: likewise
11954 * include/grub/xnu.h: likewise
11955 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
11956 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
11957 * loader/i386/efi/xnu.c: new file
11958 * loader/i386/pc/xnu.c: likewise
11959 * loader/i386/xnu.c: likewise
11960 * loader/i386/xnu_helper.S: likewise
11961 * loader/macho.c: likewise
11962 * loader/xnu.c: likewise
11963 * loader/xnu_resume.c: likewise
11964 * util/grub-dumpdevtree: likewise
11965 * include/grub/i386/pit.h: include grub/err.h
11966 (grub_pit_wait): export
11967 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 11968
5caf964d 119692009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11970
11971 Efiemu
7dd4a573 11972
5caf964d 11973 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 11974 _linux_efi, linux_efi.
11975 new files in grub-emu
5caf964d 11976 new targets efiemu32.o and efiemu64.o
11977 * loader/linux_normal_efiemu.c: likewise
11978 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 11979 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 11980 files to copy
11981 * include/grub/autoefi.h: new file
7dd4a573 11982 * include/grub/i386/efiemu.h: likewise
5caf964d 11983 * include/grub/i386/pc/efiemu.h: likewise
11984 * include/grub/efi/api.h: add LL suffix when necessary
11985 new definitions relating to tables
11986 * include/grub/efiemu/efiemu.h: new file
11987 * include/grub/efiemu/runtime.h: likewise
11988 * efiemu/prepare.c: likewise
11989 * efiemu/loadcore_common.c: likewise
11990 * efiemu/loadcore64.c: likewise
11991 * efiemu/runtime/efiemu.sh: likewise
11992 * efiemu/runtime/efiemu.S: likewise
11993 * efiemu/runtime/efiemu.c: likewise
11994 * efiemu/runtime/config.h: likewise
11995 * efiemu/prepare32.c: likewise
11996 * efiemu/main.c: likewise
11997 * efiemu/modules/pnvram.c: likewise
11998 * efiemu/modules/i386: likewise
11999 * efiemu/modules/i386/pc: likewise
12000 * efiemu/modules/acpi.c: likewise
12001 * efiemu/i386/pc/cfgtables.c: likewise
12002 * efiemu/i386/loadcore64.c: likewise
12003 * efiemu/i386/loadcore32.c: likewise
12004 * efiemu/prepare64.c: likewise
12005 * efiemu/loadcore.c: likewise
12006 * efiemu/symbols.c: likewise
12007 * efiemu/mm.c: likewise
12008 * efiemu/loadcore32.c: likewise
7dd4a573 12009
120102009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 12011
12012 ACPI spoofing
12013
12014 * commands/acpi.c: new file
12015 * commands/i386/pc/acpi.c: likewise
12016 * commands/efi/acpi.c: likewise
12017 * include/grub/acpi.h: likewise
12018 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
12019 (acpi_mod_SOURCES): new variable
12020 (acpi_mod_CFLAGS): likewise
12021 (acpi_mod_LDFLAGS): likewise
12022 * conf/i386-efi.rmk: likewise
12023 * conf/x86_64-efi.rmk: likewise
12024
7dd4a573 120252009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 12026
12027 Missing part from mmap patch
12028
12029 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
12030 (grub_mmap_unregister)
12031 (grub_mmap_free_and_unregister): use grub_mmap_register
12032
7dd4a573 120332009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 12034
12035 Mmap services
12036
12037 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
12038 * loader/i386/linux.c (find_mmap_size): likewise
12039 (allocate_pages): likewise
12040 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
12041 (grub_fill_multiboot_mmap): likewise
12042 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
12043 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
12044 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
12045 (OPENBSD_MMAP_RESERVED): likewise
12046 * include/grub/i386/pc/memory.h: include grub/memory.h
12047 (grub_lower_mem): removed
12048 (grub_upper_mem): likewise
12049 (GRUB_MACHINE_MEMORY_ACPI): new definition
12050 (GRUB_MACHINE_MEMORY_NVS): likewise
12051 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
12052 (GRUB_MACHINE_MEMORY_HOLE): likewise
12053 (grub_machine_mmap_register): likewise
12054 (grub_machine_mmap_unregister): likewise
12055 (grub_machine_get_upper): likewise
12056 (grub_machine_get_lower): likewise
12057 (grub_machine_get_post64): likewise
12058 * include/grub/i386/efi/memory.h: new file
12059 * include/grub/x86_64/efi/memory.h: likewise
12060 * include/grub/efi/memory.h: likewise
12061 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
12062 (mmap_mod_SOURCES): new variable
12063 (mmap_mod_LDFLAGS): likewise
12064 (mmap_mod_ASFLAGS): likewise
12065 * conf/i386-coreboot.rmk: likewise
12066 * conf/i386-ieee1275.rmk: likewise
12067 * conf/i386-efi.rmk: likewise
12068 * conf/x86_64-efi.rmk: likewise
12069 * include/grub/types.h (UINT_TO_PTR): new macro
12070 (PTR_TO_UINT32): likewise
12071 (PTR_TO_UINT64): likewise
12072 * include/grub/memory.h: new file
12073 * mmap/i386/pc/mmap.c: likewise
12074 * mmap/i386/pc/mmap_helper.S: likewise
12075 * mmap/i386/uppermem.c: likewise
12076 * mmap/mmap.c: likewise
12077 * mmap/efi/mmap.c: likewise
7dd4a573 12078 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 12079 grub_upper_mem
12080 * kern/i386/pc/init.c (grub_lower_mem): removed variable
12081 (grub_upper_mem): likewise
12082 (grub_machine_init): don't use grub_upper_mem,
12083 make grub_lower_mem local
12084 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
12085 grub_mmap_iterate and grub_mmap_get_upper
12086 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
12087
d558e6b5 120882009-05-02 Bean <bean123ch@gmail.com>
12089
12090 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
12091 script/sh/parser.y.
12092 (pkglib_MODULES): Add normal.mod and sh.mod.
12093 (normal_SOURCES): New variable.
12094 (normal_mod_CFLAGS): Likewise.
12095 (normal_mod_LDFLAGS): Likewise.
12096 (sh_mod_SOURCES): Likewise.
12097 (sh_mod_CFLAGS): Likewise.
12098 (sh_mod_LDFLAGS): Likewise.
12099
12100 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
12101 script/sh/lexer.c_DEPENDENCIES.
12102 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
12103 kern/rescue_reader.c and kern/rescue_parser.c.
12104 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
12105 (grub_emu_SOURCES): Change source files.
12106 (pkglib_MODULES): Remove normal.mod.
12107 (normal_SOURCES): Removed.
12108 (normal_mod_CFLAGS): Likewise.
12109 (normal_mod_LDFLAGS): Likewise.
12110 * conf/i386-coreboot.rmk: Likewise.
12111 * conf/i386-efi.rmk: Likewise.
12112 * conf/i386-ieee1276.rmk: Likewise.
12113 * conf/powerpc-ieee1275.rmk: Likewise.
12114 * conf/sparc64-ieee1275.rmk: Likewise.
12115 * conf/x86_64-efi.rmk: Likewise.
12116
12117 * include/grub/command.h (grub_command_execute): New inline function.
12118
12119 * include/grub/menu.h (grub_menu_entry): Removed commands field.
12120
12121 * include/grub/normal.h: Remove <grub/setjmp.h>.
12122 (grub_fs_module_list): Moved to normal/autofs.c.
12123 (grub_exit_env): Removed.
12124 (grub_command_execute): Likewise.
12125 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
12126 parameter script.
12127 (read_command_list): New function declaration.
12128 (read_fs_list): Likewise.
12129
12130 * include/parser.h: Include <grub/reader.h>.
12131 (grub_parser_split_cmdline): Change type of getline parameter.
12132 (grub_parser): New structure.
12133 (grub_parser_class): New variable.
12134 (grub_parser_execute): New function declaration.
12135 (grub_register_rescue_parser): Likewise.
12136 (grub_parser_register): New inline function.
12137 (grub_parser_unregister): Likewise.
12138 (grub_parser_get_current): Likewise.
12139 (grub_parser_set_current): Likewise.
12140
12141 * include/grub/reader.h: New file.
12142 * kern/reader.c: Likewise.
12143 * kern/rescue_parser.c: Likewise.
12144 * kern/rescue_reader.c: Likewise.
12145 * normal/autofs.c: Likewise.
12146 * normal/dyncmd.c: Likewise.
12147
12148 * include/grub/rescue.h: Removed.
12149 * normal/command.h: Likewise.
12150
12151 * include/grub/script.h: Moved to ...
12152 * include/grub/script_sh.h: ... Moved here.
12153 * normal/execute.c: Moved to ...
12154 * script/sh/execute.c: ... Moved here.
12155 * normal/function.c: Moved to ...
12156 * script/sh/function.c: ... Moved here.
12157 * normal/lexer.c: Moved to ...
12158 * script/sh/lexer.c: ... Moved here.
12159 * normal/parser.y: Moved to ...
12160 * script/sh/parser.y: ... Moved here.
12161 * normal/script.c: Moved to ...
12162 * script/sh/script.c: ... Moved here.
12163
12164 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
12165 <grub/reader.h>.
12166 (grub_exit_env): Removed.
12167 (fs_module_list): Moved to normal/autofs.c.
12168 (grub_file_getline): Don't handle comment here.
12169 (free_menu): Skip removed field entry->commands.
12170 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
12171 script parameter.
12172 (read_config_file): Removed nested parameter, change getline function.
12173 (grub_enter_normal_mode): Removed.
12174 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
12175 (read_command_list): Likewise.
12176 (autoload_fs_module): Moved to normal/autofs.c.
12177 (read_fs_list): Likewise.
12178 (reader_nested): New variable.
12179 (grub_normal_execute): Run parser.sh to switch to sh parser.
12180 (grub_cmd_rescue): Removed.
12181 (cmd_normal): Removed.
12182 (grub_cmd_normal): Unregister itself at the beginning. Don't register
12183 rescue command.
12184 (grub_cmdline_run): New function.
12185 (grub_normal_reader_init): Likewise.
12186 (grub_normal_read_line): Likewise.
12187 (grub_env_write_pager): Likewise.
12188 (cmdline): New variable.
12189 (grub_normal_reader): Likewise.
12190 (GRUB_MOD_INIT): Register normal reader and set as current, register
12191 pager hook, register normal command with grub_register_command_prio,
12192 so that it won't show up in command.lst.
12193 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
12194 grub_fs_autoload_hook.
12195
12196 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
12197 (grub_menu_execute_entry): Replace grub_script_execute with
12198 grub_parser_execute, change parameter to grub_command_execute.
12199
12200 * normal/menu_text.c: Remove <grub/script.h>.
12201
12202 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
12203 and <grub/parser.h>.
12204 (run): Change editor_getline to use new parser interface. Change
12205 parameter to grub_command_execute.
12206
12207 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
12208 <grub/reader.h> and <grub/parser.h>.
12209 (grub_load_normal_mode): Execute normal command.
12210 (grub_main): Call grub_register_core_commands,
12211 grub_register_rescue_parser and grub_register_rescue_reader, use
12212 grub_reader_loop to enter input loop.
12213
7dd4a573 12214 * kern/parser.c (grub_parser_split_cmdline): Change type of
12215 getline parameter.
d558e6b5 12216 (grub_parser_class): New variable.
12217 (grub_parser_execute): New function.
12218
12219 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
12220 * loader/multiboot2.c: Likewise.
12221 * loader/sparc64/ieee1275/linux.c: Likewise.
12222
12223 * util/grub-emu.c (read_command_list): New dummy function.
12224
18db813d 122252009-05-02 Robert Millan <rmh.grub@aybabtu.com>
12226
12227 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
12228 count to 16 for CCISS and IDA.
12229
6c67de15 122302009-05-02 Robert Millan <rmh.grub@aybabtu.com>
12231
12232 * normal/menu_text.c (grub_wait_after_message): Print a newline
12233 after waiting for user input.
12234
12235 * loader/i386/linux.c: Include `<grub/normal.h>'.
12236 (grub_cmd_linux): Improve the error message about `ask' mode, by
12237 waiting for user input so it's not missed (we can do this, since
12238 user requested interaction).
12239
d9dc87b0 122402009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12241
12242 Added missing lst to grub-mkrescue
12243
12244 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
12245 and ${input_dir}/parttool.lst
12246
ac8a2baa 122472009-04-30 David S. Miller <davem@davemloft.net>
12248
ad22a610 12249 * util/hostdisk.c (device_is_wholedisk): New function.
12250 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
12251 zero only if device_is_wholedisk() returns true.
12252
6966215d 12253 * util/hostdisk.c (convert_system_partition_to_system_disk):
12254 Handle virtual disk devices named /dev/vdiskX as found on sparc
12255 and powerpc.
12256
ac8a2baa 12257 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
12258 lettered partition specifier is found, convert to numbered.
12259
979b4fb4 122602009-04-29 David S. Miller <davem@davemloft.net>
12261
e2bf39b2 12262 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
12263 * include/grub/sparc64/ieee1275/memory.h: Likewise.
12264
3c64e104 12265 * normal/command.c: Add missing newline at end of file.
12266
979b4fb4 12267 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
12268 warnings.
12269 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
12270 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
12271 grub_ofdisk_read): Likewise, and deal similarly with the fact that
12272 ihandles have a 32-bit type but need to be stored in a "void *".
12273
136d9f82 122742009-04-28 Pavel Roskin <proski@gnu.org>
12275
9459c306 12276 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
12277 not disk. Adjust all dependencies.
2e08a26a 12278 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 12279 grub_disk_close().
12280
136d9f82 12281 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
12282 parent's partition, don't copy it by reference, as it gets freed
12283 on close.
12284
7dd4a573 122852009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 12286
12287 Preboot hooks support
12288
12289 * commands/boot.c (struct grub_preboot_t): new declaration
12290 (preboots_head): new variable
12291 (preboots_tail): likewise
12292 (grub_loader_register_preboot_hook): new function
12293 (grub_loader_unregister_preboot_hook): likewise
12294 (grub_loader_set): launch preboot hooks
12295 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
12296 (grub_loader_register_preboot_hook): new declaration
12297 (grub_loader_unregister_preboot_hook): likewise
12298
5af922b5 122992009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12300
12301 Warning fix
12302
7dd4a573 12303 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 12304 calling grub_dprintf
12305
a5562c30 123062009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
12307
12308 Bug and warning fixes
12309
7dd4a573 12310 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 12311 declaration
12312 * commands/test.c (test_parse): fixed bug with file tests and corrected
12313 declaration of find_file
12314
4006f85c 123152009-04-26 Pavel Roskin <proski@gnu.org>
12316
12317 * Makefile.in: Don't install empty manual pages if help2man is
12318 missing. Use help2man option for output, not shell redirection.
12319
5c77c3de 123202009-04-26 David S. Miller <davem@davemloft.net>
12321
12322 * util/grub-mkdevicemap.c (make_device_map): Add missing
12323 NESTED_FUNC_ATTR to process_device().
12324
033b10a8 123252009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12326
12327 Test command
12328
12329 * commands/test.c: rewritten to use bash-like test
12330
e4343593 123312009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12332
12333 Parttool autoloading and improvements
12334
7dd4a573 12335 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 12336 (parttool.lst): new target
12337 * genmk.rb: generate parttool-*
12338 (CLEANFILES): add #{parttool}
12339 (PARTTOOLFILES): new variable
12340 * genparttoollist.sh: new file
7dd4a573 12341 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 12342 (grub_pcpart_type): likewise
12343 * commands/parttool.c (helpmsg): new variable
12344 (grub_cmd_parttool): output help if not enough arguments are supplied
12345 autoload modules
12346 (GRUB_MOD_INIT(parttool)): use helpmsg
12347
0d312500 123482009-04-24 David S. Miller <davem@davemloft.net>
12349
7dd4a573 12350 Avoiding opening same device multiple times in device iterator.
0d312500 12351
12352 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 12353 and use it to build a list of partitions in iterate_disk() and
0d312500 12354 iterate_partition().
12355
ac20caff 12356 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
12357 on disk->data.
12358
0dcf7495 12359 * disk/ieee1275/nand.c (grub_nand_iterate): Return
12360 grub_devalias_iterate() result instead of unconditional 0.
12361 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
12362 Also, capture hook return value, either directly or via
12363 grub_children_iterate(), and propagate to caller.
12364 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
12365 grub_children_iterate): Return value is now 'int' instead of
12366 'grub_err_t'.
12367 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
12368 like a proper iterator, stopping when hooks return non-zero.
12369 (grub_devalias_iterate): Likewise.
12370
c8c08833 123712009-04-23 David S. Miller <davem@davemloft.net>
12372
12373 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
12374
f01005a8 123752009-04-22 David S. Miller <davem@davemloft.net>
12376
12377 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
12378 is larger than address_cells, use that value for address_cells too.
12379
4e8269da 12380 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
12381 IEEE1275_MAX_PATH_LEN): Define.
12382 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
12383 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
12384 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
12385 'devtype'. Explicitly NULL terminate devalias expansion.
12386
a1447506 12387 * util/sparc64/ieee1275/misc.c: New file.
12388 * util/sparc64/ieee1275/grub-setup.c: New file.
12389 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
12390 * util/sparc64/ieee1275/grub-mkimage.c: New file.
12391 * util/sparc64/ieee1275/grub-install.in: New file.
12392 * util/ieee1275/ofpath.c: New file.
12393 * util/ieee1275/devicemap.c: New file.
12394 * util/devicemap.c: New file.
12395 * util/deviceiter.c: New file.
12396 * kern/sparc64/ieee1275/init.c: New file.
12397 * include/grub/util/ofpath.h: New file.
12398 * include/grub/util/deviceiter.h: New file.
12399 * util/grub-mkdevicemap.c: Include deviceiter.h.
12400 Implement using grub_util_emit_devicemap_entry and
12401 grub_util_iterate_devices.
12402 * conf/i386-corebook.rmk: Build util/deviceiter.c and
12403 util/devicemap.c into grub-mkdevicemap
12404 * conf/i386-efi.rmk: Likewise.
12405 * conf/i386-ieee1275.rmk: Likewise.
12406 * conf/i386-pc.rmk: Likewise.
12407 * conf/powerpc-ieee1275.rmk: Likewise.
12408 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
12409 images and installation utilities. Build kernel as image
12410 instead of as elf binary. Use common rules as much as possible.
12411
7dd4a573 124122009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 12413
12414 Correct GPT definition
12415
7dd4a573 12416 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 12417 of "attrib" member
12418
c6c5219f 124192009-04-19 Felix Zielcke <fzielcke@z-51.de>
12420
12421 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
12422
0552ff9f 124232009-04-19 David S. Miller <davem@davemloft.net>
12424
12425 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
12426 (grub_rescue_cmd_linux): Rename to...
12427 (grub_cmd_linux): and fix prototype.
12428 (grub_rescue_cmd_initrd): Rename to...
12429 (grub_cmd_initrd): and fix prototype.
12430 (cmd_linux, cmd_initrd): New.
12431 (GRUB_MOD_INIT(linux)): Use grub_register_command().
12432 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
12433
d1a282fc 124342009-04-17 Pavel Roskin <proski@gnu.org>
12435
07c5039f 12436 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
12437 format.
12438 (grub_ohci_transfer): Likewise.
12439
b012002d 12440 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
12441
1bc09c35 12442 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
12443 return without a value. Fix inconsistent indentation.
12444
e0ff9126 12445 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
12446 match struct grub_fs.
12447
d1a282fc 12448 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
12449 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
12450 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
12451 * commands/lspci.c (grub_lspci_iter): Likewise.
12452
a96df3f2 124532009-04-16 Bean <bean123ch@gmail.com>
12454
12455 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
12456 value.
12457
41bb0fe9 124582009-04-15 Pavel Roskin <proski@gnu.org>
12459
12460 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
12461 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
12462 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
12463 definitions.
12464
596c6970 124652009-04-15 Felix Zielcke <fzielcke@z-51.de>
12466
12467 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 12468 that no multiple data or metadata areas are supported and `Unknown
596c6970 12469 metadata header'.
12470
7dd4a573 124712009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 12472
12473 Move loader out of the kernel
12474
12475 * kern/loader.c: moved to ...
12476 * commands/boot.c: ... moved here
12477 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
12478 * commands/boot.c (grub_cmd_boot): moved here. All users updated
12479 * include/grub/kernel.h (grub_machine_fini): export
12480 * include/grub/loader.h (grub_loader_is_loaded): update declaration
12481 (grub_loader_set): likewise
12482 (grub_loader_unset): likewise
12483 (grub_loader_boot): likewise
12484 * conf/common.rmk: new module boot.mod
12485 (pkglib_MODULES): add boot.mod
12486 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
12487 (grub_emu_SOURCES): likewise
12488 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
12489 (grub_emu_SOURCES): likewise
12490 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
12491 (grub_emu_SOURCES): likewise
12492 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
12493 (grub_emu_SOURCES): likewise
12494 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
12495 (grub_emu_SOURCES): likewise
7dd4a573 12496 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
12497 (grub_emu_SOURCES): likewise
0d5d5653 12498 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 12499 (grub_emu_SOURCES): likewise
0d5d5653 12500
7dd4a573 125012009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 12502
12503 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 12504
5999d619 12505 * kern/misc.c (grub_itoa): Removed function
12506 (grub_ltoa): likewise
12507 (grub_vsprintf): use grub_lltoa
12508
7dd4a573 125092009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 12510
12511 Restore grub-emu
12512
12513 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
12514 * conf/i386-coreboot.rmk: likewise
12515 * conf/i386-ieee1275.rmk: likewise
12516 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 12517
20318222 125182009-04-15 Felix Zielcke <fzielcke@z-51.de>
12519
12520 * INSTALL: Add that `./autogen.sh' needs to be run before
12521 `./configure.'.
12522
d05f0df3 125232009-04-14 Bean <bean123ch@gmail.com>
12524
12525 * Makefile.in (pkglib_DATA): Add handler.lst.
12526 (handler.lst): New rule.
12527
12528 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
12529 * conf/i386-coreboot.rmk: Likewise.
12530 * conf/i386-ieee1275.rmk: Likewise.
12531 * conf/i386-efi.rmk: Likewise.
12532 * conf/x86_64-efi.rmk: Likewise.
12533 * conf/powerpc-ieee1275.rmk: Likewise.
12534 * conf/sparc64-ieee1275.rmk: Likewise.
12535
12536 * genhandlerlist.sh: New file.
12537
12538 * genmk.rb: Add rules to generate handler.lst.
12539
12540 * include/grub/normal.h (grub_file_getline): New function definition.
12541 (read_handler_list): Likewise.
12542 (free_handler_list): Likewise.
12543
12544 * include/grub/term.h (grub_term_register_input): Add name parameter
12545 for auto generation of handler.lst.
12546 (grub_term_register_output): Likewise.
12547
12548 * normal/handler.c: New file.
12549
12550 * normal/main.c (get_line): Renamed to grub_file_getline.
12551 (read_config_file): Use the newly renamed grub_file_getline.
12552 (read_command_list): Likewise.
12553 (read_fs_list): Likewise.
12554 (grub_normal_execute): Call read_handler_list to parse handler.lst.
12555 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
12556
12557 * term/efi/console.c (grub_console_init): Add name parameter for auto
12558 generation of handler.lst.
12559 * term/gfxterm.c: Likewise.
12560 * term/i386/pc/at_keyboard.c: Likewise.
12561 * term/i386/pc/console.c: Likewise.
12562 * term/i386/pc/serial.c: Likewise.
12563 * term/i386/pc/vesafb.c: Likewise.
12564 * term/i386/pc/vga.c: Likewise.
12565 * term/i386/pc/vga_text.c: Likewise.
12566 * term/ieee1275/ofconsole.c: Likewise.
12567 * term/usb_keyboard.c: Likewise.
12568
33c846be 125692009-04-14 Bean <bean123ch@gmail.com>
12570
12571 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
12572 properly with null character.
12573
4484e01e 125742009-04-14 Felix Zielcke <fzielcke@z-51.de>
12575
12576 * configure: Remove.
12577 * config.h.in: Likewise.
f93d668e 12578 * stamp-h.in: Likewise.
4484e01e 12579 * DISTLIST: Likewise.
12580 * conf/common.mk: Likewise.
12581 * conf/i386-coreboot.mk: Likewise.
12582 * conf/i386-efi.mk: Likewise.
12583 * conf/i386-ieee1275.mk: Likewise.
12584 * conf/i386.mk: Likewise.
12585 * conf/i386-pc.mk: Likewise.
12586 * conf/powerpc-ieee1275.mk: Likewise.
12587 * conf/sparc64-ieee1275.mk: Likewise.
12588 * conf/x86_64-efi.mk: Likewise.
12589
12590 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
12591 develop on GRUB.
12592
7dd4a573 125932009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 12594 David S. Miller <davem@davemloft.net>
12595
12596 * util/hostdisk.c (make_device_name): Fix buffer length
12597 calculations.
12598
e25b5a8c 125992009-04-14 Felix Zielcke <fzielcke@z-51.de>
12600
12601 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
12602 <sys/param.h> and <sys/sysctl.h>.
12603 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
12604 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
12605 opening the device and reset them afterwards.
12606
1f1f580c 126072009-04-13 Pavel Roskin <proski@gnu.org>
12608
12609 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
12610 Reported by John Stanley <jpsinthemix@verizon.net>
12611
7ebc2d6b 126122009-04-13 Robert Millan <rmh@aybabtu.com>
12613
12614 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 12615 that name for menuentries when appropriate.
7ebc2d6b 12616
d8ba3667 126172009-04-13 Felix Zielcke <fzielcke@z-51.de>
12618
12619 * util/grub.d/10_freebsd.in: Add a missing `fi'.
12620
cba416eb 126212009-04-13 Robert Millan <rmh@aybabtu.com>
12622
12623 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
12624 to Linux, simply abort telling the user it's no longer supported.
12625
a547a745 126262009-04-13 Felix Zielcke <fzielcke@z-51.de>
12627
12628 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 12629 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 12630 `freebsd_loadenv' only when devices.hints exist.
12631
232a769c 126322009-04-13 Pavel Roskin <proski@gnu.org>
12633
12634 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
12635
c3012039 126362009-04-13 Felix Zielcke <fzielcke@z-51.de>
12637
12638 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
12639 partition number.
12640 (grub_drive): Likewise.
12641
234022fe 126422009-04-13 David S. Miller <davem@davemloft.net>
12643
12644 * kern/sparc64/ieee1275/ieee1275.c: New file.
12645 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
12646 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
12647 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
12648 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
12649 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
12650 grub_ieee1275_alloc_physmem): Declare new exported functions.
12651
d8e1836c 12652 * include/grub/sparc64/ieee1275/loader.h: New file.
12653 * include/grub/sparc64/ieee1275/memory.h: Likewise.
12654 * include/grub/sparc64/kernel.h: Likewise.
12655 * loader/sparc64/ieee1275/linux.c: Likewise.
12656
96bd81ec 12657 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
12658 (grub_fstest_SOURCES): Likewise.
12659
6a4737e5 12660 * util/hostdisk.c (make_device_name): Do not make any assumptions
12661 about the length of drive names.
12662
1d7a72fd 12663 * kern/dl.c (grub_dl_load_file): Close file immediately when
12664 we are done using it.
12665
56bc2471 126662009-04-12 David S. Miller <davem@davemloft.net>
12667
12668 * kern/misc.c (grub_ltoa): Fix cast when handling negative
12669 values. Noticed by Pavel Roskin.
12670
df38d0bb 12671 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
12672 target compiler.
7dd4a573 12673
e382e93a 12674 * genmk.rb: Add more flexible image type specification, also
12675 pass --strip-unneeded to objcopy.
12676 * conf/i386-pc.rmk: Use *_FORMAT.
12677 * conf/i386-pc.mk: Rebuilt.
12678
f5dbbca9 12679 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
12680 (OFDISK_HASH_SZ): Define.
12681 (ofdisk_hash): New hash table.
12682 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
12683 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
12684 instead of device phandle which is not unique.
12685
91c88b12 12686 * kern/sparc64/ieee1275/init.c: Delete, replace with...
12687 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
12688 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
12689 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
12690 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
12691 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
12692 GRUB_KERNEL_MACHINE_DATA_END): Define.
12693 (grub_kernel_image_size, grub_total_module_size): Declare.
12694
5b5d4aa5 126952009-04-12 Pavel Roskin <proski@gnu.org>
12696
7dd4a573 12697 * configure.ac: Change the logic when we check for target tools.
12698 Do it when the target is specified and it's different from the
12699 specified value of the host.
5b5d4aa5 12700
c91e1793 127012009-04-11 Felix Zielcke <fzielcke@z-51.de>
12702
12703 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
12704 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
12705 GNU/kFreeBSD. Check if a device is a character device. Use
12706 DIOCGMEDIASIZE to get the size.
12707 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
12708 support for GNU/kFreeBSD.
12709 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
12710 is a character device instead of a block device. Add support for
12711 FreeBSD device names.
12712
12713 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
12714 is a character device instead of a block device.
12715
12716 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
12717 is a character device instead of a block device.
12718
b1ac8644 127192009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
12720
12721 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
12722 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
12723 FreeBSD. Check if a device is a character device. Use
12724 DIOCGMEDIASIZE to get the size.
12725 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
12726 support for FreeBSD.
12727 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
12728 is a character device instead of a block device. Add support for
12729 FreeBSD device names.
12730
12731 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
12732 a character device instead of a block device.
12733 (grub_util_check_char_device): New function.
12734
12735 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
12736 a character device instead of a block device.
12737
12738 * include/grub/util/getroot.h (grub_util_check_char_device): New
12739 prototype.
12740
a3f7515a 127412009-04-11 David S. Miller <davem@davemloft.net>
12742
12743 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
12744 static libgcc.
12745 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
12746 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
12747 function, if present.
12748 (__bswapdi2): Likewise.
12749
0d44993d 12750 * include/grub/sparc64/ieee1275/boot.h: New file.
12751 * boot/sparc64/ieee1275/boot.S: Likewise.
12752 * boot/sparc64/ieee1275/diskboot.S: Likewise.
12753
ed3d2bc2 12754 * kern/misc.c (grub_ltoa): New function.
12755 (grub_vsprintf): Use it to format 'long' integers.
12756
d3bfb59c 127572009-04-10 David S. Miller <davem@davemloft.net>
12758
12759 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
12760 slots are of type grub_ieee1275_cell_t.
12761 (grub_nand_read): Likewise.
12762 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
12763 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
12764 macros are used to compare values in arg/ret block of the call.
12765 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
12766 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
12767 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
12768 grub_ieee1275_instance_to_path, grub_ieee1275_write,
12769 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
12770 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
12771 grub_ieee1275_close, grub_ieee1275_set_property,
12772 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
12773 grub_ieee1275_cell_t.
12774 * kern/ieee1275/openfw.c (grub_map): Likewise.
12775 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
12776 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
12777
450e2238 12778 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
12779 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
12780 (grub_devalias_iterate): Likewise.
12781
7dd4a573 127822009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 12783
12784 UFS improvements
12785
12786 * fs/ufs.c (INODE_NBLOCKS): new definition
12787 (struct grub_ufs_dirent): added fields for non-BSD dirents
12788 (grub_ufs_get_file_block): fixed double indirect handling
12789 (grub_ufs_lookup_symlink): use more robust way to determine whether
12790 symlink is inline
12791 (grub_ufs_find_file): support for non-BSD dirents
12792 (grub_ufs_dir): support for non-BSD dirents
12793
e7e6862a 127942009-04-10 Bean <bean123ch@gnail.com>
12795
12796 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
12797 attribute, otherwise the size would be wrong for i386 platform.
12798
12799 * include/grub/pci.h (grub_pci_read_word): New inline function.
12800 (grub_pci_read_byte): Likewise.
12801 (grub_pci_write): Likewise.
12802 (grub_pci_write_word): Likewise.
12803 (grub_pci_write_byte): Likewise.
12804
12805 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
12806
12807 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
12808 (find_framebuf): Scan pci to locate the frame buffer address.
12809
12810 * commands/efi/fixvideo.c: New file.
12811
12812 * commands/efi/loadbios.c: Likewise.
12813
12814 * commands/memrw.c: Likewise.
12815
12816 * util/grub-dumpbios.in: Likewise.
12817
12818 * conf/common.rmk (grub-dumpbios): New utility.
12819 (pkglib_MODULES): New module memrw.mod.
12820 (memrw_mod_SOURCE): New macro.
12821 (memrw_mod_CFLAGS): Likewise.
12822 (memrw_mod_LDFLAGS): Likewise.
12823
7dd4a573 12824 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 12825 fixvideo.mod.
12826 (loadbios_mod_SOURCE): New macro.
12827 (loadbios_mod_CFLAGS): Likewise.
12828 (loadbios_mod_LDFLAGS): Likewise.
12829 (fixvideo_mod_SOURCE): Likewise.
12830 (fixvideo_mod_CFLAGS): Likewise.
12831 (fixvideo_mod_LDFLAGS): Likewise.
12832
7dd4a573 12833 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 12834 fixvideo.mod.
12835 (loadbios_mod_SOURCE): New macro.
12836 (loadbios_mod_CFLAGS): Likewise.
12837 (loadbios_mod_LDFLAGS): Likewise.
12838 (fixvideo_mod_SOURCE): Likewise.
12839 (fixvideo_mod_CFLAGS): Likewise.
12840 (fixvideo_mod_LDFLAGS): Likewise.
12841
af63ada2 128422009-04-08 Felix Zielcke <fzielcke@z-51.de>
12843
12844 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
12845
c2cdde70 128462009-04-07 David S. Miller <davem@davemloft.net>
12847
12848 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
12849 support for R_SPARC_OLO10 relocations. Fix compile warning for
12850 R_SPARC_WDISP30 case.
ea3f72cf 12851 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 12852
761319cf 128532009-04-06 Pavel Roskin <proski@gnu.org>
12854
1007d1f5 12855 * include/grub/misc.h (ARRAY_SIZE): New macro.
12856 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
12857 New macro.
12858 * loader/i386/linux.c (allocate_pages): Use free_pages().
12859 (grub_linux_unload): Don't use free_pages().
12860 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
12861 wrong index. Treat all other modes as text modes.
12862 (grub_cmd_linux): Initialize vid_mode unconditionally to
12863 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
12864
761319cf 12865 * commands/help.c (print_command_help): Use cmd->prio, not
12866 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
12867
ea761d40 128682009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 12869
ea761d40 12870 Parttool
12871
12872 * parttool/pcpart.c: new file
12873 * commands/parttool.c: likewise
12874 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
12875 (parttool_mod_SOURCES): new variable
12876 (parttool_mod_CFLAGS): likewise
12877 (parttool_mod_LDFLAGS): likewise
12878 (pcpart_mod_SOURCES): likewise
12879 (pcpart_mod_CFLAGS): likewise
12880 (pcpart_mod_LDFLAGS): likewise
7dd4a573 12881 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 12882 and parttool/pcpart.c
12883 * conf/i386-efi.rmk: likewise
12884 * conf/i386-ieee1275.rmk: likewise
12885 * conf/i386-pc.rmk: likewise
12886 * conf/powerpc-ieee1275.rmk: likewise
12887 * conf/sparc64-ieee1275.rmk: likewise
12888 * conf/x86_64-ieee1275.rmk: likewise
12889
05aaebfb 128902009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12891
12892 Support for mtime and further expandability of dir command
12893
12894 * include/grub/lib/datetime.h: moved to ...
7dd4a573 12895 * include/grub/datetime.h: ... moved here and added
05aaebfb 12896 declaration of grub_unixtime2datetime. All users updated
7dd4a573 12897 * include/grub/fs.h: new syntax for dir and mtime functions in
12898 struct grub_fs
05aaebfb 12899 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
12900 and GRUB_FSHELP_FLAGS_MASK
12901 * commands/ls.c (grub_ls_list_files): Write mtime in long format
12902 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
12903 (grub_ext2_mtime): new function
12904 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
12905 (grub_hfsplus_mtime): new function
12906 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
12907 (GRUB_UFS_ATTR_FILE): likewise
12908 (GRUB_UFS_ATTR_LNK): likewise
12909 (struct grub_ufs_sblock): new fields mtime
12910 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
12911 all users updated
12912 (grub_ufs_dir): mtime support
12913 (grub_ufs_mtime): new function
12914 * fs/affs.c (grub_affs_dir): use new dir syntax
12915 * fs/afs.c (grub_afs_dir): likewise
12916 * fs/cpio.c (grub_cpio_dir): likewise
12917 * fs/fat.c (grub_fat_find_dir): likewise
12918 * fs/hfs.c (grub_hfs_dir): likewise
12919 * fs/iso9660.c (grub_iso9660_dir): likewise
12920 * fs/jfs.c (grub_jfs_dir): likewise
12921 * fs/minix.c (grub_minix_dir): likewise
12922 * fs/ntfs.c (grub_ntfs_dir): likewise
12923 * fs/reiserfs.c (grub_reiserfs_dir): likewise
12924 * fs/sfs.c (grub_sfs_dir): likewise
12925 * fs/xfs.c (grub_xfs_dir): likewise
12926 * util/hostfs.c (grub_hostfs_dir): likewise
12927 * lib/datetime.c: moved to ...
12928 * normal/datetime.c: ... moved here
12929 (grub_unixtime2datetime): new function
12930 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 12931 * normal/completion.c (iterate_dir): use new dir syntax
12932 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 12933 last modification time of a volume
7dd4a573 12934 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 12935 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 12936 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 12937 (normal_mod_SOURCES): likewise
12938 (datetime_mod_SOURCES): Removed lib/datetime.c
12939 * conf/i386-efi.rmk: likewise
7dd4a573 12940 * conf/i386-ieee1275.rmk: likewise
05aaebfb 12941 * conf/i386-pc.rmk: likewise
12942 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 12943 * conf/sparc64-ieee1275.rmk: likewise
12944 * conf/x86_64-efi.rmk: likewise
05aaebfb 12945
8a7e1a14 129462009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12947
12948 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 12949
12950 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 12951 on grub_fat_find_dir
12952 (grub_fat_find_dir): use grub_fat_iterate_dir
12953 (grub_fat_label): likewise
12954
04186a9c 129552009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
12956
7dd4a573 12957 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 12958 and command.h
12959 remove extraneous kernel_elf_HEADERS
12960
da4c0bb6 129612009-04-04 Bean <bean123ch@gnail.com>
12962
12963 * include/grub/util/misc.h: Add dummy function fsync for mingw.
12964
12965 * util/misc.c: Likewise.
12966
54ad9555 129672009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
12968
12969 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
12970 instead of grub_printf.
12971
7a6bf9f2 129722009-04-03 Robert Millan <rmh@aybabtu.com>
12973
12974 * loader/i386/linux.c (grub_linux_setup_video): Fill
12975 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
12976 values from `mode info' structure instead of hardcoded
12977 values.
12978
3fcc2083 129792009-04-01 Pavel Roskin <proski@gnu.org>
12980
12981 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
12982 unused now.
12983 * genmk.rb: Likewise.
12984 * configure.ac: Likewise.
12985
5ec9740b 129862009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
12987
12988 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
12989 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
12990
5270cec8 129912009-04-01 David S. Miller <davem@davemloft.net>
12992
12993 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 12994 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 12995 (grub_setjmp): Mark with 'returns_twice' attribute.
12996 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
12997 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
12998 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
12999
9c3dd854 130002009-04-01 Robert Millan <rmh@aybabtu.com>
13001
13002 Reapply fix from 2008-07-28 which was accidentally reverted; also
13003 perform the same fix to a similar check in same function.
13004
13005 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
13006 with the same number are found, just use issue a warning with
13007 grub_dprintf(), as this error has been reported to be non-fatal.
13008
0d818b7e 130092009-03-31 Pavel Roskin <proski@gnu.org>
13010
13011 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
13012 for cross-compilation.
13013
95646d92 130142009-03-30 Robert Millan <rmh@aybabtu.com>
13015
13016 Fix i386-ieee1275 build.
13017
13018 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
13019 Remove declaration.
13020
6a003ed1 130212009-03-30 Pavel Roskin <proski@gnu.org>
13022
13023 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
13024 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
13025 zero-terminated, rely only on the strlen value. Fix comparison
13026 of strings differing in length.
13027
92f33540 130282009-03-30 Robert Millan <rmh@aybabtu.com>
13029
13030 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
13031 checking for abi version. Improve error messages on BIOS to notify
13032 user about `linux16' command.
13033
a8c48fd5 130342009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13035
f968172e 13036 Leak fixes
a8c48fd5 13037
f968172e 13038 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
13039 in case of collision
13040 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 13041
9c323f09 130422009-03-29 Robert Millan <rmh@aybabtu.com>
13043
13044 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
13045 set `vid_mode' accordingly.
13046 (grub_linux_boot): Process `vid_mode' and set video mode.
13047
ae68f423 130482009-03-29 Robert Millan <rmh@aybabtu.com>
13049
13050 * util/grub.d/10_linux.in (linux_entry): New function.
13051 Factorize generation of Linux boot entries.
13052
5709cfc4 130532009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
13054
13055 Make the format of Environment Block plain text. The boot loader
13056 part is not tested well yet.
7dd4a573 13057
5709cfc4 13058 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
13059 (buffer): Removed.
13060 (envblk): Likewise.
13061 (usage): Remove "info" and "clear". Add "unset". Update the
13062 description of "set", as this does not delete variables any
13063 longer.
13064 (create_envblk_file): Complete rewrite.
13065 (open_envblk_file): Likewise.
13066 (cmd_info): Removed.
13067 (cmd_list): Likewise.
13068 (cmd_set): Likewise.
13069 (cmd_clear): Likewise.
13070 (list_variables): New function.
13071 (write_envblk): Likewise.
13072 (set_variables): Likewise.
13073 (unset_variables): Likewise.
13074 (main): Complete rewrite.
13075
13076 * commands/loadenv.c (buffer): Removed.
13077 (envblk): Likewise.
13078 (open_envblk_file): New function.
13079 (read_envblk_file): Complete rewrite.
13080 (grub_cmd_load_env): Likewise.
13081 (grub_cmd_list_env): Likewise.
13082 (struct blocklist): New struct.
13083 (free_blocklists): New function.
13084 (check_blocklists): Likewise.
13085 (write_blocklists): Likewise.
13086 (grub_cmd_save_env): Complete rewrite.
13087
13088 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
13089 a plain text signature.
13090 (GRUB_ENVBLK_MAXLEN): Removed.
13091 (struct grub_envblk): Complete rewrite.
13092 (grub_envblk_find): Removed.
13093 (grub_envblk_insert): Likewise.
13094 (grub_envblk_open): New prototype.
13095 (grub_envblk_set): Likewise.
13096 (grub_envblk_delete): Put const to VALUE.
13097 (grub_envblk_iterate): Put const to NAME and VALUE.
13098 (grub_envblk_close): New prototype.
13099 (grub_envblk_buffer): New inline function.
13100 (grub_envblk_size): Likewise.
13101
13102 * lib/envblk.c: Include grub/mm.h.
13103 (grub_env_find): Removed.
13104 (grub_envblk_open): New function.
13105 (grub_envblk_close): Likewise.
13106 (escaped_value_len): Likewise.
13107 (find_next_line): Likewise.
13108 (grub_envblk_insert): Removed.
13109 (grub_envblk_set): New function.
13110 (grub_envblk_delete): Complete rewrite.
13111 (grub_envblk_iterate): Likewise.
13112
a9368fd3 131132009-03-28 Robert Millan <rmh@aybabtu.com>
13114
13115 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
13116 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
13117 variables. Use 16-bit loader.
13118 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
13119 loader.
13120 * kern/i386/loader.S (grub_linux_boot): Rename to ...
13121 (grub_linux16_boot): ... this. Update all users.
13122 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
13123 (grub_linux_boot): ... this. Update all users.
13124
13125 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
13126 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
13127 commands to `linux16' and `initrd16'.
13128 (GRUB_MOD_FINI(linux)): Rename to ...
13129 (GRUB_MOD_FINI(linux16)): ... this.
13130
e4dd5a7e 131312009-03-24 Pavel Roskin <proski@gnu.org>
13132
13133 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
13134 not just for compilation.
13135
c04d6e05 131362009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
13137
13138 Move multiboot helper out of kernel
13139
13140 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
13141 `loader/i386/multiboot_helper.S'.
13142 * conf/i386-coreboot.rmk: Likewise
13143 * conf/i386-ieee1275.rmk: Likewise
13144
13145 * kern/i386/loader.S: Move multiboot helpers from here...
13146 * loader/i386/multiboot_helper.S: ...moved here
13147 * include/grub/i386/loader.h: Move declarations of multiboot
13148 helpers from here...
13149 * include/grub/i386/multiboot.h: ...moved here
13150 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
13151
42a5b3fc 131522009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13153
13154 * kern/env.c (grub_env_context_open): Added an argument to specify
13155 whether a new context inherits exported variables from current
13156 one. This is useful when making a sandbox to interpret a config
13157 file.
13158 All callers updated.
13159
13160 * include/grub/env.h (grub_env_context_open): Updated the prototype.
13161
b28bbc4e 131622009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13163
13164 * kern/env.c (grub_env_context_close): Fix memory leaks.
13165
f04f02e4 131662009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13167
13168 * normal/main.c (grub_normal_execute): Added an argument
13169 BATCH to specify if an interactive interface should be provided
13170 after reading a config file.
13171 All callers updated.
13172 (read_command_list): Prevent being executed twice.
13173 (read_fs_list): Likewise.
13174
42a5b3fc 13175 * include/grub/normal.h (grub_normal_execute): Updated the
13176 prototype.
f04f02e4 13177
41473ac2 131782009-03-22 Pavel Roskin <proski@gno.org>
13179
fbc00b0c 13180 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
13181 _start.
13182 * kern/i386/pc/startup.S: Likewise.
13183 * kern/i386/efi/startup.S: Likewise.
13184 * kern/i386/ieee1275/startup.S: Likewise.
13185 * kern/i386/coreboot/startup.S: Likewise.
13186 * kern/x86_64/efi/startup.S: Likewise.
13187
41473ac2 13188 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
13189 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
13190 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
13191
2274cc8f 131922009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
13193
13194 Bugfixes in multiboot for bugs uncovered by solaris kernel.
13195
13196 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
13197 limit detection.
13198 Use vaddr of correct segment for entry_point.
13199
b1b797cb 132002009-03-21 Bean <bean123ch@gmail.com>
13201
13202 * commands/blocklist.c: Add include file <grub/command.h>, remove
13203 <grub/normal.h> and <grub/arg.h>.
13204 (grub_cmd_blocklist): Use the new command interface.
13205 (GRUB_MOD_INIT): Likewise.
13206 (GRUB_MOD_FINI): Likewise.
13207 * commands/boot.c: Likewise.
13208 * commands/cat.c: Likewise.
13209 * commands/cmp.c: Likewise.
13210 * commands/configfile.c: Likewise.
13211 * commands/crc.c: Likewise.
13212 * commands/echo.c: Likewise.
13213 * commands/halt.c: Likewise.
13214 * commands/handler.c: Likewise.
13215 * commands/hdparm.c: Likewise.
13216 * commands/help.c: Likewise.
13217 * commands/hexdump.c: Likewise.
13218 * commands/loadenv.c: Likewise.
13219 * commands/ls.c: Likewise.
13220 * commands/lsmmap.c: Likewise.
13221 * commands/lspci.c: Likewise.
13222 * commands/loadenv.c: Likewise.
13223 * commands/read.c: Likewise.
13224 * commands/reboot.c: Likewise.
13225 * commands/search.c: Likewise.
13226 * commands/sleep.c: Likewise.
13227 * commands/test.c: Likewise.
13228 * commands/usbtest.c: Likewise.
13229 * commands/videotest.c: Likewise.
13230 * commands/i386/cpuid.c: Likewise.
13231 * commands/i386/pc/halt.c: Likewise.
13232 * commands/i386/pc/play.c: Likewise.
13233 * commands/i386/pc/pxecmd.c: Likewise.
13234 * commands/i386/pc/vbeinfo.c: Likewise.
13235 * commands/i386/pc/vbetest.c: Likewise.
13236 * commands/ieee1275/suspend.c: Likewise.
13237 * disk/loopback.c: Likewise.
13238 * font/font_cmd.c: Likewise.
13239 * hello/hello.c: Likewise.
13240 * loader/efi/appleloader.c: Likewise.
13241 * loader/efi/chainloader.c: Likewise.
13242 * loader/i386/bsd.c: Likewise.
13243 * loader/i386/efi/linux.c: Likewise.
13244 * loader/i386/ieee1275/linux.c: Likewise.
13245 * loader/i386/linux.c: Likewise.
13246 * loader/i386/pc/chainloader.c: Likewise.
13247 * loader/i386/pc/linux.c: Likewise.
13248 * loader/powerpc/ieee1275/linux.c: Likewise.
13249 * loader/multiboot_loader.c: Likewise.
13250 * term/gfxterm.c: Likewise.
13251 * term/i386/pc/serial.c: Likewise.
13252 * term/terminfo.c: Likewise.
13253
13254 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
13255 * term/i386/pc/vga.c: Likewise.
13256 * video/readers/jpeg.c: Likewise.
13257 * video/readers/png.c: Likewise.
13258 * video/readers/tga.c: Likewise.
13259
13260 * util/grub-fstest (cmd_loopback): Removed.
13261 (cmd_blocklist): Likewise.
13262 (cmd_ls): Likewise.
13263 (grub_register_command): Likewise.
13264 (grub_unregister_command): Likewise.
13265 (execute_command): Use grub_command_find to locate command and execute
13266 it.
13267
13268 * include/grub/efi/chainloader.h: Removed.
13269 * loader/efi/chainloader_normal.c: Likewise.
13270 * loader/i386/bsd_normal.c: Likewise.
13271 * loader/i386/pc/chainloader_normal.c: Likewise.
13272 * loader/i386/pc/multiboot_normal.c: Likewise.
13273 * loader/linux_normal.c: Likewise.
13274 * loader/multiboot_loader_normal.c: Likewise.
13275 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
13276
13277 * gencmdlist.sh: Scan new registration command grub_register_extcmd
13278 and grub_register_command_p1.
13279
13280 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
13281 kern/command.c, lib/arg.c and commands/extcmd.c.
13282 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
13283 (minicmd_mod_SOURCES): New variable.
13284 (minicmd_mod_CFLAGS): Likewise.
13285 (minicmd_mod_LDFLAGS): Likewise.
13286 (extcmd_mod_SOURCES): Likewise.
13287 (extcmd_mod_CFLAGS): Likewise.
13288 (extcmd_mod_LDFLAGS): Likewise.
13289 (boot_mod_SOURCES): Removed.
13290 (boot_mod_CFLAGS): Likewise.
13291 (boot_mod_LDFLAGS): Likewise.
13292
13293 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
13294 kern/corecmd.c.
13295 (kernel_img_HEADERS): Add command.h.
13296 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
13297 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
13298 and lib/arg.c.
13299 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
13300 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
13301 remove the corresponding normal mode command.
13302 (normal_mod_SOURCES): Remove normal/arg.c.
13303 * conf/i386-coreboot.rmk: Likewise.
13304 * conf/i386-efi.rmk: Likewise.
13305 * conf/i386-ieee1275.rmk: Likewise.
13306 * conf/powerpc-ieee1275.rmk: Likewise.
13307 * conf/x86_64-efi.rmk: Likewise.
13308
13309 * include/grub/arg.h: Move from here ...
13310 * include/grub/lib/arg.h: ... to here.
13311
13312 * normal/arg.c: Move from here ...
13313 * lib/arg.c: ... to here.
13314
13315 * commands/extcmd.c: New file.
13316 * commands/minicmd.c: Likewise.
13317 * include/grub/command.h: Likewise.
13318 * include/grub/extcmd.h: Likewise.
13319 * kern/command.c: Likewise.
13320 * kern/corecmd.c: Likewise.
13321
13322 * kern/list.c (grub_list_iterate): Return int instead of void.
13323 (grub_list_insert): New function.
13324 (grub_prio_list_insert): Likewise.
13325
13326 * kern/rescue.c (grub_rescue_command): Removed.
13327 (grub_rescue_command_list): Likewise.
13328 (grub_rescue_register_command): Likewise.
13329 (grub_rescue_unregister_command): Likewise.
13330 (grub_rescue_cmd_boot): Move to minicmd.c
13331 (grub_rescue_cmd_help): Likewise.
13332 (grub_rescue_cmd_info): Likewise.
13333 (grub_rescue_cmd_boot): Likewise.
13334 (grub_rescue_cmd_testload): Likewise.
13335 (grub_rescue_cmd_dump): Likewise.
13336 (grub_rescue_cmd_rmmod): Likewise.
13337 (grub_rescue_cmd_lsmod): Likewise.
13338 (grub_rescue_cmd_exit): Likewise.
13339 (grub_rescue_print_devices): Moved to corecmd.c.
13340 (grub_rescue_print_files): Likewise.
13341 (grub_rescue_cmd_ls): Likewise.
13342 (grub_rescue_cmd_insmod): Likewise.
13343 (grub_rescue_cmd_set): Likewise.
13344 (grub_rescue_cmd_unset): Likewise.
7d074e3c 13345 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 13346 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 13347 commands, remove grub_rescue_register_command calls.
b1b797cb 13348
7d074e3c 13349 * normal/command.c (grub_register_command): Removed.
b1b797cb 13350 (grub_unregister_command): Likewise.
13351 (grub_command_find): Likewise.
13352 (grub_iterate_commands): Likewise.
13353 (rescue_command): Likewise.
13354 (export_command): Moved to corecmd.c.
13355 (set_command): Removed.
13356 (unset_command): Likewise.
13357 (insmod_command): Likewise.
13358 (rmmod_command): Likewise.
13359 (lsmod_command): Likewise.
13360 (grub_command_init): Likewise.
13361
13362 * normal/completion.c (iterate_command): Use cmd->prio to check for
13363 active command.
13364 (complete_arguments): Use grub_extcmd_t structure to find options.
13365 (grub_normal_do_completion): Change function grub_iterate_commands to
13366 grub_command_iterate.
13367
13368 * normal/execute.c (grub_script_execute_cmd): No need to parse
13369 argument here.
13370
13371 * normal/main.c (grub_dyncmd_dispatcher): New function.
13372 (read_command_list): Register unload commands as dyncmd.
13373 (grub_cmd_normal): Use new command interface, register rescue,
13374 unregister normal at entry, register normal, unregister rescue at exit.
13375
13376 * include/grub/list.h (grub_list_test_t): New type.
13377 (grub_list_iterate): Return int instead of void.
13378 (grub_list_insert): New function.
13379 (GRUB_AS_NAMED_LIST_P): New macro.
13380 (GRUB_AS_PRIO_LIST): Likewise.
13381 (GRUB_AS_PRIO_LIST_P): Likewise.
13382 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
13383 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
13384 (grub_prio_list): New structure.
13385 (grub_prio_list_insert): New function.
13386 (grub_prio_list_remove): New inline function.
13387
13388 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
13389 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
13390 (GRUB_COMMAND_FLAG_MENU): Likewise.
13391 (GRUB_COMMAND_FLAG_BOTH): Likewise.
13392 (GRUB_COMMAND_FLAG_TITLE): Likewise.
13393 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
13394 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
13395 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
13396 (grub_command): Likewise.
13397 (grub_register_command): Likewise.
13398 (grub_command_find): Likewise.
13399 (grub_iterate_commands): Likewise.
13400 (grub_command_init): Likewise.
13401 (grub_arg_parse): Likewise.
13402 (grub_arg_show_help): Likewise.
13403
13404 * include/grub/rescue.h (grub_rescue_register_command): Removed.
13405 (grub_rescue_unregister_command): Likewise.
13406
13407 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
13408 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
13409 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
13410
13411 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
13412 grub_rescue_cmd_initrd.
13413 * include/grub/i386/loader.h: Likewise.
13414 * include/grub/x86_64/loader.h: Likewise.
13415
13416 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
13417
1f4147aa 134182009-03-21 Bean <bean123ch@gmail.com>
13419
13420 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
13421 instead of stat in mingw environment.
13422
13423 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
13424
13425 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
13426
13427 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
13428 AC_CONFIG_LINKS.
13429
2156d5ba 134302009-03-21 Bean <bean123ch@gmail.com>
13431
13432 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
13433 out of range error.
13434
177b82ca 134352009-03-18 Michel Dänzer <michel@daenzer.net>
13436
13437 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
13438 checking inode flags for EXT4_EXTENTS_FLAG.
13439
14aad807 134402009-03-18 Robert Millan <rmh@aybabtu.com>
13441
13442 * loader/i386/linux.c: Include `<grub/video.h>' and
13443 `<grub/i386/pc/vbe.h>'..
13444 (grub_linux_setup_video): New function. Loosely based on the EFI one.
13445 (grub_linux32_boot): Attempt to configure video settings with
13446 grub_linux_setup_video().
13447 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
13448 to avoid grub_console_fini() which would step out of graphical mode
13449 unconditionally.
13450
8cf83a27 134512009-03-14 Robert Millan <rmh@aybabtu.com>
13452
13453 Fix build on powerpc.
13454 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
13455
40164e75 134562009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
13457
13458 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
13459 background image command.
13460
c58bc32a 134612009-03-12 Colin D Bennett <colin@gibibit.com>
13462
13463 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
13464 (grub_gfxterm_putchar): Extract pairs of identical calls to
13465 draw_cursor out of conditional blocks.
13466
5415144a 134672009-03-11 Pavel Roskin <proski@gnu.org>
13468
13469 * fs/hfs.c (grub_hfs_strncasecmp): New function.
13470 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
13471
6394042e 134722009-03-11 Robert Millan <rmh@aybabtu.com>
13473
13474 * loader/i386/multiboot_elfxx.c
13475 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
13476
b7b50e5f 134772009-03-11 Felix Zielcke <fzielcke@z-51.de>
13478
13479 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
13480 `kern/handler.c'.
13481
1ca7fc96 134822009-03-11 Robert Millan <rmh@aybabtu.com>
13483
13484 * loader/i386/multiboot.c (code_size): New variable.
13485 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 13486 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 13487 4-byte alignment to MBI and others by increasing
7d074e3c 13488 `boot_loader_name_length' appropriately.
1ca7fc96 13489
13490 * loader/i386/multiboot_elfxx.c
13491 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
13492
a83ea1d2 134932009-03-09 Felix Zielcke <fzielcke@z-51.de>
13494
13495 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
13496 `fs/ext2.c'.
13497
aa9f3bff 134982009-03-08 Robert Millan <rmh@aybabtu.com>
13499
13500 Make loader/i386/linux.c usable on i386-pc again.
13501
13502 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
13503 memory to heap.
13504 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
13505 `#error' stanza.
13506
d8b3b60e 135072009-03-07 Bean <bean123ch@gmail.com>
13508
13509 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
13510 allocation.
13511
b362c9e9 135122009-03-06 Robert Millan <rmh@aybabtu.com>
13513
13514 Fix display issue on terminals with screen size other than 80x25
13515 (e.g. gfxterm with resolution higher than 640x480).
13516
13517 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 13518 position relative to the center of the terminal instead of relying
b362c9e9 13519 on a hardcoded offset.
13520
9304eef1 135212009-03-04 Robert Millan <rmh@aybabtu.com>
13522
13523 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
13524 installed.
13525
13526 * Makefile.in (host_kernel): New variable.
13527 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
13528 scripts instead of just the windows one.
13529 * configure.ac: Initialize and AC_SUBST `host_kernel'.
13530
eabc95fb 135312009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 13532
13533 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
13534 `kern/handler.c'.
13535 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13536 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13537 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13538 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13539 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13540 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13541
ceb1223c 135422009-03-04 Felix Zielcke <fzielcke@z-51.de>
13543
13544 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
13545 or if there's no space for the disk label and print the partition number on a
13546 invalid magic.
13547
4910684a 135482009-03-04 Felix Zielcke <fzielcke@z-51.de>
13549
13550 * util/misc.c: Include <time.h>.
13551 (grub_millisleep): New function.
13552
7e9ca17a 135532009-03-04 Bean <bean123ch@gmail.com>
13554
13555 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
13556 another option -mno-red-zone.
13557
13558 * commands/handler.c: Change module description.
13559
13560 * kern/handler.c: Add missing space at the end of description line.
13561
13562 * kern/list.c: Likewise.
13563
f501677c 135642009-03-03 Robert Millan <rmh@aybabtu.com>
13565
13566 Move more components to the relocation area, and fix mbi pointer
13567 handling to use the destination rather than the origin (thanks to
13568 Vladimir Serbinenko for spotting).
13569
13570 * loader/i386/multiboot.c (mbi_dest): New variable.
13571 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
13572 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
13573 relocation area.
13574
9902d047 135752009-03-01 Bean <bean123ch@gmail.com>
13576
50fb7002 13577 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 13578 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
13579 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
13580 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
13581
13582 * loader/i386/efi/linux.c (acpi_guid): New variable.
13583 (acpi_guid): Likewise.
13584 (EBDA_SEG_ADDR): New constant.
13585 (LOW_MEM_ADDR): Likewise.
13586 (FAKE_EBDA_SEG): Likewise.
13587 (fake_bios_data): New function.
13588 (grub_linux_boot): Call fake_bios_data.
13589
71b9f361 135902009-03-01 Bean <bean123ch@gmail.com>
13591
13592 * commands/terminal.c: Removed.
13593
13594 * commands/handler.c: New file.
13595
13596 * include/grub/list.h: Likewise.
13597
13598 * include/grub/handler.h: Likewise.
13599
13600 * kern/list.c: Likewise.
13601
13602 * kern/handler.c: Likewise.
13603
13604 * kern/term.h: Include header file <grub/handler.h>.
13605 (grub_term_input): Move next field to the beginning.
13606 (grub_term_output): Likewise.
13607 (grub_term_input_class): New variable.
13608 (grub_term_output_class): Likewise.
13609 (grub_term_register_input): Changed to inline function.
13610 (grub_term_register_output): Likewise.
13611 (grub_term_unregister_input): Likewise.
13612 (grub_term_unregister_output): Likewise.
13613 (grub_term_set_current_input): Likewise.
13614 (grub_term_set_current_output): Likewise.
13615 (grub_term_get_current_input): Likewise.
13616 (grub_term_get_current_output): Likewise.
13617 (grub_term_iterate_input): Removed.
13618 (grub_term_iterate_output): Likewise.
13619
13620 * kern/term.c (grub_term_list_input): Removed.
13621 (grub_term_list_output): Likewise.
13622 (grub_term_input_class): New variable.
13623 (grub_term_output_class): Likewise.
50fb7002 13624 (grub_cur_term_input): Change variable as macro.
71b9f361 13625 (grub_cur_term_output): Likewise.
13626 (grub_term_register_input): Removed.
13627 (grub_term_register_output): Likewise.
13628 (grub_term_unregister_input): Likewise.
13629 (grub_term_unregister_output): Likewise.
13630 (grub_term_set_current_input): Likewise.
13631 (grub_term_set_current_output): Likewise.
13632 (grub_term_iterate_input): Likewise.
13633 (grub_term_iterate_output): Likewise.
13634 (grub_term_get_current_input): Likewise.
13635 (grub_term_get_current_output): Likewise.
13636
13637 * util/grub-editenv.c: Include header file <grub/handler.h>.
13638 (grub_term_get_current_input): Removed.
13639 (grub_term_get_current_output): Likewise.
13640 (grub_term_input_class): New variable.
50fb7002 13641 (grub_term_output_class): Likewise.
71b9f361 13642
13643 * util/grub-fstest.c (grub_term_get_current_input): Removed.
13644 (grub_term_get_current_output): Likewise.
13645 (grub_term_input_class): New variable.
50fb7002 13646 (grub_term_output_class): Likewise.
71b9f361 13647
13648 * util/grub-probe.c (grub_term_get_current_input): Removed.
13649 (grub_term_get_current_output): Likewise.
13650 (grub_term_input_class): New variable.
50fb7002 13651 (grub_term_output_class): Likewise.
71b9f361 13652
13653 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
13654 (grub_term_get_current_output): Likewise.
13655 (grub_term_input_class): New variable.
50fb7002 13656 (grub_term_output_class): Likewise.
71b9f361 13657
13658 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
13659 (terminal_mod_SOURCES): Likewise.
13660 (terminal_mod_CFLAGS): Likewise.
13661 (terminal_mod_LDFLAGS): Likewise.
13662
13663 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
13664 handler.c.
13665 (kernel_img_SOURCES): Add list.c and handler.c.
13666 (kernel_img_HEADERS): Add list.h and handler.h.
13667
13668 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
13669 handler.c.
13670 (kernel_mod_SOURCES): Add list.c and handler.c.
13671 (kernel_mod_HEADERS): Add list.h and handler.h.
13672
13673 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
13674 handler.c.
13675 (kernel_elf_SOURCES): Add list.c and handler.c.
13676 (kernel_elf_HEADERS): Add list.h and handler.h.
13677
13678 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
13679 handler.c.
13680 (kernel_elf_SOURCES): Add list.c and handler.c.
13681 (kernel_elf_HEADERS): Add list.h and handler.h.
13682
13683 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
13684 handler.c.
13685 (kernel_mod_SOURCES): Add list.c and handler.c.
13686 (kernel_mod_HEADERS): Add list.h and handler.h.
13687
13688 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
13689 handler.c.
13690 (kernel_elf_SOURCES): Add list.c and handler.c.
13691 (kernel_elf_HEADERS): Add list.h and handler.h.
13692
8a31787f 136932009-02-27 Robert Millan <rmh@aybabtu.com>
13694
13695 Factorize elf32 / elf64 code in Multiboot loader. This will
13696 prevent it from getting out of sync again.
13697
13698 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
13699 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
13700 grub_multiboot_load_elf64): Move from here ...
13701 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
13702 grub_multiboot_load_elf): ... to here (new file).
13703
51cd3dfc 137042009-02-27 Robert Millan <rmh@aybabtu.com>
13705
13706 * util/grub.d/10_linux.in: Rename "single-user mode" to
13707 "recovery mode".
13708
6e8c9c3a 137092009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
13710
13711 Don't leak in SCSI code.
13712 * disk/scsi.c (grub_scsi_close): free `scsi'.
13713
4b6bf4f9 137142009-02-27 Robert Millan <rmh@aybabtu.com>
13715
13716 * loader/i386/pc/multiboot.c: Move from here ...
13717 * loader/i386/multiboot.c: ... to here. Update all users.
13718
b9413424 137192009-02-27 Robert Millan <rmh@aybabtu.com>
13720
13721 Patch from Alexandre Bique <bique.alexandre@gmail.com>
13722 * util/i386/pc/grub-setup.c (setup): Fix directory path.
13723
50fb7002 137242009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 13725
13726 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
13727 b-tree.
13728
8cc50345 137292009-02-27 Robert Millan <rmh@aybabtu.com>
13730
13731 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
13732 `0x' qualifier as 0 when base is specified as parameter).
13733
6e09b8b7 137342009-02-24 Bean <bean123ch@gmail.com>
13735
13736 * configure.ac: Check for -mcmodel=large in x86_64 target.
13737
13738 * include/grub/efi/api.h (efi_call_10): New macro.
13739 (efi_wrap_10): New function.
13740
13741 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
13742 (GRUB_PE32_REL_BASED_HIGH): Likewise.
13743 (GRUB_PE32_REL_BASED_LOW): Likewise.
13744 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
13745 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
13746 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
13747 (GRUB_PE32_REL_BASED_SECTION): Likewise.
13748 (GRUB_PE32_REL_BASED_REL): Likewise.
13749 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
13750 (GRUB_PE32_REL_BASED_DIR64): Likewise.
13751 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
13752
13753 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
13754 issue.
13755
13756 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
13757 (efi_wrap_10): New function.
13758
13759 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
13760
13761 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
13762 MB/MBP model (NV chipset).
13763 (devdata_devs): Add devpath_5 to the list.
13764
13765 * load/i386/efi/linux.c (video_base): Remove variable.
13766 (RGB_MASK): New macro.
13767 (RGB_MAGIC): Likewise.
13768 (LINE_MIN): Likewise.
13769 (LINE_MAX): Likewise.
13770 (FBTEST_STEP): Likewise.
13771 (FBTEST_COUNT): Likewise.
13772 (fb_list): New variable.
13773 (grub_find_video_card): Remove function.
13774 (find_framebuf): New function.
13775 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
13776 line length.
13777
13778 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
13779 problem for x86_64.
13780
74b21bee 137812009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
13782
13783 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
13784
13785 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
13786 coding tool name.
13787
a455f472 137882009-02-22 Robert Millan <rmh@aybabtu.com>
13789
13790 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
13791 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
13792 in our relocation, instead of using it directly from heap. Also
13793 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
13794
6374daf3 137952009-02-21 Robert Millan <rmh@aybabtu.com>
13796
13797 Implement USB keyboard support (based on patch by Marco Gerards)
13798
13799 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
13800 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
13801 (usb_keyboard_mod_LDFLAGS): New variables.
13802
13803 * term/usb_keyboard.c: New file.
13804
8fa4ea70 138052009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13806
13807 Corrected wrong declaration
13808
13809 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
13810
353976ac 138112009-02-14 Christian Franke <franke@computer.org>
13812
13813 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
13814 (grub_lspci_iter): Print class code and programming interface byte.
13815
6aa1169b 138162009-02-14 Christian Franke <franke@computer.org>
13817
13818 * gendistlist.sh: Ignore `.svn' directories.
13819
265372ca 138202009-02-14 Felix Zielcke <fzielcke@z-51.de>
13821
13822 * fs/fat.c: Add 2009 to Copyright line.
13823
9ff516f3 138242009-02-14 Christian Franke <franke@computer.org>
13825
13826 * commands/hdparm.c: New file. Provides `hdparm' command
13827 which sends ATA commands via grub_disk_ata_pass_through ().
13828
13829 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
13830
13831 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
13832 and <grub/cpu/io.h> to include/grub/ata.h.
13833 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
13834 (GRUB_CDROM_SECTOR_SIZE): Remove.
13835 (GRUB_ATA_*): Move to include/grub/ata.h.
13836 (GRUB_ATAPI_*): Likewise.
13837 (enum grub_ata_commands): Likewise.
13838 (enum grub_ata_timeout_milliseconds): Likewise.
13839 (struct grub_ata_device): Likewise.
13840 (grub_ata_regset): Likewise.
13841 (grub_ata_regget): Likewise.
13842 (grub_ata_regset2): Likewise.
13843 (grub_ata_regget2): Likewise.
13844 (grub_ata_check_ready): Likewise.
13845 (grub_ata_wait_not_busy): Remove static, exported in
13846 include/grub/ata.h.
13847 (grub_ata_wait_drq): Likewise.
13848 (grub_ata_pio_read): Likewise.
13849
13850 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
13851 function for hdparm.mod.
13852
13853 * include/grub/ata.h: New file, contains declarations from
13854 disk/ata.c.
13855 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
13856
13857 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
13858 (grub_disk_ata_pass_through): New exported variable.
13859
13860 * kern/disk.c (grub_disk_ata_pass_through): New variable.
13861
772e23da 138622009-02-13 Colin D Bennett <colin@gibibit.com>
13863
13864 Support multiple fallback entries, and provide an API to support
13865 executing default+fallback menu entries. Renamed the `terminal' menu
13866 viewer to `text'.
13867
13868 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
13869 variable declaration.
13870 (grub_menu_execute_callback): New structure declaration.
13871 (grub_menu_execute_callback_t): New typedef.
13872 (grub_menu_execute_with_fallback): New function declaration.
13873 (grub_menu_get_entry): Likewise.
13874 (grub_menu_get_timeout): Likewise.
13875 (grub_menu_set_timeout): Likewise.
13876
13877 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
13878
13879 * normal/menu.c (grub_wait_after_message): Moved to
13880 `normal/menu_text.c'.
13881 (draw_border): Likewise.
13882 (print_message): Likewise.
13883 (print_entry): Likewise.
13884 (print_entries): Likewise.
13885 (grub_menu_init_page): Likewise.
13886 (get_entry_number): Likewise.
13887 (print_timeout): Likewise.
13888 (run_menu): Likewise.
13889 (grub_menu_execute_entry): Likewise.
13890 (show_text_menu): Likewise.
13891 (get_and_remove_first_entry_number): New function.
13892 (grub_menu_execute_with_fallback): Likewise.
13893 (get_entry): Renamed to ...
13894 (grub_menu_get_entry): .. this and made it global.
13895 (get_timeout): Renamed to ...
13896 (grub_menu_get_timeout): ... this and made it global.
13897 (set_timeout): Renamed to ...
13898 (grub_menu_set_timeout): ... this and made it global.
13899 (grub_normal_terminal_menu_viewer): Renamed to ...
13900 (grub_normal_text_menu_viewer): ... this.
13901
13902 * normal/menu_text.c: New file. Extracted text-menu-specific code
13903 from normal/menu.c.
13904
13905 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
13906 (normal_mod_SOURCES): Likewise.
13907
13908 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13909 (normal_mod_SOURCES): Likewise.
13910
13911 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13912 (normal_mod_SOURCES): Likewise.
13913
13914 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
13915 (normal_mod_SOURCES): Likewise.
13916
13917 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13918 (normal_mod_SOURCES): Likewise.
13919
13920 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13921 (normal_mod_SOURCES): Likewise.
13922
13923 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13924 (normal_mod_SOURCES): Likewise.
13925
16ac430e 139262009-02-11 Robert Millan <rmh@aybabtu.com>
13927
13928 * util/grub.d/00_header.in: Update old reference to `font' command.
13929
06ff20fc 139302009-02-10 Felix Zielcke <fzielcke@z-51.de>
13931
13932 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
13933
13934 Based on patch from Javier Martín.
13935
96da9407 139362009-02-09 Felix Zielcke <fzielcke@z-51.de>
13937
13938 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 13939 to avoid false positives with FAT.
96da9407 13940 (grub_fstest_SOURCES): Likewise.
13941 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13942 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13944 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13945 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13946 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13947
6dca6fe4 139482009-02-09 Felix Zielcke <fzielcke@z-51.de>
13949
06ff20fc 13950 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 13951 bpb.version_specific.fat12_or_fat16.fstype and
13952 bpb.version_specific.fat32.fstype.
13953
2550c62f 139542009-02-08 Robert Millan <rmh@aybabtu.com>
13955
be110b30 13956 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 13957
56978920 139582009-02-08 Robert Millan <rmh@aybabtu.com>
13959
13960 * Makefile.in (host_os, host_cpu): New variables.
13961 (target_os): Remove. Update all users.
13962
d64399b5 139632009-02-08 Marco Gerards <marco@gnu.org>
13964
13965 * Makefile.in (enable_grub_emu_usb): New variable.
13966 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
13967 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
13968 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
13969 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
13970 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
13971 `usbtest.mod' and `usbms.mod'.
13972 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
13973 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
13974 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
13975 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
13976 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
13977 variables.
13978
13979 * disk/usbms.c: New file.
13980
13981 * include/grub/usb.h: Likewise.
13982
13983 * include/grub/usbtrans.h: Likewise.
13984
13985 * include/grub/usbdesc.h: Likewise.
13986
13987 * bus/usb/usbtrans.c: Likewise.
13988
13989 * bus/usb/ohci.c: Likewise.
13990
13991 * bus/usb/uhci.c: Likewise.
13992
13993 * bus/usb/usbhub.c: Likewise.
13994
13995 * bus/usb/usb.c: Likewise.
13996
13997 * commands/usbtest.c: Likewise.
13998
13999 * util/usb.c: Likewise.
50fb7002 14000
d64399b5 14001 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
14002
14003 * configure.ac: Test for libusb presence.
50fb7002 14004
d64399b5 14005 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
14006
2b40d6bb 140072009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
14008
14009 * kern/mm.c: Add more comments.
14010
73a4ce81 140112009-02-08 Robert Millan <rmh@aybabtu.com>
14012
14013 Patch from Javier Martín.
14014 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
14015 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
14016
f821ce59 140172009-02-08 Robert Millan <rmh@aybabtu.com>
14018
14019 * fs/cpio.c: Split tar functionality to ...
14020 * fs/tar.c: ... here (new file). Update all users.
14021
aebfc4b0 140222009-02-07 Robert Millan <rmh@aybabtu.com>
14023
14024 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
14025 backward-incompatible features.
14026
14027 Based on patch from Javier Martín, with some adjustments.
14028
50fb7002 140292009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 14030
14031 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
14032
0bb5115e 140332009-02-07 Robert Millan <rmh@aybabtu.com>
14034
14035 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
14036 position of `disk/lvm.c' to ensure grub_init_all() always picks it
14037 after the RAID stuff.
14038
38a0f8e7 140392009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
14040
50fb7002 14041 Fixes problem when running vbetest command as reported by
38a0f8e7 14042 Vladimir Serbinenko <phcoder@gmail.com>.
14043
14044 * (grub_vbe_set_video_mode): Fixed problem with text modes.
14045
3143cc1c 140462009-02-04 Felix Zielcke <fzielcke@z-51.de>
14047
14048 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
14049 /dev/md/NpN style mdraid devices.
14050
9cba6fce 140512009-02-03 Felix Zielcke <fzielcke@z-51.de>
14052
14053 * util/unifont2pff.rb: Remove.
14054
e507a2c1 140552009-02-03 Felix Zielcke <fzielcke@z-51.de>
14056
14057 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
14058 `#'.
14059
d2c2b4cd 140602009-02-03 Felix Zielcke <fzielcke@z-51.de>
14061
14062 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
14063 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14064 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14065 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14066 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14067 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14068 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14069
b4315fb0 140702009-02-02 Christian Franke <franke@computer.org>
14071
14072 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
14073
de3aa260 140742009-02-01 Felix Zielcke <fzielcke@z-51.de>
14075
7c3ff286 14076 * INSTALL: Note that we now require at least autoconf 2.59 and
14077 that LZO is optional.
de3aa260 14078
825a182b 140792009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
14080
14081 Base on patch on bug #24154 created by Tomas Tintera
14082 <trosos@seznam.cz>.
14083
14084 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
14085
a69ef770 140862009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
14087
7c3ff286 14088 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 14089 <bero@arklinux.org>.
14090
14091 * normal/parser.y (script_init): Add missing semicolon.
14092
6fa42fa6 140932009-01-31 Colin D Bennett <colin@gibibit.com>
14094
7c3ff286 14095 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 14096 (free_menu_entry_classes): Added.
14097 (grub_normal_menu_addentry): Added class property handling.
14098 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
14099 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
14100
14101 * normal/menu_viewer.c: New file.
14102
14103 * normal/menu.c (run_menu_entry): Renamed to ...
14104 (grub_menu_execute_entry): ... this and made it as global.
14105 (grub_menu_run): Renamed to ...
14106 (show_text_menu): ... this and made it local.
14107 (show_text_menu): Adapt to new function names.
14108 (grub_normal_terminal_menu_viewer): New global variable.
14109
14110 * include/grub/menu.h: New file.
14111
14112 * include/grub/menu_viewer.h: New file.
14113
14114 * include/grub/normal.h: Added include to grub/menu.h.
14115 (grub_menu_entry): Moved to include/grub/menu.h.
14116 (grub_menu_entry_t): Likewise.
14117 (grub_menu): Likewise.
14118 (grub_menu_t): Likewise.
14119 (grub_normal_terminal_menu_viewer): Added.
14120 (grub_menu_execute_entry): Likewise.
14121 (grub_menu_run): Removed.
14122
14123 * DISTLIST: Added include/grub/menu.h.
14124 Added include/grub/menu_viewer.h.
14125 Added normal/menu_viewer.c.
14126
141272009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
14128
14129 * normal/execute.c (grub_script_execute_menuentry): Changed to use
14130 arglist for menutitle arguments.
14131
14132 * normal/main.c (grub_normal_menu_addentry): Likewise.
14133
14134 * normal/parser.y (menuentry): Likewise.
14135
14136 * normal/script.c (grub_script_create_cmdmenu): Likewise.
14137
14138 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
14139 (grub_script_create_cmdmenu): Likewise.
14140
14141 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
14142
14143 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
14144 changes.
14145
14146 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
14147
14148 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
14149
14150 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
14151
14152 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14153
14154 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14155
14156 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14157
56192c23 141582009-01-30 Christian Franke <franke@computer.org>
14159
14160 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
14161 in option help text.
14162
d72521b3 141632009-01-27 Pavel Roskin <proski@gnu.org>
14164
14165 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
14166
994b5e84 141672009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
14168
14169 * commands/lsmmap.c: Add include to grub/machine/memory.h.
14170
14171 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
14172
14173 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
14174 unregister function.
14175
6a7eab2c 141762009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
14177
14178 * disk/scsi.c (grub_scsi_read): Fix sign problem.
14179
14180 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
14181
14182 * util/grub-mkfont.c (usage): Fix typo.
14183
14184 * util/elf/grub-mkimage.c (load_modules): Fix warning.
14185
1806b56e 141862009-01-26 Daniel Mierswa <impulze@impulze.org>
14187
3fb18f09 14188 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
14189
336e1fb9 14190 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
14191
1806b56e 14192 * kern/misc.c (grub_strcasecmp): New function.
14193 (grub_strcasecmp): Use grub_size_t instead of int for length.
14194 Fix return value.
14195 * include/grub/misc.h: Update function prototypes.
14196
580b2a0f 141972009-01-26 Robert Millan <rmh@aybabtu.com>
14198
14199 * configure.ac: Fix cross-compilation check.
ef257b36 14200
d31c24f1 142012009-01-22 Christian Franke <franke@computer.org>
14202
14203 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
14204 (precision) digit string. Allow `.format2' without `format1' (width).
14205 Limit input chars for `%s' output to `format2' if specified. This is
14206 compatible with standard printf ().
14207
3138b44c 142082009-01-22 Christian Franke <franke@computer.org>
14209
14210 * disk/ata.c (grub_ata_wait_status): Replace by ...
14211 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
14212 other status bits may be invalid while BSY is asserted.
14213 (grub_ata_check_ready): New function.
14214 (grub_ata_cmd): Removed.
14215 (grub_ata_wait_drq): New function.
14216 (grub_ata_strncpy): Remove inline.
14217 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
14218 and error check now done by grub_ata_wait_drq ().
14219 (grub_ata_pio_write): Likewise.
14220 (grub_atapi_identify): Set DEV before check for !BSY. Use
14221 grub_ata_wait_drq () to wait for data.
14222 (grub_ata_device_initialize): Add status register check to
14223 detect missing SATA slave devices. Add debug messages.
14224 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
14225 (grub_atapi_packet): Set DEV before check for !BSY. Replace
14226 transfer loop by grub_ata_pio_write ().
14227 (grub_ata_identify): Set DEV before check for !BSY. Use
14228 grub_ata_wait_drq () to wait for data.
ef257b36 14229 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 14230 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
14231 read/write in one loop. Fix invalid command on write. Fix incomplete
14232 command on (size % batch) == 0. Add missing error check after write of
14233 last block. Add debug messages.
14234 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
14235
59a64ef6 142362009-01-19 Christian Franke <franke@computer.org>
14237
14238 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
14239 (GRUB_ATAPI_IREASON_*): Likewise.
14240 (grub_ata_pio_write): Fix timeout error return.
14241 (grub_atapi_identify): Add grub_ata_wait () after cmd.
14242 (grub_atapi_wait_drq): New function.
14243 (grub_atapi_packet): New parameter `size'.
14244 Use grub_atapi_wait_drq () and direct write instead of
14245 grub_ata_pio_write ().
14246 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
14247 reads the number of bytes requested by the device for each DRQ
14248 assertion.
14249 (grub_atapi_write): Remove old implementation, return not
14250 implemented instead.
14251
1cfe20b3 142522009-01-19 Christian Franke <franke@computer.org>
14253
14254 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
14255 of 512 to calculate data size.
14256 (grub_scsi_read12): Likewise.
14257 (grub_scsi_write10): Likewise.
14258 (grub_scsi_write12): Likewise.
14259 (grub_scsi_read): Adjust size according to blocksize.
14260 Add checks for invalid blocksize and unaligned transfer.
14261
bee5fe5d 142622009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
14263
14264 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
14265
ef257b36 14266 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 14267 width glyphs.
14268
3e643f8c 142692009-01-19 Robert Millan <rmh@aybabtu.com>
14270
14271 * config.guess: Update to latest version from config git.
14272 * config.sub: Likewise.
14273
4fa80998 142742009-01-17 Felix Zielcke <fzielcke@z-51.de>
14275
14276 * Makefile.in: Change font compilation to use new grub-mkfont instead
14277 of java version.
14278
14279 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
14280 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
14281 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14282 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14283 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
14284 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
14285 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
14286 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
14287 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
14288
7086085b 142892009-01-16 Christian Franke <franke@computer.org>
14290
14291 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
14292 (enum grub_ata_timeout_milliseconds): New enum.
14293 (grub_ata_wait_status): Add parameter milliseconds.
14294 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
14295 recovery from timed-out commands.
14296 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
14297 return grub_errno instead of REG_ERROR.
14298 (grub_ata_pio_write): Add parameter milliseconds.
14299 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
14300 Pass milliseconds to grub_ata_wait_status () and
14301 grub_ata_pio_read ().
14302 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
14303 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
14304 grub_ata_wait_status (). Fix IDENTIFY timeout check.
14305 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
14306 It is not suitable for device detection, because DEV bit is ignored,
14307 the command may run too long, and not all devices set the signature
14308 properly.
14309 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
14310 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
14311 Fix device selection, DEV bit must be set first to address the registers
14312 of the correct device.
14313 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
14314 grub_ata_pio_read/write ().
14315 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
14316 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
14317
4a412913 143182009-01-13 Carles Pina i Estany <carles@pina.cat>
14319
14320 * util/grub-editenv.c (main): Use fseeko(), not fseek().
14321
7795c55e 143222009-01-13 Bean <bean123ch@gmail.com>
d913988c 14323
14324 * util/grub-mkfont.c (write_font): forget to remove some debug code.
14325
7795c55e 143262009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 14327
14328 * Makefile.in: (enable_grub_mkfont): New variable.
14329 (freetype_cflags): Likewise.
14330 (freetype_libs): Likewise.
14331
14332 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
14333 (grub_mkfont_SOURCES): New variable.
14334 (grub_mkfont_CFLAGS): Likewise.
14335 (grub_mkfont_LDFLAGS): Likewise.
14336
14337 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
14338 library if `--enable-grub-mkfont' is requested.
14339 (enable_grub_mkfont): New variable.
14340 (freetype_cflags): Likewise.
14341 (freetype_libs): Likewise.
14342
14343 * util/grub-mkfont.c: New file.
14344
093af1fe 143452009-01-12 Christian Franke <franke@computer.org>
14346
14347 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
14348 mode check. Fix setting of compat_use[].
14349
f36cc108 143502009-01-10 Robert Millan <rmh@aybabtu.com>
14351
14352 Update a few copyright years which we forgot to do in 2008 (only for
14353 files whose changes made in 2008 were copyright-significant)
14354
14355 * Makefile.in: Add 2008 to Copyright line.
14356 * disk/ieee1275/ofdisk.c: Likewise.
14357 * disk/efi/efidisk.c: Likewise.
14358 * kern/dl.c: Likewise.
14359 * kern/sparc64/ieee1275/init.c: Likewise.
14360 * kern/mm.c: Likewise.
14361 * kern/efi/mm.c: Likewise.
14362 * boot/i386/pc/boot.S: Likewise.
14363 * genfslist.sh: Likewise.
14364 * fs/iso9660.c: Likewise.
14365 * fs/hfs.c: Likewise.
14366 * fs/jfs.c: Likewise.
14367 * fs/minix.c: Likewise.
14368 * fs/ufs.c: Likewise.
14369 * gensymlist.sh.in: Likewise.
14370 * genkernsyms.sh.in: Likewise.
14371 * include/grub/misc.h: Likewise.
14372 * include/grub/types.h: Likewise.
14373 * include/grub/symbol.h: Likewise.
14374 * include/grub/elf.h: Likewise.
14375 * include/grub/kernel.h: Likewise.
14376 * include/grub/disk.h: Likewise.
14377 * include/grub/dl.h: Likewise.
14378 * include/grub/i386/linux.h: Likewise.
14379 * include/grub/i386/pc/biosdisk.h: Likewise.
14380 * include/grub/efi/api.h: Likewise.
14381 * include/grub/efi/pe32.h: Likewise.
14382 * include/grub/util/misc.h: Likewise.
14383 * normal/execute.c: Likewise.
14384 * normal/arg.c: Likewise.
14385 * normal/completion.c: Likewise.
14386 * normal/lexer.c: Likewise.
14387 * normal/parser.y: Likewise.
14388 * normal/misc.c: Likewise.
14389 * commands/i386/pc/vbeinfo.c: Likewise.
14390 * commands/hexdump.c: Likewise.
14391 * commands/terminal.c: Likewise.
14392 * commands/ls.c: Likewise.
14393 * commands/help.c: Likewise.
14394 * partmap/pc.c: Likewise.
14395 * loader/efi/chainloader.c: Likewise.
14396 * loader/multiboot_loader.c: Likewise.
14397 * loader/i386/pc/multiboot2.c: Likewise.
14398 * term/efi/console.c: Likewise.
14399 * term/i386/pc/serial.c: Likewise.
14400 * util/lvm.c: Likewise.
14401 * util/console.c: Likewise.
14402 * util/i386/efi/grub-mkimage.c: Likewise.
14403 * util/raid.c: Likewise.
14404
7f02114b 144052009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
14406
14407 * commands/videotest.c: Removed include to grub/machine/memory.h.
14408
14409 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
14410 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
14411 (video_mod_SOURCES): Removed.
14412 (video_mod_CFLAGS): Likewise.
14413 (video_mod_LDFLAGS): Likewise.
14414 (gfxterm_mod_SOURCES): Likewise.
14415 (gfxterm_mod_CFLAGS): Likewise.
14416 (gfxterm_mod_LDFLAGS): Likewise.
14417 (videotest_mod_SOURCES): Likewise.
14418 (videotest_mod_CFLAGS): Likewise.
14419 (videotest_mod_LDFLAGS): Likewise.
14420 (bitmap_mod_SOURCES): Likewise.
14421 (bitmap_mod_CFLAGS): Likewise.
14422 (bitmap_mod_LDFLAGS): Likewise.
14423 (tga_mod_SOURCES): Likewise.
14424 (tga_mod_CFLAGS): Likewise.
14425 (tga_mod_LDFLAGS): Likewise.
14426 (jpeg_mod_SOURCES): Likewise.
14427 (jpeg_mod_CFLAGS): Likewise.
14428 (jpeg_mod_LDFLAGS): Likewise.
14429 (png_mod_SOURCES): Likewise.
14430 (png_mod_CFLAGS): Likewise.
14431 (png_mod_LDFLAGS): Likewise.
14432
14433 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
14434 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
14435 (video_mod_SOURCES): Added.
14436 (video_mod_CFLAGS): Likewise.
14437 (video_mod_LDFLAGS): Likewise.
14438 (videotest_mod_SOURCES): Likewise.
14439 (videotest_mod_CFLAGS): Likewise.
14440 (videotest_mod_LDFLAGS): Likewise.
14441 (bitmap_mod_SOURCES): Likewise.
14442 (bitmap_mod_CFLAGS): Likewise.
14443 (bitmap_mod_LDFLAGS): Likewise.
14444 (tga_mod_SOURCES): Likewise.
14445 (tga_mod_CFLAGS): Likewise.
14446 (tga_mod_LDFLAGS): Likewise.
14447 (jpeg_mod_SOURCES): Likewise.
14448 (jpeg_mod_CFLAGS): Likewise.
14449 (jpeg_mod_LDFLAGS): Likewise.
14450 (png_mod_SOURCES): Likewise.
14451 (png_mod_CFLAGS): Likewise.
14452 (png_mod_LDFLAGS): Likewise.
14453 (gfxterm_mod_SOURCES): Likewise.
14454 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 14455 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 14456
14457 * term/gfxterm.c: Removed include to grub/machine/memory.h,
14458 grub/machine/console.h.
14459
644fff97 144602009-01-04 Jerone Young <jerone@gmail.com>
14461
14462 Make on screen instructions clearer
14463
14464 Based on patch created by Jidanni <jidanni@jidanni.org>
14465
14466 * normal/menu.c: print clearer instructions on the screen
14467
1e901a75 144682009-01-02 Colin D Bennett <colin@gibibit.com>
14469
14470 New font engine.
34c44600 14471
1e901a75 14472 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
14473 build system and fixed gfxterm.c to work with different sized fonts.
14474
14475 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 14476
1e901a75 14477 * configure: Re-generated.
34c44600 14478
1e901a75 14479 * DISTLIST: Removed font/manager.c.
14480 Added font/font.c.
14481 Added font/font_cmd.c.
34c44600 14482
1e901a75 14483 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
14484 compilation.
34c44600 14485
1e901a75 14486 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 14487
14488 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 14489
14490 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 14491
1e901a75 14492 * normal/menu.c: Likewise.
34c44600 14493
1e901a75 14494 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
14495 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 14496
1e901a75 14497 * include/grub/font.h: Replaced with new file.
34c44600 14498
1e901a75 14499 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
14500 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
14501 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
14502 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
14503 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 14504 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 14505 fg_red, fg_green, fg_blue, fg_alpha.
14506 (grub_video_adapter): Removed blit_glyph.
34c44600 14507 (grub_video_blit_glyph): Removed.
14508
1e901a75 14509 * font/manager.c: Removed file.
34c44600 14510
14511 * font/font.c: New file.
14512
1e901a75 14513 * font/font_cmd.c: Likewise.
34c44600 14514
1e901a75 14515 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 14516
1e901a75 14517 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
14518 (grub_video_vbe_map_rgba): Likewise.
14519 (grub_video_vbe_unmap_color_int): Likewise.
14520 (grub_video_vbe_blit_glyph): Removed.
14521 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 14522
1e901a75 14523 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
14524 (get_pixel): Likewise.
34c44600 14525 (set_pixel): Likewise.
14526
1e901a75 14527 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 14528
1e901a75 14529 * term/gfxterm.c: Adapted to new font engine.
34c44600 14530
1e901a75 14531 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 14532
1e901a75 14533 * term/i386/pc/vga.c: Likewise.
34c44600 14534
1e901a75 14535 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 14536
1e901a75 14537 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 14538
1e901a75 14539 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 14540
1e901a75 14541 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 14542
1e901a75 14543 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 14544
1e901a75 14545 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 14546
1e901a75 14547 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 14548
1e901a75 14549 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 14550
1e901a75 14551 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
14552
14553 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 14554
1e901a75 14555 * util/grub-mkconfig_lib.in: Changed font extension.
14556
278922e8 145572008-12-28 Felix Zielcke <fzielcke@z-51.de>
14558
14559 * util/getroot.c (grub_util_get_grub_dev): Add support for
14560 /dev/md/dNNpNN style partitionable mdraid devices.
14561
3ced05cf 145622008-12-12 Alex Smith <alex@alex-smith.me.uk>
14563
14564 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
14565 at a time limit of the PXE TFTP API correctly.
14566 (grub_pxefs_close): Likewise.
14567
7fd0ee30 145682008-11-29 Robert Millan <rmh@aybabtu.com>
14569
34c44600 14570 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 14571 grub_ata_device_initialize() calls.
14572
34c44600 145732008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 14574
14575 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
14576 iteration failed.
14577 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
14578
89313780 145792008-11-28 Robert Millan <rmh@aybabtu.com>
14580
14581 Fix build on powerpc-ieee1275. Based on patch created by
14582 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
14583 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
14584 `kern/ieee1275/mmap.c'.
14585 * include/grub/powerpc/ieee1275/memory.h: New file.
14586
15257703 14587 Provide grub-install on coreboot.
14588 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
14589 (grub_install_SOURCES): New variable.
14590 * util/i386/pc/grub-install.in: Add a few condition checks to make it
14591 usable on coreboot.
14592
9fc5388a 145932008-11-25 Felix Zielcke <fzielcke@z-51.de>
14594
14595 * util/grub-fstest.c (grub_term_get_current_input): Change return type
14596 to `grub_term_input_t'.
14597 (grub_term_get_current_output): Change return type to
14598 `grub_term_output_t'.
14599
bc3a2f31 146002008-11-22 Robert Millan <rmh@aybabtu.com>
14601
34c44600 14602 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 14603 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
14604 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
14605 grub_vga_text_cls().
14606
80fc88f2 14607 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 14608 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 14609
cbf36fd3 14610 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
14611 to 0x200000 (avoids trouble with some OFW implementations, and matches
14612 with the one in Yaboot).
14613 Reported by Manoel Abranches
14614
73e8e268 146152008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 14616
14617 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
14618 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
14619
73e8e268 14620 * util/grub-mkconfig_lib.in (grub_warn): New function.
14621 (convert_system_path_to_grub_path): Use grub_warn() when issuing
14622 warnings, to obtain consistent formatting.
14623 * util/grub.d/00_header.in: Likewise.
14624 * util/update-grub_lib.in: Likewise.
14625
e94045a1 14626 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 14627 Move comment text to `#error' stanza.
e94045a1 14628
79d29fd7 14629 Harmonize ieee1275's grub_available_iterate() with the generic
14630 grub_machine_mmap_iterate() interface (fixes a recently-introduced
14631 build problem on i386-ieee1275):
14632 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
14633 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
14634 parameter `type'. Update all users of this function.
14635 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
14636 `kern/ieee1275/mmap.c'.
14637 * kern/ieee1275/init.c
14638 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
14639 with ...
14640 (grub_machine_mmap_iterate): ... this.
14641 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
14642 return type to `grub_err_t'. Update all implementations of this
14643 function prototype.
14644 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
14645 Likewise.
14646
60d6b16e 14647 Add `lsmmap' command (lists firmware-provided memory map):
14648 * commands/lsmmap.c: New file.
14649 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
14650 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
14651 variables.
14652 * conf/powerpc-ieee1275.rmk: Likewise.
14653 * conf/i386-coreboot.rmk: Likewise.
14654 * conf/i386-ieee1275.rmk: Likewise.
14655
ebaaf49b 146562008-11-19 Robert Millan <rmh@aybabtu.com>
14657
14658 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 14659 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
14660 constraints to initrd allocation (based on code from
14661 loader/i386/pc/linux.c). Without them, initrd was allocated too high
14662 for Linux to find it.
ebaaf49b 14663
dfab719f 146642008-11-14 Robert Millan <rmh@aybabtu.com>
14665
14666 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
14667 order to cope with duplicate slashes.
14668
10fc3eb9 146692008-11-14 Robert Millan <rmh@aybabtu.com>
14670
14671 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
14672 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
14673 don't want to mess with lower memory, because it is used in the Linux
14674 loader.
14675
14676 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 14677 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 14678 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
14679 is in our heap (probably as a result of it being corrupted during
2f2a3442 14680 decompression). Add #error instance with comment to explain why this
14681 loader isn't currently usable on PC/BIOS.
10fc3eb9 14682
e2e07847 146832008-11-14 Robert Millan <rmh@aybabtu.com>
14684
14685 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 14686 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 14687
fe8e8d69 146882008-11-12 Robert Millan <rmh@aybabtu.com>
14689
14690 Make loader/i386/linux.c buildable on i386-pc (although disabled).
14691
14692 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
14693 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
14694 from here ...
14695 * include/grub/i386/pc/memory.h: ... to here.
14696
976b07d0 146972008-11-12 Robert Millan <rmh@aybabtu.com>
14698
14699 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
14700 split).
14701
14702 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
14703 (grub_console_cur_color, grub_console_real_putchar)
14704 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
14705 (grub_console_setcolorstate, grub_console_setcolor)
14706 (grub_console_getcolor): Move from here ...
14707 * include/grub/i386/vga_common.h: ... to here (new file).
14708
14709 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
14710 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
14711 `<grub/i386/io.h>'.
14712 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
14713 `<grub/i386/vga_common.h>'.
14714
76679cd3 147152008-11-12 Robert Millan <rmh@aybabtu.com>
14716
14717 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
14718 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
14719 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
14720 variables.
14721 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
14722 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
14723
14724 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
14725 grub_console_init() with call to grub_vga_text_init().
14726 (grub_machine_fini): Replace call to
14727 grub_console_fini() with call to grub_vga_text_fini() and
14728 grub_at_keyboard_fini().
14729
14730 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
14731 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
14732 (grub_console_setcolorstate, grub_console_setcolor)
14733 (grub_console_getcolor): New function prototypes.
14734
14735 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
14736 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
14737 (grub_vga_text_setcursor): Static-ize.
14738 (grub_vga_text_term): New structure.
14739 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
14740
14741 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
14742 (grub_console_cur_color, grub_console_standard_color)
14743 (grub_console_normal_color, grub_console_highlight_color)
14744 (map_char, grub_console_putchar, grub_console_getcharwidth)
14745 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
14746 (grub_console_getcolor): Move from here ...
14747 * term/i386/vga_common.c: ... to here (same function names).
14748
95b841d3 147492008-11-12 Robert Millan <rmh@aybabtu.com>
14750
14751 Use newly-added Multiboot support in coreboot.
14752
14753 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
14754 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
14755
14756 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
14757 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
14758 (codestart): Store the MBI in `startup_multiboot_info' when we're
14759 being loaded using Multiboot.
14760
14761 * kern/i386/coreboot/init.c (grub_machine_init): Move
14762 grub_at_keyboard_init() call to beginning of function (useful for
14763 debugging). Call grub_machine_mmap_init() before attempting to use
14764 grub_machine_mmap_iterate().
14765 (grub_lower_mem, grub_upper_mem): Move from here ...
14766 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
14767 here (new file).
14768
14769 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
14770 function prototype.
14771
761ca975 147722008-11-12 Robert Millan <rmh@aybabtu.com>
14773
14774 Fix a regression introduced by the at_keyboard.mod split. Because
14775 some terminals are default on some platforms and non-default on
14776 others, the first terminal being registered determines which is
14777 going to be default.
14778
14779 * kern/term.c (grub_term_register_input): If this is the first
14780 terminal being registered, set it as the current one.
14781 (grub_term_register_output): Likewise.
14782
14783 * term/efi/console.c (grub_console_init): Do not call
14784 grub_term_set_current_output() or grub_term_set_current_input().
14785 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
14786 * term/i386/pc/console.c (grub_console_init): Likewise.
14787 (grub_console_fini): Do not call grub_term_set_current_input()
14788 (but leave grub_term_set_current_output() to restore text mode).
14789
6c529df7 147902008-11-10 Robert Millan <rmh@aybabtu.com>
14791
14792 * util/grub.d/00_header.in: Add backward compatibility check for
14793 versions of terminal.mod that don't understand `terminal_input' or
14794 `terminal_output'.
14795
132e4113 147962008-11-09 Robert Millan <rmh@aybabtu.com>
14797
14798 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
14799 `terminal_input' / `terminal_output', not `terminal'.
14800
ac293d50 148012008-11-08 Robert Millan <rmh@aybabtu.com>
14802
14803 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 14804 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 14805
0025933a 148062008-11-08 Robert Millan <rmh@aybabtu.com>
14807
14808 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 14809 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 14810 members. Update all users.
14811 * util/console.c (grub_ncurses_term): Split in ...
14812 (grub_ncurses_term_input): ... this, and ...
14813 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 14814 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 14815
37c86336 148162008-11-08 Robert Millan <rmh@aybabtu.com>
14817
14818 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
14819 (PKGDATA): Add $(pkgdata_SRCDIR).
14820 (pkglib_BUILDDIR): New variable.
14821 (pkgdata_SRCDIR): New variable.
14822 (build_env.mk): New target.
14823 (include_DATA): New variable.
14824 (install-local): Install $(include_DATA) files in $(includedir).
14825
b6c15a2d 148262008-11-07 Pavel Roskin <proski@gnu.org>
14827
d99d46f1 14828 * gendistlist.sh: Use C locale for sorting to ensure consistent
14829 output on all systems.
14830
b6c15a2d 14831 * util/grub.d/00_header.in: Remove incorrect space before
14832 "serial".
14833
c32ee8c9 148342008-11-07 Robert Millan <rmh@aybabtu.com>
14835
14836 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
14837 per specification.
14838 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
14839 * loader/multiboot_loader.c (find_multi_boot2_header): New function
14840 (based on find_multi_boot1_header).
14841 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
14842 using find_multi_boot2_header(), and abort if neither Multiboot or
14843 Multiboot headers were found.
14844
651c29b7 148452008-11-07 Robert Millan <rmh@aybabtu.com>
14846
14847 Modularize at_keyboard.mod:
14848
14849 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
14850 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
14851 (at_keyboard_mod_LDFLAGS): New variables.
14852
14853 Actual terminal split:
14854
14855 * include/grub/term.h (struct grub_term): Split in ...
14856 (struct grub_term_input): ... this, and ...
14857 (struct grub_term_output): ... this. Update all users.
14858 (grub_term_set_current): Split in ...
14859 (grub_term_set_current_input): ... this, and ...
14860 (grub_term_set_current_output): ... this.
14861 (grub_term_get_current): Split in ...
14862 (grub_term_get_current_input): ... this, and ...
14863 (grub_term_get_current_output): ... this.
14864 (grub_term_register): Split in ...
14865 (grub_term_register_input): ... this, and ...
14866 (grub_term_register_output): ... this.
14867 (grub_term_unregister): Split in ...
14868 (grub_term_unregister_input): ... this, and ...
14869 (grub_term_unregister_output): ... this.
14870 (grub_term_iterate): Split in ...
14871 (grub_term_iterate_input): ... this, and ...
14872 (grub_term_iterate_output): ... this.
14873
14874 * kern/term.c (grub_term_list): Split in ...
14875 (grub_term_list_input): ... this, and ...
14876 (grub_term_list_output): ... this. Update all users.
14877 (grub_cur_term): Split in ...
14878 (grub_cur_term_input): ... this, and ...
14879 (grub_cur_term_output): ... this. Update all users.
14880 (grub_term_set_current): Split in ...
14881 (grub_term_set_current_input): ... this, and ...
14882 (grub_term_set_current_output): ... this.
14883 (grub_term_get_current): Split in ...
14884 (grub_term_get_current_input): ... this, and ...
14885 (grub_term_get_current_output): ... this.
14886 (grub_term_register): Split in ...
14887 (grub_term_register_input): ... this, and ...
14888 (grub_term_register_output): ... this.
14889 (grub_term_unregister): Split in ...
14890 (grub_term_unregister_input): ... this, and ...
14891 (grub_term_unregister_output): ... this.
14892 (grub_term_iterate): Split in ...
14893 (grub_term_iterate_input): ... this, and ...
14894 (grub_term_iterate_output): ... this.
14895
14896 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
14897 a check for input and one for output (and only attempt to get keys
14898 from user when input works).
14899
14900 * util/grub-probe.c (grub_term_get_current): Split in ...
14901 (grub_term_get_current_input): ... this, and ...
14902 (grub_term_get_current_output): ... this.
14903 * util/grub-fstest.c: Likewise.
14904 * util/i386/pc/grub-setup.c: Likewise.
14905 * util/grub-editenv.c: Likewise.
14906
14907 Portability adjustments:
14908
14909 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
14910 `term/i386/pc/at_keyboard.c'.
14911 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
14912 grub_keyboard_controller_init() (now handled by terminal .init).
14913 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
14914 grub_at_keyboard_init().
14915 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
14916 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
14917 at_keyboard.mod via input terminal interface).
14918 * include/grub/i386/coreboot/console.h: Convert into a stub for
14919 `<grub/i386/pc/console.h>'.
14920
14921 Migrate full terminals to new API:
14922
14923 * term/efi/console.c (grub_console_term): Split into ...
14924 (grub_console_term_input): ... this, and ...
14925 (grub_console_term_output): ... this. Update all users.
14926 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
14927 (grub_ofconsole_init): Split into ...
14928 (grub_ofconsole_init_input): ... this, and ...
14929 (grub_ofconsole_init_output): ... this.
14930 (grub_ofconsole_term): Split into ...
14931 (grub_ofconsole_term_input): ... this, and ...
14932 (grub_ofconsole_term_output): ... this. Update all users.
14933 * term/i386/pc/serial.c (grub_serial_term): Split into ...
14934 (grub_serial_term_input): ... this, and ...
14935 (grub_serial_term_output): ... this. Update all users.
14936 * term/i386/pc/console.c (grub_console_term): Split into ...
14937 (grub_console_term_input): ... this, and ...
14938 (grub_console_term_output): ... this. Update all users.
14939 (grub_console_term_input): Only enable it on PC/BIOS platform.
14940 (grub_console_init): Remove grub_keyboard_controller_init() call.
14941
14942 Migrate input terminals to new API:
14943
14944 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
14945 `i386' and `i386/pc' to enable build on x86_64 (this driver is
14946 i386-specific anyway).
14947 (grub_console_checkkey): Rename to ...
14948 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
14949 users.
14950 (grub_keyboard_controller_orig): New variable.
14951 (grub_console_getkey): Rename to ...
14952 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
14953 users.
14954 (grub_keyboard_controller_init): Static-ize. Save original
14955 controller value so that it can be restored ...
14956 (grub_keyboard_controller_fini): ... here (new function).
14957 (grub_at_keyboard_term): New structure.
14958 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
14959 functions.
14960
14961 Migrate output terminals to new API:
14962
14963 * term/i386/pc/vga.c (grub_vga_term): Change type to
14964 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14965 members. Update all users.
14966 * term/gfxterm.c (grub_video_term): Change type to
14967 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14968 members. Update all users.
14969 * include/grub/i386/pc/console.h (grub_console_checkkey)
14970 (grub_console_getkey): Do not export (no longer needed by gfxterm,
14971 etc).
14972
14973 Migrate `terminal' command and userland tools to new API:
14974
14975 * commands/terminal.c (grub_cmd_terminal): Split into ...
14976 (grub_cmd_terminal_input): ... this, and ...
14977 (grub_cmd_terminal_output): ... this.
14978 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
14979 `terminal_input' and `terminal_output'.
14980 * util/grub.d/00_header.in: Adjust `terminal' calls to new
14981 `terminal_input' / `terminal_output' API.
14982 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
14983 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
14984 provided ${GRUB_TERMINAL}, convert it).
14985
96e5d876 149862008-11-04 Robert Millan <rmh@aybabtu.com>
14987
14988 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
14989 for FreeBSD.
14990 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
14991
556f3775 149922008-11-03 Bean <bean123ch@gmail.com>
14993
14994 * kern/elf.c (grub_elf32_load): Revert to previous code.
14995 (grub_elf64_load): Likewise.
14996
14997 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
14998
926b9823 149992008-11-01 Robert Millan <rmh@aybabtu.com>
15000
15001 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
15002 (TARGET_CPPFLAGS): Likewise.
15003 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
15004
1432e958 150052008-11-01 Carles Pina i Estany <carles@pina.cat>
15006
15007 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
15008
dba3f844 150092008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 15010
15011 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
15012 addition of objects until the code is not going to be able to fail.
15013
dba3f844 150142008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 15015
15016 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
15017 (add a missing NULL check, and correct them by moving the pointer
15018 operations after the actual check).
15019
7ab28c21 150202008-10-29 Robert Millan <rmh@aybabtu.com>
15021
15022 * util/i386/pc/grub-install.in: Handle empty string as output from
15023 make_system_path_relative_to_its_root().
15024
1b7748eb 150252008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
15026
15027 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
15028 circular metadata worst case scenario. If the metadata is circular
15029 then copy the wrap in place.
15030 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
15031 project lib/format_text/layout.h
15032 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
15033
c9618ab2 150342008-10-03 Felix Zielcke <fzielcke@z-51.de>
15035
7a36edca 15036 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 15037
bf981c62 150382008-10-03 Felix Zielcke <fzielcke@z-51.de>
15039
15040 * util/update-grub_lib.in: Mention filename in warning message.
15041
6d994591 150422008-09-29 Felix Zielcke <fzielcke@z-51.de>
15043
15044 * NEWS: Update for rename of update-grub to grub-mkconfig.
15045
18ade780 150462008-09-29 Felix Zielcke <fzielcke@z-51.de>
15047
15048 * util/update-grub_lib.in: Copy to ...
15049 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 15050 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 15051 * util/update-grub.in: Rename to ...
15052 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
15053 option. Add `--output' option to allow users to specify the generated
15054 configuration file. Default to stdout.
15055 (update_grub_dir): Rename to ...
15056 (grub_mkconfig_dir): ... this.
15057 (grub_cfg): Default to an empty string.
15058 * conf/common.rmk (update-grub): Rename to ...
15059 (grub-mkconfig): ... this.
15060 (update-grub_lib): Copy to ...
15061 (grub-mkconfig_lib): ... this.
15062 (update-grub_SCRIPTS): Copy to ...
15063 (grub-mkconfig_SCRIPTS): ... this. Update all users.
15064 (update-grub_DATA): Rename to ...
15065 (grub-mkconfig_DATA): ... this.
15066
556ce6ac 150672008-09-28 Robert Millan <rmh@aybabtu.com>
15068
15069 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
15070 to `modified'. Add the real `created' field.
15071 (grub_iso9660_uuid): Use `modified' rather than `created' for
15072 constructing the UUID.
15073
150742008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 15075
15076 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
15077 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
15078
92274e85 150792008-09-28 Bean <bean123ch@gmail.com>
15080
15081 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
15082 Thanks to Christian Franke for finding this bug.
15083
add6f17a 150842008-09-25 Robert Millan <rmh@aybabtu.com>
15085
15086 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
15087 instances of grub_util_get_disk_name() (see previous commit).
15088
d2a367b8 150892008-09-25 Robert Millan <rmh@aybabtu.com>
15090
15091 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
15092 `util/i386/get_disk_name.c'.
15093 * conf/i386-efi.rmk: Likewise.
15094 * conf/x86_64-efi.rmk: Likewise.
15095 * conf/i386-coreboot.rmk: Likewise.
15096 * conf/i386-ieee1275.rmk: Likewise.
15097 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
15098 `util/ieee1275/get_disk_name.c'.
15099 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
15100 * util/ieee1275/get_disk_name.c: Remove file.
15101 * util/i386/get_disk_name.c: Remove file.
15102 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
15103 "hd%d" for device.map entries, rather than using
15104 grub_util_get_disk_name().
15105
81a06771 151062008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 15107
15108 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
15109 warning.
15110 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
15111
5a004279 151122008-09-24 Carles Pina i Estany <carles@pina.cat>
15113
15114 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
15115 Changed to 0x5100.
15116 (GRUB_TERM_PPAGE): Changed to 0x4900.
15117
397093d3 151182008-09-24 Robert Millan <rmh@aybabtu.com>
15119
15120 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
15121 macros (they were i386-pc specific).
15122 * include/grub/sparc64/ieee1275/console.h: Likewise.
15123 * include/grub/efi/console.h: Likewise.
15124
a91b6c7c 151252008-09-22 Bean <bean123ch@gmail.com>
15126
15127 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
15128 resident and in attribute list.
15129
15130 * include/grub/ntfs.h (BMP_LEN): Removed.
15131
c40fd116 151322008-09-22 Bean <bean123ch@gmail.com>
15133
81a06771 15134 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 15135 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
15136
15137 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
15138 error occurs, as grub_disk_open will call grub_disk_close, which will
15139 call p->close (scsi).
15140
81a06771 151412008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 15142
15143 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
15144 (AC_PREREQ): Bumped to 2.59.
15145 (AC_TRY_COMPILE): Replace obsolete macro with ...
15146 (AC_COMPILE_IFELSE): ... this.
15147 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
15148 (AC_LINK_IFELSE): ... this.
15149
5dc43410 151502008-09-21 Felix Zielcke <fzielcke@z-51.de>
15151
15152 * autogen.sh: Add a call to `gendistlist.sh'.
15153
9035dce4 151542008-09-19 Christian Franke <franke@computer.org>
15155
15156 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
15157 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
15158 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
15159 Export __enable_execute_stack() to modules.
15160 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
15161 New function.
15162
7fd75377 151632008-09-09 Felix Zielcke <fzielcke@z-51.de>
15164
040030b3 15165 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
15166 Sort the list.
15167
151682008-09-09 Felix Zielcke <fzielcke@z-51.de>
15169
15170 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 15171 #include <grub/util/hostdisk.h>.
15172
89d5ffcf 151732008-09-08 Robert Millan <rmh@aybabtu.com>
15174
15175 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
15176 segments when their filesz is zero (grub_file_read() interprets
81a06771 15177 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 15178 Use `lowest_segment' rather than 0 for calculating the current
15179 segment load address.
15180
40da438f 151812008-09-08 Robert Millan <rmh@aybabtu.com>
15182
15183 * util/hostdisk.c (open_device): Replace a grub_util_info() call
15184 with grub_dprintf("hostdisk", ...), as it was so verbose that it
15185 clobbered useful information.
15186
ddbf5556 151872008-09-08 Robert Millan <rmh@aybabtu.com>
15188
15189 * include/grub/util/biosdisk.h: Move to ...
15190 * include/grub/util/hostdisk.h: ... here. Update all users.
15191 * util/biosdisk.c: Move to ...
15192 * util/hostdisk.c: ... here. Update all users.
15193
783d0f48 151942008-09-07 Robert Millan <rmh@aybabtu.com>
15195
15196 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
15197 variables.
15198 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
15199 and length can be stored directly in the `mbi->mmap_addr' and
15200 `mbi->mmap_length' struct fields.
15201
548e2ea5 152022008-09-07 Robert Millan <rmh@aybabtu.com>
15203
15204 * conf/i386.rmk: New file. Provides declaration for building
15205 `cpuid.mod'.
15206 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
15207 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
15208 variables.
15209 Include `conf/i386.mk'.
15210 * conf/i386-efi.rmk: Likewise.
15211 * conf/x86_64-efi.rmk: Likewise.
15212 * conf/i386-coreboot.rmk: Likewise.
15213 * conf/i386-ieee1275.rmk: Likewise.
15214
0ea85a37 152152008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
15216
15217 Based on patch created by Colin D Bennett <colin@gibibit.com>.
15218 Adds optimization support for BGR based modes.
15219
15220 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
15221 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
15222 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15223 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15224 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15225 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15226 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15227 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15228 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15229 (grub_video_i386_vbeblit_index_index): Likewise.
15230 (grub_video_i386_vbeblit_replace_directN): Added.
15231 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
15232 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
15233 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
15234 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
15235 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
15236 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 15237 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 15238 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
15239 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
15240 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
15241 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
15242 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
15243 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
15244
15245 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
15246 (grub_video_i386_vbefill_R8G8B8): Likewise.
15247 (grub_video_i386_vbefill_index): Likewise.
15248 (grub_video_i386_vbefill_direct32): Added.
15249 (grub_video_i386_vbefill_direct24): Likewise.
15250 (grub_video_i386_vbefill_direct16): Likewise.
15251 (grub_video_i386_vbefill_direct8): Likewise.
15252
81a06771 15253 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 15254 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
15255 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
15256 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
15257 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
15258 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 15259
0ea85a37 15260 * video/video.c (grub_video_get_blit_format): Updated to use new
15261 blit formats. Added handling for 16 bit color modes.
81a06771 15262
15263 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 15264 fillers.
15265 (common_blitter): Updated to use new blitters.
15266
15267 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
15268 Removed.
15269 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
15270 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15271 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15272 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15273 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15274 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15275 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15276 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15277 (grub_video_i386_vbeblit_index_index): Likewise.
15278 (grub_video_i386_vbeblit_replace_directN): Added.
15279 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
15280 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
15281 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
15282 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
15283 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
15284 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
15285 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
15286 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
15287 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
15288 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
15289 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
15290 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
15291 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 15292
0ea85a37 15293 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
15294 (grub_video_i386_vbefill_R8G8B8): Likewise.
15295 (grub_video_i386_vbefill_index): Likewise.
15296 (grub_video_i386_vbefill_direct32): Added.
15297 (grub_video_i386_vbefill_direct24): Likewise.
15298 (grub_video_i386_vbefill_direct16): Likewise.
15299 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 15300
0ea85a37 15301 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
15302 types.
81a06771 15303
0ea85a37 15304 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
15305 types.
81a06771 15306
0ea85a37 15307 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
15308 blitter types.
81a06771 15309
0ea85a37 15310 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
15311 types.
15312
e8a83df6 153132008-09-06 Felix Zielcke <fzielcke@z-51.de>
15314
15315 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
15316 RAID level 1.
15317
6bcd8ee5 153182008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 15319
6bcd8ee5 15320 * fs/iso9660.c (grub_iso9660_date): New structure.
15321 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
15322 (grub_iso9660_uuid): New function.
c375ae58 15323
59261157 153242008-09-05 Bean <bean123ch@gmail.com>
15325
15326 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
15327
15328 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
15329 insensitive bit for names in Win32 and Win32 & DOS namespace.
15330
15331 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
15332
15333 * include/grub/types.h (LONG_MAX): Likewise.
15334
58b6645a 153352008-09-04 Felix Zielcke <fzielcke@z-51.de>
15336
4ee55921 15337 * util/getroot.c: Include <config.h>.
15338 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
15339 add support for /dev/md/N devices and handle LVM double dash escaping.
15340
153412008-09-04 Felix Zielcke <fzielcke@z-51.de>
15342
15343 * config.guess: Update to latest version from config git.
15344 * config.sub: Likewise.
58b6645a 15345
9124f65d 153462008-09-03 Robert Millan <rmh@aybabtu.com>
15347
15348 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
15349 `disk->total_sectors'.
15350
81a06771 153512008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 15352
15353 * include/grub/normal.h: Fixed incorrect comment for
15354 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
15355
81a06771 153562008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 15357
15358 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
15359 values with defines.
15360
15361 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
15362 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
15363 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
15364 (GRUB_VBE_MODEATTR_COLOR): Likewise.
15365 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
15366 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
15367 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
15368 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
15369 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
15370 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
15371 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
15372 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
15373 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
15374 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
15375 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
15376 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
15377 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
15378 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
15379 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
15380
93d5cbf8 153812008-08-31 Robert Millan <rmh@aybabtu.com>
15382
15383 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
15384 declaration.
15385 (grub_multiboot): Fix a few warnings.
15386
21751d50 153872008-08-31 Robert Millan <rmh@aybabtu.com>
15388
15389 * loader/i386/pc/multiboot.c: Update comment not to say that
15390 boot_device support is unimplemented.
15391
e27a75c5 153922008-08-31 Robert Millan <rmh@aybabtu.com>
15393
15394 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
15395 or memory map support are unimplemented.
15396
81a06771 153972008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 15398
15399 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
15400
81a06771 154012008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 15402
15403 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
15404 total video memory in 'vbeinfo' output; show color format details for
15405 each video mode.
15406
7c5d8d95 154072008-08-30 Pavel Roskin <proski@gnu.org>
15408
15409 * util/genmoddep.c: Remove for real this time.
15410 * DISTLIST: Remove util/genmoddep.c.
15411
4cebd25a 154122008-08-30 Robert Millan <rmh@aybabtu.com>
15413
15414 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
15415 as required by Multiboot spec (it was already 4-byte aligned, but
15416 only by chance).
15417
b497a269 154182008-08-29 Pavel Roskin <proski@gnu.org>
15419
e3925185 15420 * kern/powerpc/ieee1275/crt0.S: Rename to ...
15421 * kern/powerpc/ieee1275/startup.S: ... this.
15422 * conf/powerpc-ieee1275.rmk: Adjust for the above.
15423 * DISTLIST: Likewise.
15424
b497a269 15425 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
15426 grub/cpu/kernel.h. Add start label for consistency with other
15427 platforms. Add grub_prefix immediately after start. Add jump
15428 to the code after grub_prefix.
15429 * include/grub/powerpc/kernel.h: Provide valid values for
15430 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
15431
6e5a42fe 154322008-08-29 Bean <bean123ch@gmail.com>
15433
15434 * configure.ac: Change host_os to cygwin for mingw.
15435 (asprintf): New check for function.
15436
15437 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
15438 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
15439
15440 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 15441 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 15442 sync, sleep and grub_util_get_disk_size for mingw.
15443
15444 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
15445 to get size in mingw.
15446 (open_device): Use flag O_BINARY if it's defined.
15447 (find_root_device): Add dummy code for mingw.
15448
15449 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
15450 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
15451 (get_scsi_disk_name): Return 0 for mingw.
15452
15453 * util/hostfs.c: #include <grub/util/misc.h>.
15454 (grub_hostfs_open): Use "rb" flag to open file, use
15455 grub_util_get_disk_size to get disk size for mingw.
15456
15457 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
15458 (asprintf): New function if HAVE_ASPRINTF is not set.
15459 (sync): New function for mingw.
15460 (sleep): Likewise.
15461 (grub_util_get_disk_size): Likewise.
15462
ab3f2673 154632008-08-28 Pavel Roskin <proski@gnu.org>
15464
15465 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15466 kern/time.c.
15467
1c282483 154682008-08-28 Robert Millan <rmh@aybabtu.com>
15469
15470 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
15471
678e849c 154722008-08-28 Robert Millan <rmh@aybabtu.com>
15473
15474 Change find_grub_drive() syntax so it doesn't prevent it from
15475 detecting NULL names as errors.
15476
15477 * util/biosdisk.c (find_grub_drive): Move free slot search code
15478 from here ...
15479 (find_free_slot): ... to here.
15480 (read_device_map): Use find_free_slot() to search for free slots.
15481
965c75ca 154822008-08-27 Marco Gerards <marco@gnu.org>
15483
15484 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
15485 (scsi_mod_SOURCES): New variable.
15486 (scsi_mod_CFLAGS): Likewise
15487 (scsi_mod_LDFLAGS): Likewise.
15488
15489 * disk/scsi.c: New file.
15490
15491 * include/grub/scsi.h: Likewise.
15492
15493 * include/grub/scsicmd.h: Likewise.
15494
15495 * disk/ata.c: Include <grub/scsi.h>.
15496 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
15497 instead.
15498 (grub_ata_iterate): Skip ATAPI devices.
15499 (grub_ata_open): Only handle ATAPI devices.
15500 (struct grub_atapi_read): Removed.
15501 (grub_atapi_readsector): Likewise.
15502 (grub_ata_read): No longer handle ATAPI devices.
15503 (grub_ata_write): Likewise.
15504 (grub_atapi_iterate): New function.
15505 (grub_atapi_read): Likewise.
15506 (grub_atapi_write): Likewise.
15507 (grub_atapi_open): Likewise.
15508 (grub_atapi_close): Likewise.
15509 (grub_atapi_dev): New variable.
15510 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
15511 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
15512
15513 * include/grub/disk.h (enum grub_disk_dev_id): Add
15514 `GRUB_DISK_DEVICE_SCSI_ID'.
15515
c07ae501 155162008-08-26 Robert Millan <rmh@aybabtu.com>
15517
15518 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
15519 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
15520 descriptive.
15521
5ed20adc 155222008-08-23 Bean <bean123ch@gmail.com>
15523
15524 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
15525 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
15526 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
15527 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
15528 dm_nv.mod.
15529 (raid5rec_mod_SOURCES): New macro.
15530 (raid5rec_mod_CFLAGS): Likewise.
15531 (raid5rec_mod_LDFLAGS): Likewise.
15532 (raid6rec_mod_SOURCES): Likewise.
15533 (raid6rec_mod_CFLAGS): Likewise.
15534 (raid6rec_mod_LDFLAGS): Likewise.
15535 (mdraid_mod_SOURCES): Likewise.
15536 (mdraid_mod_CFLAGS): Likewise.
15537 (mdraid_mod_LDFLAGS): Likewise.
15538 (dm_nv_mod_SOURCES): Likewise.
15539 (dm_nv_mod_CFLAGS): Likewise.
15540 (dm_nv_mod_LDFLAGS): Likewise.
15541
15542 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
15543 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
15544 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
15545
15546 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
15547 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
15548
15549 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15550
15551 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15552
15553 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15554
15555 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15556
15557 * disk/raid5_recover.c: New file.
15558
15559 * disk/raid6_recover.c: Likewise.
15560
15561 * disk/mdraid_linux.c: Likewise.
15562
15563 * disk/dmraid_nvidia.c: Likewise.
15564
15565 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
15566 ULONG_MAX.
15567
15568 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
15569 calculate the size of raid device.
15570 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
15571 different layout of raid5.
15572 (grub_raid_scan_device): Remove code specific to mdraid.
15573 (grub_raid_list): New variable.
15574 (free_array): New function.
15575 (grub_raid_register): Likewise.
15576 (grub_raid_unregister): Likewise.
15577 (grub_raid_rescan): Likewise.
15578 (GRUB_MOD_INIT): Don't iterate device here.
15579 (GRUB_MOD_FINI): Use free_array to release resource.
15580
15581 * include/grub/raid.h: Remove macro and structure specific to mdraid.
15582 (grub_raid5_recover_func_t): New function variable type.
15583 (grub_raid6_recover_func_t): Likewise.
15584 (grub_raid5_recover_func): New variable.
15585 (grub_raid6_recover_func): Likewise.
15586 (grub_raid_register): New function.
15587 (grub_raid_unregister): Likewise.
15588 (grub_raid_rescan): Likewise.
15589 (grub_raid_block_xor): Likewise.
15590
15591 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
15592 (CMD_CRC): New macro.
15593 (part): Removed.
15594 (read_file): Handle device as well as file.
15595 (cmd_crc): New function.
15596 (fstest): Handle multiple disks.
15597 (options): Remove part, raw and long, add root and diskcount.
15598 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 15599 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 15600 add handling for the new options, support multiple disks.
15601
15602 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
15603
29c18915 156042008-08-23 Bean <bean123ch@gmail.com>
15605
15606 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
15607
15608 * genfslist.sh: Ignore kernel.mod.
15609
15610 * genpartmaplist.sh: Likewise.
15611
8415f261 156122008-08-23 Robert Millan <rmh@aybabtu.com>
15613
15614 * util/getroot.c (find_root_device): Skip anything that starts with
15615 a dot, not just directories. This avoids things like /dev/.tmp.md0.
15616
d5a7dc5b 156172008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 15618
d5a7dc5b 15619 * util/update-grub.in (GRUB_GFXMODE): Export variable.
15620 * util/grub.d/00_header.in: Allow the administrator to change default
15621 gfxmode via ${GRUB_GFXMODE}.
15622
380cfbb4 156232008-08-21 Felix Zielcke <fzielcke@z-51.de>
15624
15625 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
15626
c9baafe7 156272008-08-21 Robert Millan <rmh@aybabtu.com>
15628
15629 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
15630 loader.
15631 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
15632 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
15633
e290bef2 156342008-08-20 Carles Pina i Estany <carles@pina.cat>
15635
15636 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
15637 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
15638
f9dbfc96 156392008-08-19 Robert Millan <rmh@aybabtu.com>
15640
15641 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
15642 (struct grub_virtual_screen): Remove `cursor_color'.
15643 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
15644 initialization.
15645 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
15646
dd6bd6ab 156472008-08-18 Robert Millan <rmh@aybabtu.com>
15648
15649 Unify (identical) linux_normal.c files.
15650 * loader/i386/efi/linux_normal.c: Move from here ...
15651 * loader/linux_normal.c: ... to here. Update all users.
15652 * loader/i386/pc/linux_normal.c: Delete. Update all users.
15653 * loader/i386/ieee1275/linux_normal.c: Likewise.
15654
7f42f83e 156552008-08-18 Robert Millan <rmh@aybabtu.com>
15656
15657 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
15658 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
15659 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
15660 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
15661 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
15662 New macros.
15663 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
15664 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
15665 (GRUB_LINUX_CL_END_OFFSET): ... to here.
15666 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
15667 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
15668 (GRUB_EFI_CL_END_OFFSET): Rename to ...
15669 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
15670 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
15671 Initialize `params->video_cursor_x' and `params->video_cursor_y'
15672 portably using grub_getxy().
15673 Replace `-EFI' with `-bzImage' in boot message.
15674
38487ddb 156752008-08-17 Robert Millan <rmh@aybabtu.com>
15676
15677 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
15678
deceb3ec 156792008-08-17 Robert Millan <rmh@aybabtu.com>
15680
15681 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
15682
15683 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
15684 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
15685 (grub_machine_mmap_iterate): New function declaration.
15686 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
15687 structure.
15688 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
15689 macros.
15690
15691 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
15692 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
15693 Move e820 parsing from here ...
15694 * kern/i386/pc/mmap.c: New file.
15695 (grub_machine_mmap_iterate): ... to here.
15696
15697 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
15698 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
15699 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
15700 (grub_available_iterate): Redeclare to return `void', and redeclare
15701 its hook to use grub_uint64_t as addr and size parameters, and rename
15702 to ...
15703 (grub_machine_mmap_iterate): ... this. Update all users.
15704
15705 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
15706 to make it more readable. Rename to ...
15707 (grub_machine_mmap_iterate): ... this.
15708
15709 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
15710 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
15711 (grub_multiboot): Allocate an extra region after the payload, and fill
15712 it with a Multiboot memory map. Adjust a.out loader to calculate size
15713 with the extra space.
15714 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
15715 with the extra space.
15716
f8aa0f43 157172008-08-17 Carles Pina i Estany <carles@pina.cat>
15718
9807deb9 15719 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 15720
605f5bb6 157212008-08-17 Felix Zielcke <fzielcke@z-51.de>
15722
15723 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
15724 mdate-sh to the list `find' searches for.
15725 * DISTLIST: Regenerated.
15726
210db6c6 157272008-08-16 Felix Zielcke <fzielcke@z-51.de>
15728
15729 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
15730 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 15731 genmoddep.awk, gensymlist.sh.in.
15732 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 15733 * DISTLIST: Regenerated.
48cdbfd4 15734 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 15735
1082b929 157362008-08-16 Robert Millan <rmh@aybabtu.com>
15737
15738 * disk/raid.c (grub_raid_init): Handle/report errors set by
15739 grub_device_iterate().
15740 * disk/lvm.c (grub_lvm_init): Likewise.
15741
42ce5170 157422008-08-15 Bean <bean123ch@gmail.com>
15743
15744 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15745 and datehook.mod.
15746 (datetime_mod_SOURCES): New macro.
15747 (datetime_mod_CFLAGS): Likewise.
15748 (datetime_mod_LDFLAGS): Likewise.
15749 (date_mod_SOURCES): Likewise.
15750 (date_mod_CFLAGS): Likewise.
15751 (date_mod_LDFLAGS): Likewise.
15752 (datehook_mod_SOURCES): Likewise.
15753 (datehook_mod_CFLAGS): Likewise.
15754 (datehook_mod_LDFLAGS): Likewise.
15755
15756 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15757 and datehook.mod.
15758 (datetime_mod_SOURCES): New macro.
15759 (datetime_mod_CFLAGS): Likewise.
15760 (datetime_mod_LDFLAGS): Likewise.
15761 (date_mod_SOURCES): Likewise.
15762 (date_mod_CFLAGS): Likewise.
15763 (date_mod_LDFLAGS): Likewise.
15764 (datehook_mod_SOURCES): Likewise.
15765 (datehook_mod_CFLAGS): Likewise.
15766 (datehook_mod_LDFLAGS): Likewise.
15767
15768 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15769 and datehook.mod.
15770 (datetime_mod_SOURCES): New macro.
15771 (datetime_mod_CFLAGS): Likewise.
15772 (datetime_mod_LDFLAGS): Likewise.
15773 (date_mod_SOURCES): Likewise.
15774 (date_mod_CFLAGS): Likewise.
15775 (date_mod_LDFLAGS): Likewise.
15776 (datehook_mod_SOURCES): Likewise.
15777 (datehook_mod_CFLAGS): Likewise.
15778 (datehook_mod_LDFLAGS): Likewise.
15779
15780 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15781 and datehook.mod.
15782 (datetime_mod_SOURCES): New macro.
15783 (datetime_mod_CFLAGS): Likewise.
15784 (datetime_mod_LDFLAGS): Likewise.
15785 (date_mod_SOURCES): Likewise.
15786 (date_mod_CFLAGS): Likewise.
15787 (date_mod_LDFLAGS): Likewise.
15788 (datehook_mod_SOURCES): Likewise.
15789 (datehook_mod_CFLAGS): Likewise.
15790 (datehook_mod_LDFLAGS): Likewise.
15791
15792 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15793 and datehook.mod.
15794 (datetime_mod_SOURCES): New macro.
15795 (datetime_mod_CFLAGS): Likewise.
15796 (datetime_mod_LDFLAGS): Likewise.
15797 (date_mod_SOURCES): Likewise.
15798 (date_mod_CFLAGS): Likewise.
15799 (date_mod_LDFLAGS): Likewise.
15800 (datehook_mod_SOURCES): Likewise.
15801 (datehook_mod_CFLAGS): Likewise.
15802 (datehook_mod_LDFLAGS): Likewise.
15803
15804 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
15805
15806 * commands/date.c: New file.
15807
15808 * hook/datehook.c: Likewise.
15809
15810 * include/grub/lib/datetime.h: Likewise.
15811
15812 * include/grub/i386/cmos.h: Likewise.
15813
15814 * lib/datetime.c: Likewise.
15815
15816 * lib/i386/datetime.c: Likewise.
15817
15818 * lib/efi/datetime.c: Likewise.
15819
0e9242da 158202008-08-14 Robert Millan <rmh@aybabtu.com>
15821
15822 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
15823 (grub_mkelfimage_SOURCES): New variable.
15824 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
15825
15826 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
15827 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
15828 * conf/powerpc-ieee1275.rmk: Likewise.
15829 * conf/i386-ieee1275.rmk: Likewise.
15830
15831 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
15832 * kern/i386/coreboot/init.c: Likewise.
15833
15834 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
15835 with `<grub/cpu/kernel.h>'.
15836 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
15837 to ...
15838 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
15839 * kern/i386/coreboot/startup.S: Likewise.
15840
15841 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
15842 (GRUB_MOD_GAP): Remove.
15843 * include/grub/powerpc/kernel.h: New file.
15844 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
15845 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
15846 * include/grub/i386/kernel.h: New file.
15847 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
15848 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
15849 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
15850
15851 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
15852 `grub-mkelfimage'.
15853 Use --directory when invoking grub_mkimage.
15854
15855 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
15856 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
15857 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
15858 and GRUB_KERNEL_CPU_PREFIX.
15859
b86408f8 158602008-08-14 Felix Zielcke <fzielcke@z-51.de>
15861
d5e619ca 15862 * include/grub/err.h (grub_err_printf): New function prototype.
15863 * util/misc.c (grub_err_printf): New function.
15864 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
15865 grub_printf.
15866 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 15867
7161f0e0 158682008-08-13 Robert Millan <rmh@aybabtu.com>
15869
15870 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
15871
a1967522 158722008-08-13 Robert Millan <rmh@aybabtu.com>
15873
15874 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
15875 boot entry.
15876
371458b5 158772008-08-12 Robert Millan <rmh@aybabtu.com>
15878
15879 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
15880 of the relocation code from here ...
15881 (grub_multiboot): ... to here.
15882 (forward_relocator, backward_relocator): Move from here ...
15883 * kern/i386/loader.S (grub_multiboot_forward_relocator)
15884 (grub_multiboot_backward_relocator): ... to here.
15885 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
15886 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
15887 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
15888 (grub_multiboot_forward_relocator_end)
15889 (grub_multiboot_backward_relocator)
15890 (grub_multiboot_backward_relocator_end): New variables.
15891
05f9452b 158922008-08-12 Bean <bean123ch@gmail.com>
15893
15894 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
15895
20024ab0 158962008-08-11 Robert Millan <rmh@aybabtu.com>
15897
15898 * kern/i386/linuxbios/startup.S: Move from here ...
15899 * kern/i386/coreboot/startup.S: ... to here.
15900
15901 * kern/i386/linuxbios/init.c: Move from here ...
15902 * kern/i386/coreboot/init.c: ... to here.
15903
15904 * kern/i386/linuxbios/table.c: Move from here ...
15905 * kern/i386/coreboot/mmap.c: ... to here.
15906
15907 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
15908
e352e9cd 159092008-08-11 Robert Millan <rmh@aybabtu.com>
15910
15911 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
15912 errors. Leave it to the upper layer to handle them.
15913
2d05bc6a 159142008-08-09 Christian Franke <franke@computer.org>
15915
15916 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
15917 * conf/common.rmk: Install `grub-pe2elf' only if requested.
15918 Install `grub.d/10_windows' only on Cygwin.
15919 * configure.ac: Add subst of `target_os'.
15920 Check `target_os' also before setting TARGET_OBJ2ELF.
15921 Add `--enable-grub-pe2elf'.
15922
042bd419 159232008-08-08 Robert Millan <rmh@aybabtu.com>
15924
15925 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15926 (grub_last_time): Change type to grub_uint64_t.
15927 (grub_disk_open): Migrate code from to using grub_get_time_ms().
15928 (grub_disk_close): Likewise.
15929
15930 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15931 (run_menu): Migrate code from to using grub_get_time_ms().
15932
15933 * util/misc.c (grub_get_time_ms): New function.
15934
7f280db5 159352008-08-08 Marco Gerards <marco@gnu.org>
15936
15937 * disk/ata.c (grub_ata_regget): Change return type to
15938 `grub_uint8_t'.
15939 (grub_ata_regget2): Likewise.
15940 (grub_ata_wait_status): New function.
15941 (grub_ata_wait_busy): Removed function, updated all users to use
15942 `grub_ata_wait_status'.
15943 (grub_ata_wait_drq): Likewise.
15944 (grub_ata_cmd): New function.
15945 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
15946 error handling.
15947 (grub_ata_pio_write): Add error handling.
15948 (grub_atapi_identify): Likewise.
15949 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
15950 handling.
15951 (grub_ata_identify): Use `grub_ata_cmd' and improve error
15952 handling. Actually use the detected registers. Reorder the
15953 detection logic such that it is easier to read.
15954 (grub_ata_pciinit): Do not assign the same ID to each controller.
15955 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
15956 handling.
15957 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
15958
15959 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
15960
1fbc5e66 159612008-08-08 Marco Gerards <marco@gnu.org>
15962
15963 * NEWS: Update.
15964
819ce6c0 159652008-08-07 Bean <bean123ch@gmail.com>
15966
15967 * include/grub/x86_64/pci.h: New file.
15968
5c41d44d 159692008-08-07 Christian Franke <franke@computer.org>
15970
15971 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
15972 (TIMER2_GATE): Likewise.
15973 (grub_pit_wait): Add enable/disable of the timer2 gate
15974 bit of port 0x61. This fixes a possible infinite loop.
15975
5ebc275d 159762008-08-07 Bean <bean123ch@gmail.com>
15977
15978 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
15979 kern/i386/tsc.c and kern/i386/pit.c.
15980
15981 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
15982 x86_64 platform.
15983
15984 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
15985 <grub/i386/tsc.h>.
15986
15987 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
15988
e383b3d0 159892008-08-07 Bean <bean123ch@gmail.com>
15990
15991 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
15992
15993 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
15994
15995 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
15996 multiple inclusion. Add #include <grub/types.h>.
15997
1cbb58ac 159982008-08-06 Christian Franke <franke@computer.org>
15999
16000 * conf/common.rmk: Build and install `10_windows'.
16001 * util/grub.d/10_windows.in: New script.
16002
337f5a1e 160032008-08-06 Pavel Roskin <proski@gnu.org>
16004
16005 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
16006
057bc4ac 160072008-08-06 Robert Millan <rmh@aybabtu.com>
16008
16009 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
16010 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
16011
2b99f123 160122008-08-06 Bean <bean123ch@gmail.com>
16013
16014 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
16015 (grub_pxefs_fs_int): Remove dummy definition.
16016 (grub_pxefs_open): Use data->block_size to store the current block
16017 size setting.
16018 (grub_pxefs_read): Use block size stored in data->block_size. As the
16019 value of grub_pxe_blksize can be changed after the file is opened.
16020
9f0234cb 160212008-08-06 Bean <bean123ch@gmail.com>
16022
16023 * fs/i386/pc/pxe.c (curr_file): new variable.
16024 (grub_pxefs_open): Simply the handling of pxe file system. Don't
16025 require the dummy internal file system anymore.
16026 (grub_pxefs_read): Removed.
16027 (grub_pxefs_close): Likewise.
16028 (grub_pxefs_fs_int): Likewise.
16029 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
16030 connection when we switch file.
16031 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
16032
a55d42e0 160332008-08-06 Robert Millan <rmh@aybabtu.com>
16034
16035 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
16036 `halt.mod'.
16037 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
16038 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
16039
16040 * kern/i386/halt.c: New file.
16041 * kern/i386/reboot.c: Likewise.
16042 * include/grub/i386/reboot.h: Likewise.
16043 * include/grub/i386/halt.h: Likewise.
16044
16045 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
16046 Include `<grub/cpu/halt.h>'.
16047 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
16048 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
16049
16050 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
16051 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
16052 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
16053 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
16054 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
16055 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
16056 from here ...
16057 * include/grub/i386/at_keyboard.h: ... to here.
16058
24371d26 160592008-08-05 Robert Millan <rmh@aybabtu.com>
16060
16061 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
16062 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
16063 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
16064 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16065 `kern/generic/millisleep.c'.
16066
16067 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
16068 instead of grub_get_rtc().
16069 (grub_tsc_init): Initialize `tsc_boot_time'.
16070
16071 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
16072 (grub_machine_init): Use grub_tsc_init() rather than
16073 installing an RTC-based handler via grub_install_get_time_ms().
16074
16075 * kern/i386/pit.c: New file.
16076 * include/grub/i386/pit.h: Likewise.
16077
9e7007b3 160782008-08-05 Bean <bean123ch@gmail.com>
16079
16080 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
16081
16082 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
16083 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
16084 (pxe_mod_SOURCES): New macro.
16085 (pxe_mod_CFLAGS): Likewise.
16086 (pxe_mod_LDFLAGS): Likewise.
16087 (pxecmd_mod_SOURCES): Likewise.
16088 (pxecmd_mod_CFLAGS): Likewise.
16089 (pxecmd_mod_LDFLAGS): Likewise.
16090
16091 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
16092 (grub_pxe_call): Likewise.
16093
16094 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
16095
16096 * commands/i386/pc/pxecmd.c: New file.
16097
9f0234cb 16098 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 16099
16100 * include/grub/i386/pc/pxe.h: Likewise.
16101
6977d49f 161022008-08-05 Bean <bean123ch@gmail.com>
16103
16104 * util/console.c (grub_console_cur_color): New variable.
16105 (grub_console_standard_color): Likewise.
16106 (grub_console_normal_color): Likewise.
16107 (grub_console_highlight_color): Likewise.
16108 (color_map): Likewise.
16109 (use_color): Likewise.
16110 (NUM_COLORS): New macro.
16111 (grub_ncurses_setcolorstate): Handle color properly.
16112 (grub_ncurses_setcolor): Don't change color here, just remember the
16113 settings, color will be set in grub_ncurses_setcolorstate.
16114 (grub_ncurses_getcolor): New function.
16115 (grub_ncurses_init): Initialize color pairs.
16116 (grub_ncurses_term): New member grub_ncurses_getcolor.
16117
9c2ff3ee 161182008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 16119
9c2ff3ee 16120 High resolution timer support. Implemented for x86 CPUs using TSC.
16121 Extracted generic grub_millisleep() so it's linked in only as needed.
16122 This requires a Pentium compatible CPU; if the RDTSC instruction is
16123 not supported, then it falls back on the generic grub_get_time_ms()
16124 implementation that uses the machine's RTC.
16125
16126 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
16127 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16128 `kern/generic/millisleep.c'.
16129
16130 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
16131 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
16132
16133 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
16134 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
16135
16136 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16137
16138 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16139 `kern/generic/millisleep.c'.
16140
16141 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16142
16143 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
16144
16145 * kern/generic/rtc_get_time_ms.c: New file.
16146
16147 * kern/generic/millisleep.c: New file.
337f5a1e 16148
9c2ff3ee 16149 * kern/misc.c: Don't include
16150 <kern/time.h> anymore.
16151 (grub_millisleep_generic): Removed.
16152
16153 * commands/sleep.c (grub_interruptible_millisleep): Uses
16154 grub_get_time_ms() instead of grub_get_rtc().
16155
16156 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
16157 function.
16158 (grub_cpu_is_cpuid_supported): New inline function.
16159 (grub_cpu_is_tsc_supported): New inline function.
16160 (grub_tsc_init): New function prototype.
16161 (grub_tsc_get_time_ms): New function prototype.
16162
16163 * kern/i386/tsc.c (grub_get_time_ms): New file.
16164
16165 * include/grub/time.h: Include <grub/types.h.
16166 (grub_millisleep_generic): Removed.
16167 (grub_get_time_ms): New prototype.
16168 (grub_install_get_time_ms): New prototype.
16169 (grub_rtc_get_time_ms): New prototype.
16170
16171 * kern/time.c (grub_get_time_ms): New function.
16172 (grub_install_get_time_ms): New function.
16173
16174 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
16175 <grub/time.h> anymore.
16176 (grub_millisleep): Removed.
16177 (grub_machine_init): Call grub_tsc_init.
16178
16179 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
16180 get_time_ms() implementation.
16181
16182 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
16183 (ieee1275_get_time_ms): New function.
16184 (grub_machine_init): Install get_time_ms() implementation.
16185
16186 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
16187 (grub_machine_init): Call grub_tsc_init().
16188 (grub_millisleep): Removed.
bf06a93f 16189
9c2ff3ee 16190 * kern/ieee1275/init.c (grub_millisleep): Removed.
16191 (grub_machine_init): Install ieee1275_get_time_ms()
16192 implementation.
16193 (ieee1275_get_time_ms): New function.
16194 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
16195 real work.
16196
9ec92aaf 161972008-08-05 Marco Gerards <marco@gnu.org>
16198
16199 * disk/ata.c: Include <grub/pci.h>.
16200 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
16201 (grub_ata_initialize): Rewritten.
16202 (grub_ata_device_initialize): New function.
16203
8d23f507 162042008-08-04 Pavel Roskin <proski@gnu.org>
16205
16206 * kern/main.c: Include grub/mm.h.
16207
5e15ee3d 162082008-08-04 Robert Millan <rmh@aybabtu.com>
16209
16210 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
16211 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
16212 corruption problem).
16213
a9053f8f 162142008-08-04 Robert Millan <rmh@aybabtu.com>
16215
16216 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
16217 warnings introduced in my last commit.
16218
dd19c7d7 162192008-08-03 Robert Millan <rmh@aybabtu.com>
16220
16221 Make PCI available on all i386 architectures.
16222
16223 * include/grub/i386/pc/pci.h: Move from here ...
16224 * include/grub/i386/pci.h: ... to here.
16225
16226 * include/grub/i386/pc/pci.h: Remove.
16227 * include/grub/i386/efi/pci.h: Remove.
16228 * include/grub/x86_64/efi/pci.h: Remove.
16229
16230 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
16231 `<grub/cpu/pci.h>'.
16232
16233 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
16234 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
16235 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
16236
16237 * conf/i386-ieee1275.rmk: Likewise.
16238
e14a6184 162392008-08-03 Robert Millan <rmh@aybabtu.com>
16240
16241 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
16242 (grub_console_setcursor): Make it possible to set cursor off.
16243
52768e37 162442008-08-03 Robert Millan <rmh@aybabtu.com>
16245
16246 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
16247 of modules instead of assuming which platform provides what.
16248 * util/update-grub.in: Likewise.
16249
2d52f57f 162502008-08-03 Robert Millan <rmh@aybabtu.com>
16251
16252 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
16253 instead of `grub_install_dos_part' to determine whether a drive needs
16254 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 16255 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 16256
2a5cd121 162572008-08-02 Robert Millan <rmh@aybabtu.com>
16258
16259 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
16260
93808428 162612008-08-02 Robert Millan <rmh@aybabtu.com>
16262
16263 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
16264 of informational grub_dprintf() calls.
16265
3bd0a12a 162662008-08-02 Robert Millan <rmh@aybabtu.com>
16267
16268 * disk/memdisk.c (memdisk_size): Don't initialize.
16269 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
16270
16271 * include/grub/i386/pc/kernel.h
16272 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
16273 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
16274 (grub_memdisk_image_size, grub_arch_memdisk_addr)
16275 (grub_arch_memdisk_size): Remove.
16276
16277 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
16278 field (was only used to transfer a constant). Add `type' field to
16279 support multiple module types.
16280 (grub_module_iterate): New function.
16281
16282 * kern/device.c (grub_device_open): Do not hide error messages
16283 when grub_disk_open() fails. Use grub_print_error() instead.
16284
16285 * kern/i386/pc/init.c (grub_arch_modules_addr)
16286 (grub_arch_memdisk_size): Remove functions.
16287 (grub_arch_modules_addr): Return the module address in high memory
16288 (now that it isn't copied anymore).
16289
16290 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
16291 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
16292 decompression routine (grub_total_module_size already includes that
16293 now). Don't copy modules back to low memory.
16294
16295 * kern/main.c: Include `<grub/mm.h>'.
16296 (grub_load_modules): Split out (and use) ...
16297 (grub_module_iterate): ... this function, which iterates through
16298 module objects and runs a hook.
16299 Comment out grub_mm_init_region() call, as it would cause non-ELF
16300 modules to be overwritten.
16301
16302 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
16303 the memdisk image in its own region, make it part of the module list.
16304 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
16305 (main): Parse --memdisk|-m option, and pass user-provided path as
16306 parameter to generate_image().
16307 (add_segments): Pass `memdisk_path' down to load_modules().
16308 (load_modules): Embed memdisk image in module section when requested.
16309 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
16310 `header.type' instead of `header.offset'.
16311
16312 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
16313 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
16314 (memdisk_mod_LDFLAGS): New variables.
16315 * conf/i386-coreboot.rmk: Likewise.
16316 * conf/i386-ieee1275.rmk: Likewise.
16317
a927cc73 163182008-08-02 Robert Millan <rmh@aybabtu.com>
16319
16320 * loader/i386/pc/multiboot.c (playground, forward_relocator)
16321 (backward_relocator): New variables. Used to allocate and relocate
16322 the payload, respectively.
16323 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 16324 address, install the appropriate relocator code in each bound of
a927cc73 16325 the payload, and set the entry point such that
16326 grub_multiboot_real_boot() will jump to one of them.
16327
16328 * kern/i386/loader.S (grub_multiboot_payload_size)
16329 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
16330 (grub_multiboot_payload_entry_offset): New variables.
16331 (grub_multiboot_real_boot): Set cpu context to what the relocator
16332 expects, and jump to the relocator instead of the payload.
16333
16334 * include/grub/i386/loader.h (grub_multiboot_payload_size)
16335 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
16336 (grub_multiboot_payload_entry_offset): Export.
16337
b15d8a0c 163382008-08-01 Bean <bean123ch@gmail.com>
16339
16340 * normal/menu_entry.c (editor_getline): Don't return the original
16341 string as result, as it will be released by lexer once it has done
16342 using it.
16343
cdfb3d22 163442008-08-01 Robert Millan <rmh@aybabtu.com>
16345
16346 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
16347 within menuentries, not before them.
16348 util/grub.d/10_hurd.in: Likewise.
16349
9175e93d 163502008-08-01 Bean <bean123ch@gmail.com>
16351
16352 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
16353 (bufio_mod_SOURCES): New macro.
16354 (bufio_mod_CFLAGS): Likewise.
16355 (bufio_mod_LDFLAGS): Likewise.
16356
16357 * include/grub/bufio.h: New file.
16358
16359 * io/bufio.c: Likewise.
16360
16361 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
16362 (grub_video_reader_png): Use grub_buffile_open to open file.
16363
16364 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
16365 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
16366
16367 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
16368 (grub_video_reader_tga): Use grub_buffile_open to open file.
16369
16370 * font/manager.c: Include <grub/bufio.h>.
16371 (add_font): Use grub_buffile_open to open file.
16372
3d8383e7 163732008-07-31 Robert Millan <rmh@aybabtu.com>
16374
16375 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
16376 ELF segments, use a macro for arbitrarily accessing any of them instead
16377 of preparing a pointer that allows access to one at a time.
16378 (grub_multiboot_load_elf64): Likewise.
16379
16e641b6 163802008-07-31 Bean <bean123ch@gmail.com>
16381
16382 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
16383 GRUB_KERNEL_MACHINE_DATA_END.
16384
59198b72 163852008-07-30 Robert Millan <rmh@aybabtu.com>
16386
16387 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
16388 Increase from 0x50 to 0x60.
16389 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
16390 use UUIDs to identify the root drive for them. If that's not
16391 possible, abort.
16392 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
16393 check, for cross-disk installs.
16394
ae88bca3 163952008-07-30 Robert Millan <rmh@aybabtu.com>
16396
16397 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
16398 is non-empty, use it to set the `prefix' environment variable instead
16399 of the usual approach.
16400 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
16401 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
16402 environment variable instead of dummy make_install_device().
16403
16404 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
16405 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 16406 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 16407
16408 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
16409 New variable reference.
16410 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
16411 New macro. Defines offset of `grub_prefix' within startup.S (relative
16412 to `start').
16413 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
16414 section within startup.S (relative to `start').
16415 * include/grub/i386/coreboot/kernel.h: Likewise.
16416
16417 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
16418 Overwrite grub_prefix with its contents, at the beginning of the
16419 first segment.
16420 (main): Understand -p|--prefix.
16421
14f41dd1 164222008-07-30 Robert Millan <rmh@aybabtu.com>
16423
16424 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
16425
4ca049a3 164262008-07-30 Robert Millan <rmh@aybabtu.com>
16427
16428 * term/i386/pc/vga_text.c (grub_console_cls): Use
16429 grub_console_gotoxy() to go back to beginning of the screen.
16430 Found by Patrick Georgi <patrick.georgi@coresystems.de>
16431
2921d337 164322008-07-29 Christian Franke <franke@computer.org>
16433
16434 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
16435 Add conversion of emulated mount points on Cygwin.
16436
b609876d 164372008-07-29 Christian Franke <franke@computer.org>
16438
16439 * util/update-grub.in: Add a check for admin
16440 group on Cygwin.
16441 Remove old `grub.cfg.new' before creation.
16442 Add `-f' to `mv' to handle the different filesystem
16443 semantics of Windows.
16444
e93e4679 164452008-07-29 Bean <bean123ch@gmail.com>
16446
16447 * normal/main.c (get_line): Fix buffer overflow bug.
16448
41694fd0 164492008-07-28 Robert Millan <rmh@aybabtu.com>
16450
16451 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
16452 (struct grub_apple_header): New struct. Describes the layout of
16453 the partmap header.
16454 (apple_partition_map_iterate): Check the header magic as well as the
16455 partition magic (which was already being checked).
16456
cfd0b4e6 164572008-07-28 Pavel Roskin <proski@gnu.org>
16458
16459 * genmk.rb: Add a warning to the beginning of the output that
16460 it's a generated file and should not be edited.
16461
93cce016 164622008-07-28 Robert Millan <rmh@aybabtu.com>
16463
16464 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
16465 with the same number are found, just use issue a warning with
16466 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 16467
cd1df915 164682008-07-27 Robert Millan <rmh@aybabtu.com>
16469
16470 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
16471 information.
16472
b70a8427 164732008-07-27 Bean <bean123ch@gmail.com>
16474
16475 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
16476 (grub_fat_find_dir): Ignore case when comparing filename.
16477
8f5e379f 164782008-07-27 Bean <bean123ch@gmail.com>
16479
16480 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
16481 smallino, as it's more descriptive, and i8count can be confused with
16482 the other field count.
16483 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
16484 inode type.
16485
a85cd5a0 164862008-07-27 Bean <bean123ch@gmail.com>
16487
16488 * commands/crc.c: New file.
16489
16490 * lib/crc.c: Likewise.
16491
16492 * include/grub/lib/crc.h: Likewise.
16493
16494 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
16495
16496 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
16497 (hexdump): Move this function to ...
16498
16499 * lib/hexdump.c: ... here.
16500
16501 * include/grub/hexdump.h: Renamed to ...
16502
16503 * include/grub/lib/hexdump.h: ... this.
16504
16505 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
16506
16507 * util/grub-editenv.c: Likewise.
16508
16509 * include/envblk.h: Renamed to ...
16510
16511 * include/lib/envblk.h: ... this.
16512
16513 * util/envblk.c: Renamed to ...
16514
16515 * lib/envblk.c: ... this.
16516
16517 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
16518 lib/hexdump.c.
16519 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
16520 (pkglib_MODULES): Add crc.mod.
16521 (hexdump_mod_SOURCES): Add lib/hexdump.c.
16522 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
16523 (crc_mod_SOURCES): New macro.
16524 (crc_mod_CFLAGS): Likewise.
16525 (crc_mod_LDFLAGS): Likewise.
16526
16527 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
16528
16529 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16530
16531 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16532
16533 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16534
16535 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16536
c298def0 165372008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 16538
16539 * commands/help.c: Include <grub/term.h>.
16540 (TERM_WIDTH): Removed. Updated all users.
16541
cc349fb3 165422008-07-27 Pavel Roskin <proski@gnu.org>
16543
16544 * util/getroot.c (find_root_device): Rephrase a comment to avoid
16545 spurious warnings about a comment within a comment.
16546
9051607e 165472008-07-25 Robert Millan <rmh@aybabtu.com>
16548
16549 * util/getroot.c (find_root_device): Skip devices that match
16550 /dev/dm-[0-9]. This lets the real device be found for any type of
16551 abstraction (LVM, EVMS, RAID..).
16552 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
16553 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
16554 device is found first, find_root_device() will now skip it.
16555
01453bfc 165562008-07-24 Pavel Roskin <proski@gnu.org>
16557
16558 * include/grub/types.h: Use __builtin_bswap32() and
16559 __builtin_bswap64() with gcc 4.3 and newer.
16560
6af9849f 165612008-07-24 Christian Franke <franke@computer.org>
16562
3a0fa256 16563 * util/i386/pc/grub-install.in: If `--debug' is specified,
16564 pass `--verbose' to grub-setup.
16565 Abort script if make_system_path_relative_to_its_root() fails.
16566
7810e747 165672008-07-24 Bean <bean123ch@gmail.com>
16568
16569 * configure.ac: Fixed a bug caused by the previous cygwin patch,
16570 variable `target_platform' should be `platform'.
16571
42290e17 165722008-07-24 Bean <bean123ch@gmail.com>
16573
51cc5193 16574 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 16575 (grub_png_init_fixed_block): New function.
16576 (grub_png_decode_image_data): Handle fixed huffman code compression.
16577
2a8a80e4 165782008-07-24 Bean <bean123ch@gmail.com>
16579
16580 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
16581 (grub_pe2elf_SOURCES): New macro.
16582 (CLEANFILES): Add grub-pe2elf.
16583
16584 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
16585 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
16586 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
16587 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
16588 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
16589 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
16590 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
16591 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
16592 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
16593 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
16594 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
16595 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
16596 (GRUB_PE32_DT_FUNCTION): Likewise.
16597 (GRUB_PE32_REL_I386_DIR32): Likewise.
16598 (GRUB_PE32_REL_I386_REL32): Likewise.
16599 (grub_pe32_symbol): New structure.
16600 (grub_pe32_reloc): Likewise.
16601
16602 * util/grub-pe2elf.c: New file.
16603
16604 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
16605 start symbol in non pc platform.
16606
16607 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
16608
16609 The following patches are from Christian Franke.
16610
16611 * include/grub/dl.h: Remove .previous, gas supports this only
16612 for ELF format.
16613
16614 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
16615 Remove .type, gas supports this only for ELF format.
16616
16617 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
16618 nullbytes in symbol table. This fixes an infinite loop if table is
16619 zero filled.
16620
16621 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
16622 TARGET_IMG_LDFLAGS and EXEEXT.
16623
16624 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
16625 TARGET_IMG_LDFLAGS_AC.
16626 (grub_CHECK_STACK_ARG_PROBE): New function.
16627
16628 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
16629
16630 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
16631
16632 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
16633 to set TARGET_IMG_LD* accordingly.
16634 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
16635 Add call to grub_CHECK_STACK_ARG_PROBE.
16636 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
16637
16638 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
16639
16640 * genmk.rb: Add EXEEXT to CLEANFILES.
16641
12ccdb75 166422008-07-23 Robert Millan <rmh@aybabtu.com>
16643
16644 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
16645 define the codes for arrows and lines used for the menu).
16646 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
16647 as well.
16648
16649 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
16650 fonts, because the latter are too slow.
16651
18eeaf04 166522008-07-21 Bean <bean123ch@gmail.com>
16653
16654 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
16655 a20. Run keyboard test last, as it will cause macbook to halt.
16656
b095e2ad 166572008-07-18 Pavel Roskin <proski@gnu.org>
16658
16659 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
16660 load foreign architecture modules correctly anyway. Keep
16661 support for loading host architecture modules, whether we
16662 compile them or not.
16663
737feb35 166642008-07-17 Pavel Roskin <proski@gnu.org>
16665
3f4ce737 16666 * configure.ac: Use -m32 or -m64 regardless of whether we had to
16667 change target_cpu. The compiler default can mismatch target_cpu
16668 in any case.
16669
4ad2d049 16670 * disk/efi/efidisk.c: Fix format warnings on x86_64.
16671 * kern/efi/efi.c: Likewise.
16672
f6130a12 16673 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
16674 target compiler is functional.
16675 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
16676 are set up.
16677
58393a2d 16678 * configure.ac: Default to efi platform for x86_64-apple. Allow
16679 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
16680 adjustments from the rest, only do them if target is not
16681 explicitly given. Merge other adjustments with the final sanity
16682 check. Remove an extraneous check for supported CPU. Be
16683 specific which CPU and which platform is not supported.
16684
737feb35 16685 * configure.ac: Default to pc platform for x86_64.
16686
546f966a 166872008-07-17 Robert Millan <rmh@aybabtu.com>
16688
16689 Partial LinuxBIOS -> Coreboot rename.
16690
16691 * conf/i386-linuxbios.rmk: Renamed to ...
16692 * conf/i386-coreboot.rmk: ... this.
16693 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
16694 * configure.ac: Accept "coreboot" as input platform (but maintain
16695 compatibility with "linuxbios").
16696 * include/grub/i386/linuxbios: Renamed to ...
16697 * include/grub/i386/coreboot: ... this.
16698
20011694 166992008-07-17 Bean <bean123ch@gmail.com>
16700
16701 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 16702 (appleldr_mod_SOURCE): New variable.
20011694 16703 (appleldr_mod_CFLAGS): Likewise.
16704 (appleldr_mod_LDFLAGS): Likewise.
16705 (pci_mod_SOURCES): Likewise.
16706 (pci_mod_CFLAGS): Likewise.
16707 (pci_mod_LDFLAGS): Likewise.
16708 (lspci_mod_SOURCES): Likewise.
16709 (lspci_mod_CFLAGS): Likewise.
16710 (lspci_mod_LDFLAGS): Likewise.
16711
16712 * conf/x86_64-efi.rmk: New file.
16713
16714 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
16715 macro.
16716 (grub_efidisk_write): Likewise.
16717
16718 * include/efi/api.h (efi_call_0): New macro.
16719 (efi_call_1): Likewise.
16720 (efi_call_2): Likewise.
16721 (efi_call_3): Likewise.
16722 (efi_call_4): Likewise.
16723 (efi_call_5): Likewise.
16724 (efi_call_6): Likewise.
16725
16726 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
16727 grub_rescue_cmd_chainloader.
16728
16729 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
16730 (grub_pe32_optional_header): Change some fields based on i386 or
16731 x86_64 platform.
16732 (GRUB_PE32_PE32_MAGIC): Likewise.
16733
16734 * include/grub/efi/uga_draw.h: New file.
16735
16736 * include/grub/elf.h (STN_ABS): New constant.
16737 (R_X86_64_NONE): Relocation constant for x86_64.
16738 (R_X86_64_64): Likewise.
16739 (R_X86_64_PC32): Likewise.
16740 (R_X86_64_GOT32): Likewise.
16741 (R_X86_64_PLT32): Likewise.
16742 (R_X86_64_COPY): Likewise.
16743 (R_X86_64_GLOB_DAT): Likewise.
16744 (R_X86_64_JUMP_SLOT): Likewise.
16745 (R_X86_64_RELATIVE): Likewise.
16746 (R_X86_64_GOTPCREL): Likewise.
16747 (R_X86_64_32): Likewise.
16748 (R_X86_64_32S): Likewise.
16749 (R_X86_64_16): Likewise.
16750 (R_X86_64_PC16): Likewise.
16751 (R_X86_64_8): Likewise.
16752 (R_X86_64_PC8): Likewise.
16753
16754 * include/grub/i386/efi/pci.h: New file.
16755
16756 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
16757 Change it value based on platform.
16758 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
16759 (GRUB_E820_RAM): Likewise.
16760 (GRUB_E820_RESERVED): Likewise.
16761 (GRUB_E820_ACPI): Likewise.
16762 (GRUB_E820_NVS): Likewise.
16763 (GRUB_E820_EXEC_CODE): Likewise.
16764 (GRUB_E820_MAX_ENTRY): Likewise.
16765 (grub_e820_mmap): New structure.
16766 (linux_kernel_header): Change the efi field according to different
16767 kernel version, also field from linux_kernel_header.
16768
16769 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
16770
16771 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
16772 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
16773 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
16774 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
16775 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
16776 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
16777 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
16778 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
16779 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
16780 (GRUB_PCI_ADDR_IO_MASK): Likewise.
16781
16782 * include/grub/x86_64/efi/kernel.h: New file.
16783
16784 * include/grub/x86_64/efi/loader.h: Likewise.
16785
16786 * include/grub/x86_64/efi/machine.h: Likewise.
16787
16788 * include/grub/x86_64/efi/pci.h: Likewise.
16789
16790 * include/grub/x86_64/efi/time.h: Likewise.
16791
16792 * include/grub/x86_64/linux.h: Likewise.
16793
16794 * include/grub/x86_64/setjmp.h: Likewise.
16795
16796 * include/grub/x86_64/time.h: Likewise.
16797
16798 * include/grub/x86_64/types.h: Likewise.
16799
16800 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
16801 GRUB_TARGET_SIZEOF_VOID_P.
16802
16803 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
16804 (grub_efi_locate_handle): Likewise.
16805 (grub_efi_open_protocol): Likewise.
16806 (grub_efi_set_text_mode): Likewise.
16807 (grub_efi_stall): Likewise.
16808 (grub_exit): Likewise.
16809 (grub_reboot): Likewise.
16810 (grub_halt): Likewise.
16811 (grub_efi_exit_boot_services): Likewise.
16812 (grub_get_rtc): Likewise.
16813
16814 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
16815 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
16816 (grub_efi_allocate_pages): Wrap efi calls.
16817 (grub_efi_free_pages): Wrap efi calls.
16818 (grub_efi_get_memory_map): Wrap efi calls.
16819
16820 * kern/x86_64/dl.c: New file.
16821
16822 * kern/x86_64/efi/callwrap.S: Likewise.
16823
16824 * kern/x86_64/efi/startup.S: Likewise.
16825
16826 * loader/efi/appleloader.c: Likewise.
16827
16828 * loader/efi/chainloader.c (cmdline): New variable.
16829 (grub_chainloader_unload): Wrap efi calls.
16830 (grub_chainloader_boot): Likewise.
16831 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
16832 command line.
16833
16834 * loader/efi/chainloader_normal.c (chainloader_command):
16835 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
16836 command line.
16837
16838 * loader/i386/efi/linux.c (allocate_pages): Change allocation
16839 method.
16840 (grub_e820_add_region): New function.
16841 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
16842 booting.
16843 (grub_find_video_card): New function.
16844 (grub_linux_setup_video): New function.
16845 (grub_rescue_cmd_linux): Probe for video information.
16846
16847 * normal/x86_64/setjmp.S: New file.
16848
16849 * term/efi/console.c (map_char): New function.
16850 (grub_console_putchar): Map unicode char.
16851 (grub_console_checkkey): Wrap efi calls.
16852 (grub_console_getkey): Likewise.
16853 (grub_console_getwh): Likewise.
16854 (grub_console_gotoxy): Likewise.
16855 (grub_console_cls): Likewise.
16856 (grub_console_setcolorstate): Likewise.
16857 (grub_console_setcursor): Likewise.
16858
16859 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
16860
59652a20 168612008-07-16 Pavel Roskin <proski@gnu.org>
16862
ef294055 16863 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
16864 format strings.
16865
59652a20 16866 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
16867 pointer, not an integer. This fixes a warning and prevents
16868 precision loss on 64-bit systems.
16869 (relocate_addresses): Remove unneeded cast.
16870
afc3b5d7 168712008-07-15 Pavel Roskin <proski@gnu.org>
16872
506b2b3e 16873 * kern/i386/ieee1275/init.c: Include grub/cache.h.
16874
62ead89c 16875 * term/ieee1275/ofconsole.c: Disable code unused on i386.
16876
c4cd51d7 16877 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
16878 Fix comparison between signed and unsigned.
16879
0d3d8f28 16880 * include/grub/i386/ieee1275/console.h: Declare
16881 grub_console_init() and grub_console_fini().
16882
8804b286 16883 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
16884 It's empty and unused.
16885
ee01cf35 16886 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
16887 beginning to avoid warnings with some compilers.
16888
afc3b5d7 16889 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
16890 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
16891
e4e8eaa5 168922008-07-14 Pavel Roskin <proski@gnu.org>
16893
407aceb4 16894 * kern/env.c (grub_register_variable_hook): Don't copy empty
16895 string, it leaks memory. Pass "" to grub_env_set(), it should
16896 handle constant strings.
16897
e4e8eaa5 16898 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
16899 * commands/cmp.c (grub_cmd_cmp): Likewise.
16900 * kern/dl.c (grub_dl_flush_cache): Likewise.
16901 (grub_dl_load_core): Likewise.
16902 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
16903 (grub_elf64_load_phdrs): Likewise.
16904
d4e2dad3 169052008-07-13 Pavel Roskin <proski@gnu.org>
16906
16907 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
16908 between signed and unsigned.
16909 (LzmaEnc_Finish): Fix warning about an unused parameter.
16910
aa24b516 169112008-07-13 Bean <bean123ch@gmail.com>
16912
16913 * Makefile.in (enable_lzo): New rule.
16914
16915 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
16916
16917 * configure.ac (ENABLE_LZO): New option --enable-lzo.
16918
16919 * boot/i386/pc/lnxboot.S: #include <config.h>.
16920
16921 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 16922 its value according to the compression algorithm used, lzo or lzma.
aa24b516 16923
16924 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
16925 compression algorithm according to configure macro.
16926
16927 * kern/i386/pc/startup.S (codestart): Likewise.
16928
16929 * kern/i386/pc/lzma_decode.S: New file.
16930
16931 * include/grub/lib/LzFind.h: Likewise.
16932
16933 * include/grub/lib/LzHash.h: Likewise.
16934
16935 * include/grub/lib/LzmaDec.h: Likewise.
16936
16937 * include/grub/lib/LzmaEnc.h: Likewise.
16938
16939 * include/grub/lib/LzmaTypes.h: Likewise.
16940
16941 * lib/LzFind.c: Likewise.
16942
16943 * lib/LzmaDec.c: Likewise.
16944
16945 * lib/LzmaEnc.c: Likewise.
16946
4ae821ac 169472008-07-13 Bean <bean123ch@gmail.com>
16948
16949 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
16950 (grub_ext4_extent_header): New structure.
16951 (grub_ext4_extent): Likewise.
16952 (grub_ext4_extent_idx): Likewise.
16953 (grub_ext4_find_leaf): New function.
16954 (grub_ext2_read_block): Handle extents.
16955
9a745147 169562008-07-12 Robert Millan <rmh@aybabtu.com>
16957
16958 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
16959
d49a4cf6 169602008-07-11 Robert Millan <rmh@aybabtu.com>
16961
16962 * util/grub.d/40_custom.in: New file. Example on how to add custom
16963 entries to /etc/grub.d.
16964 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
16965 40_custom (implicitly, by merging all the grub.d rules).
16966
947414b4 169672008-07-11 Pavel Roskin <proski@gnu.org>
16968
0059cf6f 16969 * commands/read.c (grub_getline): Fix invalid memory access.
16970 Don't add newline to the variable value.
16971
947414b4 16972 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
16973 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
16974 (serial_hw_get_port): Check validity of the port number.
16975 (grub_cmd_serial): Check return value of serial_hw_get_port().
16976
62a02d00 169772008-07-07 Pavel Roskin <proski@gnu.org>
16978
16979 * boot/i386/pc/diskboot.S (notification_string): Replace
16980 "Loading kernel" with just "loading". This is shorter, less
16981 confusing and saves a few bytes for possible future changes.
16982
3e5581b0 169832008-07-05 Pavel Roskin <proski@gnu.org>
16984
ea387a48 16985 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
16986 size for ATAPI devices, they are undefined. Output sector
16987 number in decimal form.
16988
3e5581b0 16989 * disk/ata.c: Use named constants for status bits.
16990
fdecb8fd 169912008-07-04 Pavel Roskin <proski@gnu.org>
16992
bcd35b90 16993 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
16994 grub_addr_t before casting it to the void pointer to fix a
16995 warning. Non-addressable regions are discarded earlier.
16996 (grub_arch_modules_addr): Cast _end to grub_addr_t.
16997 * kern/i386/linuxbios/table.c: Include grub/misc.h.
16998 (check_signature): Don't shadow table_header.
16999 (grub_linuxbios_table_iterate): Cast numeric constants to
17000 grub_linuxbios_table_header_t.
17001 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
17002 grub_stop().
17003
af58ab3d 17004 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
17005 prevent warnings.
17006
1759aa57 17007 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
17008 pointer, which can cause warnings. Support 64-bit addresses.
17009
fdecb8fd 17010 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
17011 of sizeof(long). This fixes PowerPC image generation on x86_64.
17012
8516d2a8 170132008-07-04 Robert Millan <rmh@aybabtu.com>
17014
17015 This fixes a performance issue when pc & gpt partmap iterators
17016 didn't abort iteration even after our hook found what it was
fe987087 17017 looking for (often causing expensive probes of non-existent drives).
8516d2a8 17018
17019 Some callers relied on previous buggy behaviour, since they would
34c44600 17020 raise an error when their own hooks caused early abortion of its
8516d2a8 17021 iteration.
17022
17023 * kern/device.c (grub_device_open): Improve error message.
17024 * disk/lvm.c (grub_lvm_open): Likewise.
17025 * disk/raid.c (grub_raid_open): Likewise.
17026
17027 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
17028 when hook requests it, independently of grub_errno.
17029 (pc_partition_map_probe): Do not fail when find_func() caused
17030 early abortion of pc_partition_map_iterate().
17031
17032 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
17033 when hook requests it, independently of grub_errno.
17034 (gpt_partition_map_probe): Do not fail when find_func() caused
17035 early abortion of gpt_partition_map_iterate().
17036
17037 * kern/partition.c (grub_partition_iterate): Abort parent iteration
17038 when hook requests it, independently of grub_errno. Do not fail when
17039 part_map_iterate_hook() caused early abortion of p->iterate().
17040
17041 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
17042 when grub_partition_iterate() returned with non-zero.
17043
277d0de9 170442008-07-03 Pavel Roskin <proski@gnu.org>
17045
17046 * disk/ata.c (grub_ata_pio_write): Check status before writing,
17047 like we do in grub_ata_pio_read().
17048 (grub_ata_readwrite): Always write individual sectors. Fix the
17049 sector count for the remainder.
17050 (grub_ata_write): Enable writing to ATA devices. Correctly
17051 report error for ATAPI devices.
17052
d4c9b428 170532008-07-02 Pavel Roskin <proski@gnu.org>
17054
e43fc690 17055 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
17056 warning.
17057
f707af42 17058 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
17059 for every read sector, we already increment it for the whole
17060 batch. This fixes reading more than 256 sectors at once.
17061
11e16b15 17062 * util/grub-editenv.c (cmd_info): Cast argument to long
17063 explicitly. ptrdiff_t reduces to int on i386.
17064
cbabfdd4 17065 * util/grub-editenv.c (main): Be specific which parameter is
17066 missing.
17067
b8fbce0a 17068 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
17069 (memdisk): Make memdisk_orig_addr a pointer.
17070
c9c8e606 17071 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
17072 for file offsets, use grub_off_t instead. Fix printf format
17073 warnings.
17074
ca62e598 17075 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
17076 there. Real unexpected warnings should not drown in the noise
17077 about known problems.
17078
ce8d1766 17079 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
17080 grub_disk_addr_t for memory addresses.
17081
00c7a56a 17082 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
17083 explicitly to fix a warning.
17084
08d3ef09 17085 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
17086
cb71ba20 17087 * Makefile.in (MODULE_LDFLAGS): New variable.
17088 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
17089 the linker accepts --build-id=none.
17090 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
17091 MODULE_LDFLAGS.
17092 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
17093
d4c9b428 17094 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
17095 those in Linux XFS code. Provide a way to access 64-bit parent
17096 inode.
17097 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
17098 the end of struct grub_xfs_dir_header.
17099
d4156eee 171002008-07-02 Bean <bean123ch@gmail.com>
17101
17102 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
17103 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
17104 and GRUB_IEEE1275_FLAG_NO_ANSI.
17105
17106 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
17107 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
17108 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
17109
17110 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
17111 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
17112
17113 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
17114 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
17115
17116 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
17117 esc sequence on non ANSI terminal.
17118 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
17119
17120 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
17121 beginning of file.
17122
2270f77b 171232008-07-02 Bean <bean123ch@gmail.com>
17124
17125 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
17126 (grub_editenv_SOURCES): New variable.
17127 (pkglib_MODULES): Add loadenv.mod.
17128 (loadenv_mod_SOURCES): New variable.
17129 (loadenv_mod_CFLAGS): Likewise.
17130 (loadenv_mod_LDFLAGS): Likewise.
17131
17132 * include/grub/envblk.h: New file.
17133
17134 * util/envblk.c: New file.
17135
17136 * util/grub-editenv.c: New file.
17137
17138 * commands/loadenv.c: New file.
17139
0e9e51ec 171402008-07-01 Pavel Roskin <proski@gnu.org>
17141
d89b7634 17142 * include/multiboot2.h (struct multiboot_tag_module): Use char,
17143 not unsigned char. This fixes warnings and is consistent with
17144 other tags.
17145
bf1835b1 17146 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
17147
8222a04b 17148 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
17149
6a42d99d 17150 * term/tparm.c (analyze): Always set *popcount.
17151
10b159d1 17152 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
17153 cast to fix a warning.
17154
b8789f6c 17155 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
17156 cast to suppress a warning.
17157
29d7e38a 17158 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
17159 grub_fshelp_read_file() expects.
17160
f341f669 17161 * fs/fat.c: Fix UUID calculation on big-endian systems. We
17162 write uuid as a 32-bit value in CPU byte order, so declare and
17163 use it as such.
17164
0e9e51ec 17165 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
17166 long if the format specifier expects it.
17167 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
17168 * partmap/pc.c (pc_partition_map_iterate): Likewise.
17169 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
17170 long to fix a warning.
17171 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
17172 grub_dprintf() arguments to fix warnings.
17173
3aefa857 171742008-06-30 Pavel Roskin <proski@gnu.org>
17175
56c7668b 17176 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
17177 install_bsd_part immediately before core.img is embedded or
17178 modified on disk. This fixes core.img verification if core.img
17179 cannot be embedded.
17180
3aefa857 17181 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
17182 core_path to calculate the blocklist.
17183 Patch from Javier Martín <lordhabbit@gmail.com>
17184
5444088d 171852008-06-29 Robert Millan <rmh@aybabtu.com>
17186
17187 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
17188 block to disk block.
17189 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
17190 Patch from Niels Böhm <bitbucket@arcor.de>
17191
674835c8 171922008-06-29 Robert Millan <rmh@aybabtu.com>
17193
17194 * util/update-grub_lib.in (font_path): Search for fonts in
17195 /boot/grub first, which is more likely to be readable (we aren't
17196 deciding where fonts live, just looking for them).
17197
f527dbc8 171982008-06-26 Pavel Roskin <proski@gnu.org>
17199
6c2d8df6 17200 * util/biosdisk.c (read_device_map): Don't leave dead map
17201 entries for devices failing stat() check.
17202
f527dbc8 17203 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
17204 core_path_dev for the core.img path on the target device.
17205
aebe3d13 172062008-06-26 Robert Millan <rmh@aybabtu.com>
17207
17208 * disk/fs_uuid.c: New file.
17209 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
17210 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
17211 (fs_uuid_mod_LDFLAGS): New variables.
17212 * include/grub/disk.h (grub_disk_dev_id): Add
17213 `GRUB_DISK_DEVICE_UUID_ID'.
17214 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
17215 implement iterate().
17216
37aaf354 172172008-06-26 Robert Millan <rmh@aybabtu.com>
17218
17219 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
17220 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
17221 Linux image includes no initrd.
17222
25ff262a 172232008-06-21 Javier Martín <lordhabbit@gmail.com>
17224
17225 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
17226 call to resolve the core image location that effectively appended the
17227 name twice.
17228
76a2bd44 172292008-06-21 Robert Millan <rmh@aybabtu.com>
17230
17231 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
17232 call from here ...
17233
17234 * util/grub.d/10_hurd.in: ... to here ...
17235 * util/grub.d/10_linux.in: ... and here.
17236
650e1c79 172372008-06-19 Robert Millan <rmh@aybabtu.com>
17238
fe987087 17239 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 17240 after it has been set by grub_machine_set_prefix().
17241
6ce63911 172422008-06-19 Robert Millan <rmh@aybabtu.com>
17243
17244 * commands/search.c (search_label, search_fs_uuid, search_file): Print
17245 search result when not saving to variable, not the other way around.
17246 When saving to variable, abort iteration as soon as a match is found.
17247
73940cec 172482008-06-19 Robert Millan <rmh@aybabtu.com>
17249
17250 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
17251 check for partition that provides /boot/grub. Its logic is flawed,
17252 as it prevents prepare_grub_to_access_device() from being called
17253 multiple times.
17254
3c62a39d 172552008-06-19 Robert Millan <rmh@aybabtu.com>
17256
17257 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
17258 "insmod" command directly when abstraction modules are needed,
fe987087 17259 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 17260 since it had already been processed).
17261
47395a42 172622008-06-19 Pavel Roskin <proski@gnu.org>
17263
17264 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
17265 changed. This is needed in case GRUB_LIBDIR changes.
17266 * conf/i386-ieee1275.rmk: Likewise.
17267 * conf/i386-linuxbios.rmk: Likewise.
17268 * conf/i386-pc.rmk: Likewise.
17269 * conf/powerpc-ieee1275.rmk: Likewise.
17270
a145ac2d 172712008-06-18 Pavel Roskin <proski@gnu.org>
17272
17273 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
17274 kernel_elf_symlist.c to symlist.c for consistency with other
17275 architectures. Update all users.
17276 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17277
7847c51e 172782008-06-18 Robert Millan <rmh@aybabtu.com>
17279
17280 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
17281 it in prefix.
17282
17283 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
17284 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
17285 a RAID device, run setup() for all members independently on whether
17286 LVM abstraction is being used.
17287 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
17288 If grub-mkimage has set `*install_dos_part == -2', don't override this
17289 value.
17290 Perform *install_dos_part adjustments independently on whether
17291 we're embedding or not.
17292 Clarify error message when image is too big for embedding.
17293 Remove duplicate *install_dos_part stanza.
17294
b23e5644 172952008-06-17 Robert Millan <rmh@aybabtu.com>
17296
17297 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
17298 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
17299 variables.
17300 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
17301 values in grub_ofconsole_normal_color and
17302 grub_ofconsole_highlight_color (they're not directly related to
17303 background and foreground).
17304 (grub_ofconsole_setcolorstate): Extract background and foreground
17305 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
17306
0aac2f79 173072008-06-17 Robert Millan <rmh@aybabtu.com>
17308
17309 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
17310 /boot/grub for the check in last commit, not /boot (they could be
17311 different partitions).
17312
3cca7ef3 173132008-06-16 Robert Millan <rmh@aybabtu.com>
17314
17315 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
17316 asked to setup access for the same partition that provides /boot,
17317 don't bother using UUIDs since our root already has the value we
17318 want.
17319
347396d8 173202008-06-16 Robert Millan <rmh@aybabtu.com>
17321
17322 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
17323 I2O devices.
17324 Patch from Sven Mueller <sven@debian.org>.
17325
991477f8 173262008-06-16 Robert Millan <rmh@aybabtu.com>
17327
17328 * util/update-grub.in: Check for $EUID instead of $UID.
17329 Reported by Vincent Zweije.
17330
d31a32a1 173312008-06-16 Bean <bean123ch@gmail.com>
17332
fe987087 17333 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 17334 (grub_ext2_read_block): Likewise.
17335 (grub_ext2_read_inode): Likewise.
17336 (grub_ext2_mount): Likewise.
17337 (grub_ext2_close): Likewise.
17338 (grub_ext3_get_journal): Removed.
17339
fe987087 17340 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 17341 (grub_reiserfs_read_symlink): Likewise.
17342 (grub_reiserfs_mount): Likewise.
17343 (grub_reiserfs_open): Likewise.
17344 (grub_reiserfs_read): Likewise.
17345 (grub_reiserfs_close): Likewise.
17346 (grub_reiserfs_get_journal): Removed.
17347
17348 * fs/fshelp.c (grub_fshelp_read): Removed.
17349 (grub_fshelp_map_block): Likewise.
17350
17351 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
17352 (grub_fshelp_journal): Likewise.
17353 (grub_fshelp_read): Likewise.
17354 (grub_fshelp_map_block): Likewise.
17355
3540a760 173562008-06-16 Pavel Roskin <proski@gnu.org>
17357
17358 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
17359 floating point anymore.
17360 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
17361
95614c84 173622008-06-15 Pavel Roskin <proski@gnu.org>
17363
17364 * commands/ls.c (grub_ls_list_files): Use integer calculations
17365 for human readable format, avoid floating point use.
17366 * kern/misc.c (grub_ftoa): Remove.
17367 (grub_vsprintf): Remove floating point support.
17368
50465dd6 173692008-06-15 Robert Millan <rmh@aybabtu.com>
17370
fe6b695a 17371 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 17372 devices.
17373 Reported by Max Vozeler.
17374
a9207284 173752008-06-15 Robert Millan <rmh@aybabtu.com>
17376
17377 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
17378 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
17379 skipped later.
17380 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
17381 the beginning of the prefix.
17382
17383 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
17384 It is assumed that if we have a memdisk, grub-mkimage has set
17385 grub_prefix to include the "(memdisk)" drive in it.
17386
a7cbd45a 173872008-06-15 Robert Millan <rmh@aybabtu.com>
17388
17389 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
17390 Initialize keyboard controller after registering the terminal, so that
17391 grub_printf() can be called from grub_keyboard_controller_init().
17392
21cf716a 173932008-06-15 Robert Millan <rmh@aybabtu.com>
17394
17395 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
17396 extent-btree which is written as big endian on disk.
17397 Reported by Alain Greppin <al@chilibi.org>.
17398
23a64d8e 173992008-06-14 Robert Millan <rmh@aybabtu.com>
17400
17401 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
17402 * util/i386/pc/grub-install.in (modules): Likewise.
17403
d687651c 174042008-06-13 Pavel Roskin <proski@gnu.org>
17405
17406 * commands/ls.c (grub_ls_list_files): Fix format warnings.
17407
dfe9ddd4 174082008-06-13 Bean <bean123ch@gmail.com>
17409
17410 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
17411
17412 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
17413
17414 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
17415 to indicate sparse block.
17416
16ae7781 174172008-06-12 Pavel Roskin <proski@gnu.org>
17418
e6d1a308 17419 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
17420 number, grub_fshelp_read() does it for us.
17421
16ae7781 17422 * fs/fshelp.c (grub_fshelp_read): New function. Implement
17423 linear disk read with journal translation.
17424 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
17425 * include/grub/fshelp.h: Declare grub_fshelp_read().
17426
40fd3a2b 174272008-06-09 Pavel Roskin <proski@gnu.org>
17428
17429 * fs/minix.c (grub_minix_mount): Handle error reading
17430 superblock.
17431
f5679726 174322008-06-08 Robert Millan <rmh@aybabtu.com>
17433
17434 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
17435 don't append the RAID prefix afterwards.
17436 Reported by Clint Adams.
17437
ce525529 174382008-06-08 Robert Millan <rmh@aybabtu.com>
17439
17440 Based on description from Pavel:
17441 * kern/disk.c (grub_disk_check_range): Rename to ...
17442 (grub_disk_adjust_range): ... this. Add a comment explaining the
17443 tasks performed by this function.
17444
ad4936a0 174452008-06-08 Robert Millan <rmh@aybabtu.com>
17446
17447 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
17448 `num_serial' (for consistency with other variables).
17449 (struct grub_ntfs_data): Add `uuid' member.
17450 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
17451 (grub_ntfs_uuid): New function.
17452 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
17453
dc20b0f9 174542008-06-07 Pavel Roskin <proski@gnu.org>
17455
17456 * util/biosdisk.c (open_device): Revert last change to the
17457 function, it broke installation. The sector needs to be
17458 different dependent on which device is opened.
17459
c5e3cfba 174602008-06-06 Robert Millan <rmh@aybabtu.com>
17461
17462 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
17463 rest of GRUB, and breakage doesn't happen if its value were modified.
17464
17465 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17466 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
17467 a constant (same value).
17468 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
17469 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
17470
26a1f8c4 174712008-06-06 Robert Millan <rmh@aybabtu.com>
17472
17473 * util/biosdisk.c (open_device): Do not modify sector offset when
17474 accessing a partition. kern/disk.c already handles this for us.
17475
25d6b327 174762008-06-06 Robert Millan <rmh@aybabtu.com>
17477
17478 * util/grub-emu.c (grub_machine_init): Move code in this function from
17479 here ...
17480 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
17481 segfault in case grub_printf() is called).
17482
17483 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
17484 grub_probe. Update all users not to explicitly add it again.
17485 (grub_device): New variable; contains corresponding device for grubdir.
17486 (fs_module, partmap_module, devabstraction_module): Pass
17487 `--device ${grub_device}' to grub_probe to avoid traversing /dev
17488 every time.
17489
9ece62fb 174902008-06-05 Robert Millan <rmh@aybabtu.com>
17491
17492 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
17493 is found, print it (same layout as with labels).
17494
1ad36d37 174952008-06-04 Robert Millan <rmh@aybabtu.com>
17496
17497 * util/biosdisk.c (get_drive): Rename to ...
17498 (find_grub_drive): ... this. Update all users.
17499
17500 (get_os_disk): Rename to ...
17501 (convert_system_partition_to_system_disk): ... this. Update all users.
17502
17503 (find_drive): Rename to ...
17504 (find_system_device): ... this. Update all users.
17505
e6a30859 175062008-06-04 Robert Millan <rmh@aybabtu.com>
17507
17508 * util/biosdisk.c (get_os_disk): Handle IDA devices.
17509 * util/grub-mkdevicemap.c (get_mmc_disk_name)
17510 (make_device_map): Likewise.
17511
00c108a4 175122008-06-01 Robert Millan <rmh@aybabtu.com>
17513
17514 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
17515 before dereferencing it.
17516
17517 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
17518 union with fat12/fat16-specific ones. Add some new fields, including
17519 `num_serial' for both versions.
17520 (struct grub_fat_data): Add `uuid' member.
17521 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
17522 names. Initialize `data->uuid' using `num_serial'.
17523 (grub_fat_uuid): New function.
17524 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
17525
17526 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
17527 (grub_reiserfs_uuid): New function.
17528 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
17529 member.
17530
17531 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
17532 (grub_xfs_uuid): New function.
17533 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
17534
1385c5bb 175352008-06-01 Robert Millan <rmh@aybabtu.com>
17536
17537 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
17538 code that is backward compatible with pre-uuid search command.
17539
c682dfd7 175402008-05-31 Robert Millan <rmh@aybabtu.com>
17541
17542 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
17543 floppies after everything else, to ensure floppy drive isn't accessed
17544 unnecessarily (patch from Bean).
17545
b7db5d47 175462008-05-31 Robert Millan <rmh@aybabtu.com>
17547
17548 * commands/search.c (search_label, search_fs_uuid, search_file): Do
17549 not print device names when we were asked to set a variable.
17550
6e037aa9 175512008-05-31 Robert Millan <rmh@aybabtu.com>
17552
17553 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
17554 using "cursor-on" and "cursor-off" commands (understood at least by
17555 the Open Firmware flavour on OLPC).
17556
41305bc8 175572008-05-31 Michael Gorven <michael@gorven.za.net>
17558
17559 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
17560 on and off sequences.
17561
69ba137e 175622008-05-31 Robert Millan <rmh@aybabtu.com>
17563
17564 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
17565 * util/update-grub.in: Likewise.
17566
520ae21b 175672008-05-30 Pavel Roskin <proski@gnu.org>
17568
17569 * util/biosdisk.c (linux_find_partition): Simplify logic and
17570 make the code more universal. Keep special processing for
17571 devfs, but use a simple rule for all other devices. If the
17572 device ends with a number, append 'p' and the partition number.
17573 Otherwise, append only the partition number.
17574
5786569b 175752008-05-30 Robert Millan <rmh@aybabtu.com>
17576
17577 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
17578 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
17579 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
17580 the `root' parameter to Linux.
17581
51500452 175822008-05-30 Robert Millan <rmh@aybabtu.com>
17583
17584 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
17585 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
17586 --fs_uuid with --fs-uuid.
17587 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
17588 all filesystems support them).
17589
811d3878 175902008-05-30 Robert Millan <rmh@aybabtu.com>
17591
17592 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 17593 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 17594
cab63c95 175952008-05-30 Robert Millan <rmh@aybabtu.com>
17596
17597 * util/grub.d/00_header.in: Remove obsolete comment referencing
17598 convert_system_path_to_grub_path().
17599 * util/update-grub.in: Likewise.
17600 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
17601 (convert_system_path_to_grub_path): Add a warning message explaining
17602 that this function is deprecated. Rely on is_path_readable_by_grub()
17603 for the readability checks.
17604 (font_path): Use is_path_readable_by_grub() for the readability
17605 check rather than convert_system_path_to_grub_path().
17606
972e2f7a 176072008-05-30 Robert Millan <rmh@aybabtu.com>
17608
17609 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
17610 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
17611 converting it first.
17612 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
17613 grub.cfg for access to font file, and afterwards call it again to set
17614 the root device.
17615
62191274 176162008-05-30 Robert Millan <rmh@aybabtu.com>
17617
17618 * commands/search.c (options): Add --fs_uuid option.
17619 (search_fs_uuid): New function.
17620 (grub_cmd_search): Fix --set argument passing.
17621 Use search_fs_uuid() when requested via --fs_uuid.
17622 (grub_search_init): Update help message.
17623 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
17624 and redeclare it as an array of 16-bit words.
17625 (grub_ext2_uuid): New function.
17626 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
17627 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
17628 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
17629 (GRUB_DEVICE_BOOT_UUID): New variables.
17630 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
17631 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
17632 whenever possible.
17633 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
17634 just assume `root' variable has the right value.
17635 * util/grub.d/10_linux.in: Likewise.
17636 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
17637 via PRINT_FS_UUID.
17638 (main): Recognise `-t fs_uuid' argument.
17639
01b73ec8 176402008-05-30 Robert Millan <rmh@aybabtu.com>
17641
17642 * util/biosdisk.c (map): Redefine structure to hold information
17643 about GRUB drive name.
fe6b695a 17644 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 17645 drive names.
17646 (call_hook): Remove.
17647 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
17648 member. Assume drive has partitions.
17649 (grub_util_biosdisk_open): Access device names via `.device' struct
17650 member.
17651 (open_device): Likewise.
17652 (find_drive): Likewise.
17653 (read_device_map): Adjust map[] usage to match the new struct
17654 definition. Don't check for duplicates (still possible, but not cheap
17655 anymore).
17656 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
17657 (make_device_name): Remove assumption of BIOS-like drive names.
17658
22f16596 176592008-05-30 Pavel Roskin <proski@gnu.org>
17660
17661 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
17662 compiling execute.c doesn't need grub_script.tab.h anymore.
17663 (normal/command.c_DEPENDENCIES): Likewise.
17664 (normal/function.c_DEPENDENCIES): Likewise.
17665 * conf/i386-ieee1275.rmk: Likewise.
17666 * conf/i386-linuxbios.rmk: Likewise.
17667 * conf/i386-pc.rmk: Likewise.
17668 * conf/powerpc-ieee1275.rmk: Likewise.
17669 * conf/sparc64-ieee1275.rmk: Likewise.
17670
528ad8f2 176712008-05-29 Pavel Roskin <proski@gnu.org>
17672
d1dff95d 17673 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
17674 when scanning metadata for volume group name.
17675
528ad8f2 17676 * include/grub/script.h: Don't include grub_script.tab.h. It's
17677 a generated file, which may only be included from the files with
17678 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
17679 use union YYSTYPE, as the later allows forward declaration.
17680 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
17681
47248e08 176822008-05-29 Robert Millan <rmh@aybabtu.com>
17683
17684 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
17685 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
17686 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
17687 (grub_console_checkkey): Add grub_dprintf() call to report unknown
17688 scan codes.
17689
ee632529 176902008-05-29 Robert Millan <rmh@aybabtu.com>
17691
17692 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
17693 control key combinations.
17694
eee96e08 176952008-05-29 Robert Millan <rmh@aybabtu.com>
17696
17697 * util/powerpc/ieee1275/grub-install.in: Move from here ...
17698 * util/ieee1275/grub-install.in: ... to here.
17699 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
17700 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
17701 (grub_install_SOURCES): Likewise.
17702
da9a6a94 177032008-05-29 Robert Millan <rmh@aybabtu.com>
17704
17705 * fs/affs.c: Update copyright year.
17706 * fs/ext2.c: Likewise.
17707 * fs/fshelp.c: Likewise.
17708 * fs/hfsplus.c: Likewise.
17709 * fs/ntfs.c: Likewise.
17710 * fs/xfs.c: Likewise.
17711 * include/grub/fshelp.h: Likewise.
17712 * util/grub-mkdevicemap.c: Likewise.
17713
12e65f3a 177142008-05-28 Robert Millan <rmh@aybabtu.com>
17715
17716 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
17717 might need to be fatfs to support some firmware implementations
17718 (e.g. OFW or EFI).
17719
23023641 177202008-05-28 Robert Millan <rmh@aybabtu.com>
17721
17722 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
17723 devices.
17724 * util/grub-mkdevicemap.c (get_mmc_disk_name)
17725 (make_device_map): Likewise.
17726
887d2619 177272008-05-20 Bean <bean123ch@gmail.com>
17728
17729 * fs/fshelp.c (grub_fshelp_map_block): New function.
17730 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
17731 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
17732
17733 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
17734 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
17735 (grub_fshelp_journal): New structure.
17736 (grub_fshelp_map_block): New function prototype.
17737 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
17738 (grub_fshelp_map_block): Likewise.
17739
17740 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
17741 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
17742 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
17743 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
17744 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
17745 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
17746 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
17747 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
17748 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
17749 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
17750 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
17751 (grub_ext2_sblock): New members for journal support.
17752 (grub_ext3_journal_header): New structure.
17753 (grub_ext3_journal_revoke_header): Likewise.
17754 (grub_ext3_journal_block_tag): Likewise.
17755 (grub_ext3_journal_sblock): Likewise.
17756 (grub_fshelp_node): New members logfile and journal.
17757 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
17758 grub_fshelp_map_block to get real block number.
17759 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
17760 number.
17761 (grub_ext2_read_inode): Likewise.
17762 (grub_ext3_get_journal): New function.
17763 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
17764 (grub_ext2_close): Release memory used by journal.
17765
17766 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
17767 (REISERFS_MAGIC_DESC_BLOCK): New macro.
17768 (grub_reiserfs_transaction_header): Renamed to
17769 grub_reiserfs_description_block, replace field data with real_blocks.
17770 (grub_reiserfs_commit_block): New structure.
17771 (grub_reiserfs_data): New member journal.
17772 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
17773 number.
17774 (grub_reiserfs_read_symlink): Likewise.
17775 (grub_reiserfs_iterate_dir): Likewise.
17776 (grub_reiserfs_open): Likewise.
17777 (grub_reiserfs_read): Likewise.
17778 (grub_reiserfs_get_journal): New function.
17779 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
17780 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
17781 using grub_reiserfs_get_journal.
17782 (grub_reiserfs_close): Release memory used by journal.
17783
17784 * fs/affs.c (grub_affs_read_block): Change block type to
17785 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
17786
17787 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
17788
17789 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
17790
17791 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
17792
17793 * fs/udf.c (grub_udf_read_block): Change block type to
17794 grub_disk_addr_t. Use type cast to avoid warning.
17795
17796 * fs/xfs.c (grub_xfs_read_block): Likewise.
17797
b7c6bed5 177982008-05-16 Christian Franke <franke@computer.org>
17799
17800 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
17801 to ensure that break with ESC will always work.
17802 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
17803 Remove ESC from keyboard queue.
17804
eedf167f 178052008-05-16 Christian Franke <franke@computer.org>
17806
17807 * util/biosdisk.c: [__CYGWIN__] Add includes.
17808 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
17809 (get_os_disk): Move variable declarations to OS specific
17810 parts to avoid warning.
17811 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
17812 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
17813 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
17814 Cygwin.
17815 * util/getroot.c: [__CYGWIN__] Add includes.
17816 (strip_extra_slashes): Fix "/" case.
17817 [__CYGWIN__] (get_win32_path): New function.
17818 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
17819 [__CYGWIN__] (find_root_device): Disable.
17820 [__CYGWIN__] (get_bootsec_serial): New function.
17821 [__CYGWIN__] (find_cygwin_root_device): Likewise.
17822 [__linux__] (grub_guess_root_device): Add early returns to simplify
17823 structure.
17824 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
17825 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
17826 check for Linux only.
17827
a079699e 178282008-05-15 Bean <bean123ch@gmail.com>
17829
17830 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
17831 keyboard hang problem in apple's intel mac.
17832
1cf4059a 178332008-05-09 Robert Millan <rmh@aybabtu.com>
17834
17835 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
17836 devices.
17837 * util/grub-mkdevicemap.c (get_virtio_disk_name)
17838 (make_device_map): Likewise.
17839 Reported by Aurelien Jarno <aurel32@debian.org>
17840
ed759390 178412008-05-07 Ian Campbell <ijc@hellion.org.uk>
17842
17843 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
17844 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
17845 (make_device_map): Output entries for xvd type disks.
17846
b56c4eaa 178472008-05-07 Robert Millan <rmh@aybabtu.com>
17848
17849 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
17850 devices.
17851 * util/grub-mkdevicemap.c (get_cciss_disk_name)
17852 (make_device_map): Likewise.
17853 Reported by Roland Dreier <rdreier@cisco.com>
17854
7f8866ed 178552008-05-07 Robert Millan <rmh@aybabtu.com>
17856
17857 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
17858 grub_strstr() call. Correct a few mistakes in failure path handling.
17859
b0346e0f 178602008-05-06 Robert Millan <rmh@aybabtu.com>
17861
17862 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17863 Do not print a trailing slash (therefore, the root directory is an
17864 empty string).
17865 (convert_system_path_to_grub_path): Do not remove trailing slash
17866 from make_system_path_relative_to_its_root() output.
17867
17868 * util/i386/pc/grub-install.in: Add trailing slash to output from
17869 make_system_path_relative_to_its_root().
17870
6cf12cbd 178712008-05-06 Robert Millan <rmh@aybabtu.com>
17872
17873 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
17874 ensures that output lines aren't intermangled with those sent to
17875 stderr (via grub_util_info()).
17876 * util/grub-probe.c (grub_refresh): Likewise.
17877 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
17878
0fbb3117 178792008-05-05 Christian Franke <franke@computer.org>
17880
17881 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
17882 Add Cygwin device names.
17883 (get_ide_disk_name) [__CYGWIN__]: Likewise.
17884 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
17885 (check_device): Return error instead of success on empty name.
17886 (make_device_map): Move label inside linux specific code to
17887 prevent compiler warning.
17888
8124cdb7 178892008-04-30 Robert Millan <rmh@aybabtu.com>
17890
17891 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
17892 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
17893 first boot option.
17894 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
17895
094c01d0 178962008-04-29 Robert Millan <rmh@aybabtu.com>
17897
17898 * docs/grub.cfg: New file (example GRUB configuration).
17899
f4b1fc02 179002008-04-26 Robert Millan <rmh@aybabtu.com>
17901
329ce2a5 17902 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
17903 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
17904 and `disk/ieee1275/nand.c'.
f4b1fc02 17905
25f16ec1 179062008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 17907
25f16ec1 17908 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
17909 i386-linuxbios.
17910
17911 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
17912 change the buffer size to 4096 for cdrom device.
17913
17914 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
17915 and nand.mod.
17916 (_linux_mod_SOURCES): New variable.
17917 (_linux_mod_CFLAGS): Likewise.
17918 (_linux_mod_LDFLAGS): Likewise.
17919 (linux_mod_SOURCES): Likewise.
17920 (linux_mod_CFLAGS): Likewise.
17921 (linux_mod_LDFLAGS): Likewise.
17922 (nand_mod_SOURCES): Likewise.
17923 (nand_mod_CFLAGS): Likewise.
17924 (nand_mod_LDFLAGS): Likewise.
17925
17926 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
17927 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
17928 type property. (nand device in olpc don't have this property)
17929
17930 * include/grub/disk.h (grub_disk_dev_id): New macro
17931 GRUB_DISK_DEVICE_NAND_ID.
17932
17933 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
17934 function prototype.
17935 (grub_rescue_cmd_initrd): Likewise.
17936
17937 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
17938 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
17939 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 17940
25f16ec1 17941 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
17942 GRUB_MACHINE_IEEE1275 is defined.
17943
17944 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
17945 Use NESTED_FUNC_ATTR attribute on the hook parameter.
17946
17947 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
17948 on nested function heap_init.
17949 (grub_upper_mem): New variable for i386-ieee1275.
17950 (grub_get_extended_memory): New function for i386-ieee1275.
17951 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
17952
17953 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
17954 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
17955 property.
f19dbdb7 17956
25f16ec1 17957 * loader/i386/ieee1275/linux.c: New file.
17958
17959 * loader/i386/ieee1275/linux_normal.c: New file.
17960
17961 * disk/ieee1275/nand.c: New file.
17962
e89d61e9 179632008-04-18 Thomas Schwinge <tschwinge@gnu.org>
17964
17965 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
17966 value.
17967 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
17968
602566f6 179692008-04-18 Robert Millan <rmh@aybabtu.com>
17970
17971 Restructures early code path on ieee1275 to unify grub_main() as
17972 the first C function that is executed in every platform.
17973
17974 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
17975 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
17976 cmain().
17977 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
17978 * kern/ieee1275/cmain.c (cmain): Rename to ...
17979 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
17980 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
17981 at the beginning.
17982
57490c2b 179832008-04-18 Robert Millan <rmh@aybabtu.com>
17984
17985 * util/update-grub.in: Fix syntax error when setting
17986 `GRUB_PRELOAD_MODULES'.
17987 Reported by Stephane Chazelas <stephane@artesyncp.com>
17988
1977517d 179892008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
17990
17991 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
17992 section into account, newer toolchains generate unique build ids
17993 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 17994 we want build ids to be preserved
1977517d 17995 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
17996 far from other sections don't cause the raw binary images grow
17997 size
17998
bfb1f1a2 179992008-04-15 Robert Millan <rmh@aybabtu.com>
18000
18001 * disk/lvm.c: Update copyright year.
18002 * kern/misc.c: Likewise.
18003
01979850 180042008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18005
18006 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 18007 there is no memory left for physical volume name.
01979850 18008
0a1150e2 180092008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18010
18011 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
18012 volume name mapping to support bigger than 9 character names properly.
18013
82ead3fe 180142008-04-13 Robert Millan <rmh@aybabtu.com>
18015
18016 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
18017 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
18018
e54a72f5 180192008-04-13 Christian Franke <franke@computer.org>
18020
18021 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
18022 to create a floppy emulation boot CD when non emulation mode
18023 does not work.
18024 Enable Joliet CD filesystem extension.
18025
9fe86034 180262008-04-13 Robert Millan <rmh@aybabtu.com>
18027
18028 * kern/misc.c (grub_strncat): Fix off-by-one error.
18029 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
18030
18031 * kern/env.c (grub_env_context_close): Clear current context, not
18032 previous one.
18033 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
18034
18035 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
18036
7ceeee39 180372008-04-13 Robert Millan <rmh@aybabtu.com>
18038
18039 Improve robustness when handling LVM.
18040
18041 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 18042 (and leave `*p' unmodified).
7ceeee39 18043 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
18044 through it.
18045 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
18046 iterating through it.
18047 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
18048 through it.
fe6b695a 18049 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 18050 when due) on each grub_lvm_getvalue() or grub_strstr() call.
18051 Don't assume `vg->pvs != NULL' when iterating through it.
18052
58cd3d85 180532008-04-13 Robert Millan <rmh@aybabtu.com>
18054
18055 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
18056 * genmk.rb (partmap): New variable.
18057 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
18058 (#{partmap}): New target rule.
18059 * genpartmaplist.sh: New file.
18060 * Makefile.in (pkglib_DATA): Add partmap.lst.
18061 (partmap.lst): New target rule.
18062 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
18063 modules (including all partition maps), instead of preloading them.
18064
78b51059 180652007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
18066
18067 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
18068 `linux-boot-prober' (if installed) to detect other operating
18069 systems which are installed on the computer and add them to
18070 the boot menu.
18071 * conf/common.rmk: Build and install 30_os-prober.
18072
a91627b4 180732008-04-12 Robert Millan <rmh@aybabtu.com>
18074
18075 * kern/powerpc/ieee1275/init.c: Move from here ...
18076 * kern/ieee1275/init.c: ... to here. Update all users.
18077
18078 * kern/powerpc/ieee1275/cmain.c: Move from here ...
18079 * kern/ieee1275/cmain.c: ... to here. Update all users.
18080
18081 * kern/powerpc/ieee1275/openfw.c: Move from here ...
18082 * kern/ieee1275/openfw.c: ... to here. Update all users.
18083
18084 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
18085 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
18086
322562ea 180872008-04-10 Pavel Roskin <proski@gnu.org>
18088
18089 * configure.ac: Always use "_cv_" in cache variables for
18090 compatibility with Autoconf 2.62.
18091
a02a73c5 180922008-04-07 Robert Millan <rmh@aybabtu.com>
18093
18094 Revert grub/machine/init.h addition by Pavel (since it breaks on
18095 i386-ieee1275 and others):
18096 * util/i386/pc/misc.c: Remove grub/machine/init.h.
18097 * util/powerpc/ieee1275/misc.c: Likewise.
18098
25c024b1 180992008-04-07 Robert Millan <rmh@aybabtu.com>
18100
18101 * util/grub-probe.c (probe): Improve error message.
18102
3cbd2f98 181032008-04-07 Robert Millan <rmh@aybabtu.com>
18104
18105 * util/biosdisk.c (read_device_map): Skip devices that don't exist
18106 (this prevents the presence of a bogus entry from ruining the whole
18107 thing).
18108
87a297bf 181092008-04-06 Pavel Roskin <proski@gnu.org>
18110
36747a62 18111 * util/biosdisk.c: Include grub/util/biosdisk.h.
18112 * util/grub-fstest.c (execute_command): Make static.
18113 * util/grub-mkdevicemap.c (check_device): Likewise.
18114 * util/i386/pc/misc.c: Include grub/machine/init.h.
18115 * util/powerpc/ieee1275/misc.c: Likewise.
18116 * util/lvm.c: Include grub/util/lvm.h.
18117 * util/misc.c: Include grub/kernel.h, grub/misc.h and
18118 grub/cache.h.
18119 * util/raid.c: Include grub/util/raid.h.
18120 (grub_util_getdiskname): Make static.
18121
87a297bf 18122 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
18123 grub_hostfs_fini(), as they are called from grub_init_all() and
18124 grub_fini_all() respectively. This fixes an infinite loop in
18125 grub-fstest due to double registration of hostfs.
18126 Reported by Christian Franke <Christian.Franke@t-online.de>
18127
f6ce7629 181282008-04-05 Pavel Roskin <proski@gnu.org>
18129
18130 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
18131 all 8 functions. Otherwise, probe function 0 only.
18132
070e49e4 181332008-04-04 Pavel Roskin <proski@gnu.org>
18134
8b088a4c 18135 * commands/lspci.c (grub_lspci_iter): Print the bus number
18136 correctly.
18137
4f657021 18138 * commands/lspci.c (grub_pci_classes): Fix typos.
18139 (grub_lspci_iter): Don't print func twice. Print vendor ID
18140 before device ID, as it's normally done.
18141
070e49e4 18142 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
18143 Fix signedness warnings.
18144 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
18145 Likewise.
18146 * util/ieee1275/get_disk_name.c: Include config.h so that
18147 _GNU_SOURCE is defined and getline() is declared. Mark an
18148 unused argument as such. Fix a signedness warning.
18149
ba7328dc 181502008-04-02 Pavel Roskin <proski@gnu.org>
18151
26887f22 18152 * genkernsyms.sh.in: Use more robust assignments for CC and
18153 srcdir. Quote srcdir.
18154 * gensymlist.sh.in: Likewise. Assert at the compile time that
18155 the symbol table is not empty.
18156
ba7328dc 18157 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
18158 * fs/cpio.c (grub_cpio_read): Likewise.
18159
0f582c6b 181602008-04-01 Pavel Roskin <proski@gnu.org>
18161
4b6e1995 18162 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
18163 * disk/host.c (grub_host_open): Likewise.
18164 * disk/loopback.c (grub_loopback_open): Likewise.
18165 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
18166 disk->id as in disk/host.c, not a multi-character constant.
18167
828a2768 18168 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
18169 later is obsolete, potentially dangerous and sets a bad example.
18170 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
18171 * util/misc.c (grub_util_get_image_size): Likewise.
18172
2bb4fb47 18173 * disk/loopback.c (options): Improve help for "--partitions".
18174
0f582c6b 18175 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
18176 options to align them with the short options, e.g. "echo -e".
18177
a33224e0 181782008-03-31 Bean <bean123ch@gmail.com>
18179
18180 * video/reader/png.c (grub_png_data): New member is_16bit and
18181 image_data.
18182 (grub_png_decode_image_header): Detect 16 bit png image.
18183 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
18184 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
18185 (grub_video_reader_png): Release memory occupied by image_data.
18186
18187 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
18188 4096 bytes.
18189 (grub_nfs_mount): Skip the test for sector per cluster.
18190
18191 * include/grub/ntfs.h (MAX_SPC): Removed.
18192
86cb4f54 181932008-03-31 Bean <bean123ch@gmail.com>
18194
18195 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
18196 (grub_probe_SOURCES): Add fs/afs.c.
18197 (grub_fstest_SOURCES): Likewise.
18198 (afs_mod_SOURCES): New variable.
18199 (afs_mod_CFLAGS): Likewise.
18200 (afs_mod_LDFLAGS): Likewise.
18201
18202 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
18203 (grub_emu_SOURCES): Likewise.
18204
18205 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18206
18207 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18208
18209 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18210
18211 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18212
18213 * fs/afs.c: New file.
18214
17c74c21 182152008-03-30 Pavel Roskin <proski@gnu.org>
18216
4cb68e89 18217 * disk/host.c: Include grub/misc.h to fix a warning.
18218 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
18219 warnings about implicit declarations.
18220
8790bb04 18221 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
18222 variable.
18223 * include/grub/i386/loader.h: Change declaration of
18224 grub_linux_boot() to match what grub_loader_set() expects.
18225 * util/getroot.c (grub_guess_root_device): Return const char* to
18226 fix a warning.
18227 * util/grub-probe.c (probe): Fix a warning about uninitialized
18228 abstraction_name variable.
18229 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
18230 second argument as unused to fix a warning.
18231
9a3f3296 18232 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
18233 missing grub_error() call.
18234
0ecef90d 18235 * util/update-grub_lib.in: Define datarootdir, since Autoconf
18236 2.60 and newer uses it to define datadir.
18237
0bf6d401 18238 * commands/sleep.c: Fix warning about implicit declaration.
18239 * disk/memdisk.c: Likewise.
18240 * loader/aout.c: Likewise.
18241 * loader/i386/bsd_normal.c: Likewise.
18242 * util/grub-probe.c: Likewise.
18243
7cdacf97 18244 * commands/i386/cpuid.c (has_longmode): Make static.
18245 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
18246 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
18247
17c74c21 18248 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
18249 GDT. This is more robust, as %ds can change.
18250 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
18251 calling real_to_prot().
18252 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
18253
80a3e68b 182542008-03-28 Pavel Roskin <proski@gnu.org>
18255
18256 * kern/i386/pc/startup.S: Assert that uncompressed functions
18257 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
18258 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
18259 code, as they push parts of the code (error handlers) beyond
18260 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
18261 code as correctness and size.
18262
77bcd272 182632008-03-28 Pavel Roskin <proski@gnu.org>
18264
18265 * kern/i386/pc/startup.S
18266 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
18267 data block address to the real mode, keep offset minimal. This
18268 works around a bug in AWARD BIOS on old Athlon systems, which
18269 makes CD detection hang.
18270
c5dfd43b 182712008-03-26 Pavel Roskin <proski@gnu.org>
18272
18273 * normal/color.c (grub_parse_color_name_pair): Make `name' a
18274 const.
18275 * include/grub/normal.h: Add grub_parse_color_name_pair()
18276 declaration.
18277
bf962df2 182782008-03-24 Bean <bean123ch@gmail.com>
18279
18280 * disk/i386/pc/biosdisk.c (cd_start): Removed.
18281 (cd_count): Removed.
18282 (cd_drive): New variable.
18283 (grub_biosdisk_get_drive): Don't check for (cdN) device.
18284 (grub_biosdisk_call_hook): Likewise.
18285 (grub_biosdisk_iterate): Change cdrom detection method.
18286 (grub_biosdisk_open): Replace cd_start with cd_drive.
18287 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
18288 detect cdrom device.
18289
18290 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
18291 Removed.
18292 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
18293 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
18294 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
18295 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
18296 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
18297 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
18298 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
18299 (grub_biosdisk_cdrp): New structure.
18300 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
18301
18302 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
18303
18304 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
18305 device.
18306
18307 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
18308 New function.
18309
68e7fc7a 183102008-03-20 Robert Millan <rmh@aybabtu.com>
18311
18312 Remove 2 TiB limit in ata.mod.
18313 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
18314 (grub_ata_dumpinfo): Print sector count with 0x%llx.
18315 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
18316 grub_uint64_t instead of grub_uint32_t.
18317
38ad2cf5 183182008-03-05 Bean <bean123ch@gmail.com>
18319
18320 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
18321 (grub_multiboot): Set boot device.
18322
18323 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
18324
2b89344e 183252008-03-02 Bean <bean123ch@gmail.com>
18326
18327 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
18328 symlink_buffer.
18329
87a95d1f 183302008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
18331
18332 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
18333 texinfo.tex.
18334
18335 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
18336 modified.
18337
18338 * docs/fdl.texi: New file.
f19dbdb7 18339
87a95d1f 18340 * docs/mdate-sh: New file. Copied from gnulib.
18341 * docs/texinfo.tex: Likewise.
18342
18343 * config.guess: Updated from gnulib.
18344 * install-sh: Likewise.
18345
7dc15d8e 183462008-02-28 Robert Millan <rmh@aybabtu.com>
18347
18348 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
18349 (aout_mod_SOURCES): New variable.
18350 (aout_mod_CFLAGS): Likewise.
18351 (aout_mod_LDFLAGS): Likewise.
18352
18353 * conf/i386-ieee1275.rmk: Likewise.
18354
b00ab696 183552008-02-28 Robert Millan <rmh@aybabtu.com>
18356
18357 * util/update-grub.in: Reorganise terminal validity check. Accept
18358 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
18359 Based on suggestion by Franklin PIAT.
18360
79ca2d78 183612008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
18362
18363 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
18364 function.
18365 * util/getroot.c (grub_util_check_block_device): New function that
18366 returns the given argument if it is a block device and returns NULL else.
18367 * util/grub-probe.c (argument_is_device): New variable.
18368 (probe): Promote device_name from a variable to an argument. Receive
18369 device_name from grub_util_check_block_device() if path is NULL and from
18370 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 18371 (options): Introduce new parameter '-d, --device'.
79ca2d78 18372 (main): Add description of the new parameter to the help screen.
18373 Rename path variable to argument. Set argument_is_device if the '-d'
18374 option is given. Pass argument to probe() depending on
18375 argument_is_device.
18376
0d16e571 183772008-02-24 Bean <bean123ch@gmail.com>
18378
18379 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
18380 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
18381 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
18382 (GRUB_ISO9660_VOLDESC_PART): Likewise.
18383 (GRUB_ISO9660_VOLDESC_END): Likewise.
18384 (grub_iso9660_primary_voldesc): New member escape.
18385 (grub_iso9660_data): New member joliet.
18386 (grub_iso9660_convert_string): New function.
18387 (grub_iso9660_mount): Detect joliet extension.
18388 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
18389 (grub_iso9660_iso9660_label): Likewise.
18390
18391 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
18392 (grub_setup_SOURCES): Add fs/udf.c.
18393 (grub_fstest_SOURCES): Likewise.
18394 (udf_mod_SOURCES): New variable.
18395 (udf_mod_CFLAGS): Likewise.
18396 (udf_mod_LDFLAGS): Likewise.
18397
18398 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
18399 (grub_emu_SOURCES): Likewise.
18400
18401 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18402
18403 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18404
18405 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18406
18407 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18408
18409 * fs/udf.c: New file.
18410
8a594a17 184112008-02-24 Robert Millan <rmh@aybabtu.com>
18412
18413 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
18414 (normal/lexer.c_DEPENDENCIES): New variables.
18415 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18416 (normal/lexer.c_DEPENDENCIES): Likewise.
18417 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
18418 (normal/lexer.c_DEPENDENCIES): Likewise.
18419 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
18420 (normal/lexer.c_DEPENDENCIES): Likewise.
18421 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18422 (normal/lexer.c_DEPENDENCIES): Likewise.
18423 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18424 (normal/lexer.c_DEPENDENCIES): Likewise.
18425
2dc33c03 184262008-02-23 Robert Millan <rmh@aybabtu.com>
18427
18428 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
18429 since they were intended to be in hex. This didn't break previously
18430 because of a bug in gpt_partition_map_iterate() (see below).
18431
18432 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
18433 when checking the validity of GPT header.
18434 Remove `partno', since it always provides the same information as `i'.
18435
f6f4cfb0 184362008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
18437
18438 * include/grub/efi/time.h: Fix a wrong comment.
18439
79ff665f 184402008-02-19 Pavel Roskin <proski@gnu.org>
18441
18442 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
18443 message.
18444
d38e24c2 184452008-02-19 Bean <bean123ch@gmail.com>
18446
18447 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
18448 (aout_mod_SOURCES): New variable.
18449 (aout_mod_CFLAGS): Likewise.
18450 (aout_mod_LDFLAGS): Likewise.
18451 (_bsd_mod_SOURCES): New variable.
18452 (_bsd_mod_CFLAGS): Likewise.
18453 (_bsd_mod_LDFLAGS): Likewise.
18454 (bsd_mod_SOURCES): New variable.
18455 (bsd_mod_CFLAGS): Likewise.
18456 (bsd_mod_LDFLAGS): Likewise.
18457
18458 * include/grub/aout.h: New file.
18459
18460 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
18461
18462 * include/grub/i386/bsd.h: New file.
18463
18464 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
18465 to make it public.
18466
18467 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
18468 function is called, so that it's possible to change it inside the hook.
18469 (grub_elf64_load): Likewise.
18470 (grub_elf_file): Don't close the file if elf header is not found.
18471 (grub_elf_close): Close the file if grub_elf_file fails (The new
18472 grub_elf_file won't close it).
18473 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
18474 (grub_elf64_size): Likewise.
18475
18476 * kern/i386/loader.S (grub_unix_real_boot): New function.
18477
18478 * loader/aout.c: New file.
18479
18480 * loader/i386/bsd.c: New file.
18481
18482 * loader/i386/bsd_normal.c: New file.
18483
18484 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
18485
18486 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 18487 can test other formats.
d38e24c2 18488
b93bdb0f 184892008-02-19 Robert Millan <rmh@aybabtu.com>
18490
18491 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
18492 (grub_gpt_partition_type_empty): Redefine with macro from
18493 `<grub/gpt_partition.h>'.
18494 (gpt_partition_map_iterate): Adjust partition type comparison.
18495
18496 Export `entry' as partmap-specific `part.data' struct.
18497 (grub_gpt_header, grub_gpt_partentry): Move from here ...
18498
18499 * include/grub/gpt_partition.h (grub_gpt_header)
18500 (grub_gpt_partentry): ... to here (new file).
18501
18502 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
18503
18504 (grub_gpt_partition_type_bios_boot): New const variable, defined
18505 with macro from `<grub/gpt_partition.h>'.
18506
18507 (setup): Replace `first_start' with `embed_region', which keeps
18508 track of the embed region (and is partmap-agnostic).
18509
18510 Replace find_first_partition_start() with find_usable_region(),
18511 which finds a usable region for embedding using partmap-specific
18512 knowledge (supports PC/MSDOS and GPT).
18513
18514 Fix all assumptions that the embed region start at sector 1, using
18515 `embed_region.start' from now on. Similarly, use `embed_region.end'
18516 rather than `first_start' to calculate available size.
18517
18518 In grub_util_info() message, replace "into after the MBR" with an
18519 indication of the specific sector our embed region starts at.
18520
66cb40f6 185212008-02-19 Robert Millan <rmh@aybabtu.com>
18522
18523 * DISTLIST: Replace `commands/ieee1275/halt.c' and
18524 `commands/ieee1275/reboot.c' with `commands/halt.c' and
18525 `commands/reboot.c'.
18526 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
18527 (halt_mod_SOURCES): Likewise.
18528 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
18529 (halt_mod_SOURCES): Likewise.
18530
b7202015 185312008-02-17 Christian Franke <franke@computer.org>
18532
18533 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
18534
32b0fc49 185352008-02-17 Robert Millan <rmh@aybabtu.com>
18536
18537 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
18538 set `first_start' to 0 for non-PC/MSDOS partition maps.
18539
aca63502 185402008-02-16 Robert Millan <rmh@aybabtu.com>
18541
18542 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
18543 do not assume partition map is PC/MSDOS before performing checks that
18544 are specific to that layout.
18545
0de8be86 185462008-02-13 Robert Millan <rmh@aybabtu.com>
18547
18548 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
18549 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
18550 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
18551
c3db8364 185522008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
18553
18554 * configure.ac: Only a cosmetic change on the handling of
18555 -fno-stack-protector.
18556
f714229e 185572008-02-12 Alexandre Boeglin <alex@boeglin.org>
18558
c3db8364 18559 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
18560 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
18561 reboot.c.
f714229e 18562 (grub_install_SOURCES): Add halt.mod and reboot.mod.
18563 (halt_mod_SOURCES): New variable.
18564 (halt_mod_CFLAGS): Likewise.
18565 (halt_mod_LDFLAGS): Likewise.
18566 (reboot_mod_SOURCES): Likewise.
18567 (reboot_mod_CFLAGS): Likewise.
18568 (reboot_mod_LDFLAGS): Likewise.
18569
c3db8364 18570 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
18571 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
18572 reboot.c.
f714229e 18573 (halt_mod_SOURCES): Likewise.
18574 (reboot_mod_SOURCES): Likewise.
18575
c3db8364 18576 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
18577 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 18578 (reboot_mod_SOURCES): Likewise.
18579
18580 * commands/i386/pc/reboot.c: merge this file ...
18581
18582 * commands/ieee1275/reboot.c: ... and this file ...
18583
18584 * commands/reboot.c: ... to this file.
c3db8364 18585 Add some precompiler directive to include the correct header for
18586 each machine.
f714229e 18587
18588 * commands/ieee1275/halt.c: move this file ...
18589
18590 * commands/halt.c: ... to here.
c3db8364 18591 Add some precompiler directive to include the correct header for
18592 each machine.
f714229e 18593
18594 * include/grub/efi/efi.h (grub_reboot): New function declaration.
18595 (grub_halt): Likewise.
18596
18597 * kern/efi/efi.c (grub_reboot): New function.
18598 (grub_halt): Likewise.
18599
c74493e0 186002008-02-12 Robert Millan <rmh@aybabtu.com>
18601
18602 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
18603 /dev (like it is done for /dev/mapper). This doesn't provide support
18604 for EVMS, but at least it is now easy to identify the problem when it
18605 arises.
18606
d0db4b04 186072008-02-11 Robert Millan <rmh@aybabtu.com>
18608
18609 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
18610 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
18611 comparing it with -1, not 0.
18612
bf748642 186132008-02-10 Robert Millan <rmh@aybabtu.com>
18614
18615 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
18616 `disk/lvm.c'.
18617 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18618 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18619
18620 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
18621 `disk/lvm.c' to the end of the list.
18622 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18623 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18624
b5db202a 186252008-02-10 Robert Millan <rmh@aybabtu.com>
18626
18627 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
18628 grub_print_error() instead. This will let user know why we're entering
18629 rescue mode.
18630 Based on suggestions from Sam Morris.
18631
83abee31 186322008-02-10 Alexandre Boeglin <alex@boeglin.org>
18633
18634 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
18635 on remaining N args, instead of "--" arg N times.
18636
78d5a08b 186372008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
18638
18639 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
18640 (fill_with_default_glyph): Changed to use unknown_glyph for fill
18641 pattern for unknown glyphs.
18642
68807e5f 186432008-02-09 Robert Millan <rmh@aybabtu.com>
18644
18645 * configure.ac: Probe for `help2man'.
18646 * Makefile.in (builddir): New variable.
18647 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
18648 or otherwise add a few flags/options to it.
18649 (install-local): For every executable utility or script that is
18650 installed, invoke $(HELP2MAN) to install a manpage based on --help
18651 output.
18652
18653 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
18654 that it doesn't prevent --help from working in build tree.
18655
18656 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
18657 with `bug-grub@gnu.org'.
18658 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
18659 * util/update-grub.in (usage): New function.
18660 Implement proper argument check, with support for --help and --version
18661 (as well as existing -y).
18662
186632008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 18664
18665 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
18666 avoid overwriting previous output.
18667 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
18668
c1962162 186692008-02-09 Robert Millan <rmh@aybabtu.com>
18670
18671 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
18672 drawing the menu.
18673
3dac2e3f 186742008-02-09 Robert Millan <rmh@aybabtu.com>
18675
18676 * commands/sleep.c: New file.
18677 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
18678 (sleep_mod_SOURCES): New variable.
18679 (sleep_mod_CFLAGS): Likewise.
18680 (sleep_mod_LDFLAGS): Likewise.
18681
7a634e08 186822008-02-09 Robert Millan <rmh@aybabtu.com>
18683
18684 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
18685 situations in which we can deduce the RAID size and the superblock
18686 doesn't match it.
18687
b92f0c18 186882008-02-09 Robert Millan <rmh@aybabtu.com>
18689
18690 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
18691 and return a grub_diskmemberlist_t composed of LVM physical volumes.
18692 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
18693
18694 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
18695 and return a grub_diskmemberlist_t composed of physical array members.
18696 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
18697
18698 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
18699 prototype.
18700 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
18701 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
18702 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
18703
18704 * util/grub-probe.c (probe): Move partmap probing code from here ...
18705 (probe_partmap): ... to here.
18706 (probe): Use probe_partmap() once for the disk we're probing, and
18707 additionally, when such disk contains a memberlist() struct member,
18708 once for each disk that is contained in the structure returned by
18709 memberlist().
18710
91a4bf68 187112008-02-09 Robert Millan <rmh@aybabtu.com>
18712
18713 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
18714 environment variable to 'all' in order to obtain debug output from
18715 non-util/ code.
18716 * util/i386/pc/grub-setup.c (main): Likewise.
18717
a96f9caa 187182008-02-08 Robert Millan <rmh@aybabtu.com>
18719
18720 * disk/raid.c (grub_raid_scan_device): Check for
18721 `array->device[sb.this_disk.number]' rather than for
18722 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 18723 guaranteed to be accessible.
a96f9caa 18724
b37a9222 187252008-02-08 Robert Millan <rmh@aybabtu.com>
18726
18727 * disk/raid.c: Update copyright.
18728 * fs/cpio.c: Likewise.
18729 * include/grub/raid.h: Likewise.
18730 * loader/i386/pc/multiboot.c: Likewise.
18731 * util/hostfs.c: Likewise.
18732
5626aee1 187332008-02-08 Robert Millan <rmh@aybabtu.com>
18734
18735 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
18736 to a grub_disk_t array.
18737 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
18738 `device[x]'.
18739 (grub_raid_scan_device): Replace `device[x].name' accesses with
18740 `device[x]->name'. Simplify initialization of `array->device[x]'.
18741
554f0187 187422008-02-08 Robert Millan <rmh@aybabtu.com>
18743
18744 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
18745 grub_dprintf() calls.
18746 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
18747 error message.
18748
1ec8425d 187492008-02-07 Christian Franke <franke@computer.org>
18750
18751 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
18752 instead of fseek and ftell to support large files.
18753 (grub_hostfs_read): Likewise.
18754
f2156fda 187552008-02-07 Robert Millan <rmh@aybabtu.com>
18756
18757 Patch from Jeroen Dekkers.
18758 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 18759 failure, since successfully reading all array members might not be
f2156fda 18760 required.
18761
9216e0e7 187622008-02-06 Robert Millan <rmh@aybabtu.com>
18763
18764 * util/grub-probe.c (probe): Simplify partmap probing (with the
18765 assumption that the first word up to the underscore equals to
18766 the module name).
18767
b0dfd29a 187682008-02-06 Christian Franke <franke@computer.org>
18769
18770 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
18771 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
18772 last block of a cpio or tar stream.
18773 Check for "TRAILER!!!" instead of any empty data
18774 block to detect last block of a cpio stream.
18775 (grub_cpio_dir): Fix constness of variable np.
18776 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
18777 cpio or tar trailer is detected. This fixes a crash
18778 on open of a non existing file.
18779
c32865bf 187802008-02-05 Bean <bean123ch@gmail.com>
18781
18782 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
18783 address of entry.
18784 (grub_multiboot_load_elf64): Likewise.
18785 (grub_multiboot): Initialize mbi structure.
18786
18787 * util/grub-fstest.c: Don't include unused header file script.h.
18788
fe6b695a 18789 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 18790 of file.
18791 (grub_fstest_SOURCES): Likewise.
18792
409480b7 187932008-02-05 Robert Millan <rmh@aybabtu.com>
18794
18795 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
18796 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
18797 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
18798 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
18799
18800 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
18801 (translation_table): Replace hardcoded values with macros
18802 provided by `<grub/term.h>'.
18803
18804 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
18805 (keyboard_map): Correct/add a few values, with macros provided
18806 by `<grub/term.h>'.
18807 (keyboard_map_shift): Zero values that don't differ from their
18808 `keyboard_map' equivalents.
18809 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
18810 Discard the second scan code that is always sent by Caps lock.
18811 Only use `keyboard_map_shift' when it provides a non-zero value,
18812 otherwise fallback to `keyboard_map'.
18813
99fadbaa 188142008-02-04 Bean <bean123ch@gmail.com>
18815
18816 * Makefile.in (enable_grub_fstest): New variable.
18817
18818 * conf/common.rmk (grub_fstest_init.lst): New rule.
18819 (grub_fstest_init.h): Likewise.
18820 (grub_fstest_init.c): Likewise.
18821 (util/grub-fstest.c_DEPENDENCIES): New variable.
18822 (grub_fstest_SOURCES): Likewise.
18823
18824 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
18825
18826 * util/grub-fstest.c: New file.
18827
bf567c50 188282008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18829
18830 Make grub-setup handle a separate root device.
f19dbdb7 18831
bf567c50 18832 * util/i386/pc/grub-setup.c (setup): Always open the root device,
18833 so that the root device can be compared with the destination
18834 device.
18835 When embedding the core image, if the root and destination devices
18836 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
18837 0xFF.
18838 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 18839
9be6b98b 188402008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18841
18842 Add support for having a grub directory in a different drive. This
18843 is still only the data handling part.
f19dbdb7 18844
9be6b98b 18845 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
18846 (codestart): Save %dh in GRUB_ROOT_DRIVE.
18847 (grub_root_drive): New variable.
18848
18849 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
18850 instead of GRUB_BOOT_DRIVE to construct a device name. Set
18851 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
18852 as it was.
18853
18854 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
18855
18856 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
18857 macro.
18858 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
18859
18860 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
18861 is bogus, because PXE booting does not specify any drive
18862 correctly.
18863
18864 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
18865 am not sure if this is really correct.
18866
18867 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
18868 is always identical to the boot drive when booting from a CD.
18869
18870 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
18871 longer.
18872 (root_drive): New variable.
18873 (real_start): Unconditionally set %dh to ROOT_DRIVE.
18874 (setup_sectors): Push %dx right after popping it, because %dh will
18875 be modified later.
18876 (copy_buffer): Restore %dx.
18877
e0ca0677 188782008-02-03 Robert Millan <rmh@aybabtu.com>
18879
18880 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
18881 use `cdboot.img' for cdrom images.
18882
3b3f6629 188832008-02-03 Robert Millan <rmh@aybabtu.com>
18884
18885 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
18886 only setup gfxterm when `font' command has succeeded.
18887
d42b3672 188882008-02-03 Robert Millan <rmh@aybabtu.com>
18889
18890 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
18891 (grub_rescue_cmd_multiboot_loader)
18892 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
18893
fa370ea6 188942008-02-03 Pavel Roskin <proski@gnu.org>
18895
e0c5dacb 18896 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 18897 %edx and %esi from stack only after grub_gate_a20() is called.
18898 grub_gate_a20() clobbers %edx.
18899
f2a76e1d 189002008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18901
18902 * configure.ac (AC_INIT): Bumped to 1.96.
18903
18904 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
18905 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
18906 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
18907 video/readers/png.c.
18908
90fd32d1 189092008-02-03 Bean <bean123ch@gmail.com>
9be665dd 18910
18911 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
18912 (cdboot_img_SOURCES): New variable.
18913 (cdboot_img_ASFLAGS): New variable.
18914 (cdboot_img_LDFLAGS): New variable.
18915
18916 * boot/i386/pc/cdboot.S: New file.
18917
18918 * disk/i386/pc/biosdisk.c (cd_start): New variable.
18919 (cd_count): Likewise.
18920 (grub_biosdisk_get_drive): Add support for cd device.
18921 (grub_biosdisk_call_hook): Likewise.
18922 (grub_biosdisk_iterate): Likewise.
18923 (grub_biosdisk_open): Likewise.
18924 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
18925 (grub_biosdisk_rw): Support reading from cd device.
18926 (GRUB_MOD_INIT): Iterate cd devices.
18927
18928 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
18929 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
18930 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
18931
18932 * kern/i386/pc/init.c (make_install_device): Check for cd device.
18933
4020aa53 189342008-02-02 Robert Millan <rmh@aybabtu.com>
18935
18936 * commands/read.c: New file.
18937 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
18938 (read_mod_SOURCES): New variable.
18939 (read_mod_CFLAGS): Likewise.
18940 (read_mod_LDFLAGS): Likewise.
18941
e03a1132 189422008-02-02 Robert Millan <rmh@aybabtu.com>
18943
18944 * normal/main.c (grub_normal_execute): Check for `menu->size' when
18945 determining whether menu has to be displayed.
18946
58c69220 189472008-02-02 Marco Gerards <marco@gnu.org>
18948
18949 * bus/pci.c: New file.
18950
18951 * include/grub/pci.h: Likewise.
18952
18953 * include/grub/i386/pc/pci.h: Likewise.
18954
18955 * commands/lspci.c: Likewise.
18956
18957 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
18958 `lspci.mod'.
18959 (pci_mod_SOURCES): New variable.
18960 (pci_mod_CFLAGS): Likewise.
18961 (pci_mod_LDFLAGS): Likewise.
18962 (lspci_mod_SOURCES): Likewise.
18963 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 18964 (lspci_mod_LDFLAGS): Likewise.
58c69220 18965
c004e1b4 189662008-02-02 Bean <bean123ch@gmail.com>
18967
18968 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
18969 (grub_ufs_get_file_block): Fix indirect block calculation problem.
18970
18971 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
18972 (grub_xfs_btree_node): New structure.
18973 (grub_xfs_btree_root): New structure.
18974 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
18975 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
18976 (GRUB_XFS_EXTENT_BLOCK): Likewise.
18977 (GRUB_XFS_EXTENT_SIZE): Likewise.
18978 (grub_xfs_read_block): Support btree format type.
18979 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
18980 Use directory block as basic unit.
18981
18982 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
18983
18984 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
18985 __attribute__ ((__regparm__ (1))).
18986
f95562bf 189872008-02-01 Robert Millan <rmh@aybabtu.com>
18988
18989 Correct a mistake in previous commit.
18990
18991 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
18992 top.
18993 (normal/command.c_DEPENDENCIES): New variable.
18994
7d31f41f 189952008-02-01 Robert Millan <rmh@aybabtu.com>
18996
18997 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
18998 top.
18999 (normal/command.c_DEPENDENCIES): New variable.
19000 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
19001 * conf/i386-ieee1275.rmk: Likewise.
19002 * conf/i386-linuxbios.rmk: Likewise.
19003 * conf/i386-pc.rmk: Likewise.
19004 * conf/sparc64-ieee1275.rmk: Likewise.
19005 * conf/powerpc-ieee1275.rmk: Likewise.
19006 (grub_emu_SOURCES): Add `fs/fshelp.c'.
19007
19008 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
19009
60b6be74 190102008-02-01 Robert Millan <rmh@aybabtu.com>
19011
19012 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
19013 call at beginning of function.
19014
078522ab 190152008-01-31 Pavel Roskin <proski@gnu.org>
19016
19017 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 19018 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
19019 (grub_mkrescue_SOURCES): Likewise.
078522ab 19020 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
19021
ccaa8a5f 190222008-01-30 Robert Millan <rmh@aybabtu.com>
19023
19024 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
19025 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
19026 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
19027 (grub_probe_SOURCES): ... to here.
19028
19029 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
19030 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
19031 * conf/i386-ieee1275.rmk: Likewise.
19032 * conf/i386-linuxbios.rmk: Likewise.
19033 * conf/powerpc-ieee1275.rmk: Likewise.
19034
ae5a9cd7 190352008-01-30 Tristan Gingold <gingold@free.fr>
19036
19037 * kern/rescue.c: Silently accept empty lines.
19038
70bc2ef2 190392008-01-29 Bean <bean123ch@gmail.com>
19040
19041 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
19042 (real_code_2): Code cleanup and change comment style.
19043 (move_memory): Avoid using 32-bit address mode.
19044
6a4d50ea 190452008-01-29 Bean <bean123ch@gmail.com>
19046
19047 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
19048 (png_mod_SOURCES): New variable.
19049 (png_mod_CFLAGS): Likewise.
19050 (png_mod_LDFLAGS): Likewise.
19051
19052 * video/readers/png.c: New file.
19053
11cc30ac 190542008-01-28 Robert Millan <rmh@aybabtu.com>
19055
19056 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
19057 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
19058 `ifndef GRUB_MOD_GAP' hack.
19059 * util/elf/grub-mkimage.c (add_segments): Likewise.
19060
3abc589f 190612008-01-27 Robert Millan <rmh@aybabtu.com>
19062
19063 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
19064 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 19065 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 19066
e1907778 190672008-01-27 Robert Millan <rmh@aybabtu.com>
19068
19069 Get grub-emu to build again (including parallel builds).
19070
19071 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
19072 Split into ...
19073 (util/grub-emu.c_DEPENDENCIES): ... this, ...
19074 (normal/execute.c_DEPENDENCIES): ... this, ...
19075 (grub-emu_DEPENDENCIES): ... and this.
19076
19077 * conf/i386-efi.rmk: Likewise.
19078 * conf/i386-linuxbios.rmk: Likewise.
19079 * conf/i386-ieee1275.rmk: Likewise.
19080 * conf/powerpc-ieee1275.rmk: Likewise.
19081 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
19082
2216b101 190832008-01-27 Robert Millan <rmh@aybabtu.com>
19084
19085 * NEWS: Add a few items.
19086
f75172d9 190872008-01-27 Robert Millan <rmh@aybabtu.com>
19088
19089 Fix parallel builds with grub-emu. Based on earlier commit for
19090 grub-probe and grub-setup.
19091
19092 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19093 (util/grub-emu.c_DEPENDENCIES): ... this.
19094 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19095 (util/grub-emu.c_DEPENDENCIES): ... this.
19096 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19097 (util/grub-emu.c_DEPENDENCIES): ... this.
19098 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19099 (util/grub-emu.c_DEPENDENCIES): ... this.
19100 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19101 (util/grub-emu.c_DEPENDENCIES): ... this.
19102
3f51de77 191032008-01-27 Pavel Roskin <proski@gnu.org>
19104
19105 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
19106 to create a gap between _end and the modules added to the image
19107 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
19108 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
19109 * util/elf/grub-mkimage.c (add_segments): Likewise.
19110
2033f53e 191112008-01-26 Pavel Roskin <proski@gnu.org>
19112
19113 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
19114 just return an error.
19115
22da1f6f 191162008-01-26 Bean <bean123ch@gmail.com>
19117
19118 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
19119 (grub_reiserfs_get_item): Save offset of the next item.
19120 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
19121
2a9525e6 191222008-01-25 Robert Millan <rmh@aybabtu.com>
19123
19124 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
19125 make all filesystem sources appear together (possibly fixing omissions
19126 while at it).
19127 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19128 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19129 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19131
19132 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
19133 add `kern/file.c'.
19134 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
19135 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
19136 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
19137 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
19138
19139 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
19140 (probe): Add a sanity check to make sure of our ability to read
19141 requested files when probing for filesystem type.
19142
19143 * genmk.rb: Update copyright year (2007).
19144
19145 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
19146 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
19147 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
19148 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
19149 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
19150 : Remove function prototypes.
19151
b95f71b5 191522008-01-25 Robert Millan <rmh@aybabtu.com>
19153
19154 Revert my previous commits (based on wrong assumption of how grub_errno
19155 works).
19156
fe6b695a 19157 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 19158 * kern/file.c (grub_file_open): Likewise.
19159
d08bbb49 191602008-01-24 Pavel Roskin <proski@gnu.org>
19161
19162 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
19163 that hang if GRUB tries to setup colors.
19164 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
19165 colors for firmwares that don't support it.
19166 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
19167 Recognize Open Hack'Ware, set flags to work around its
19168 limitations.
19169
605e36ed 191702008-01-24 Robert Millan <rmh@aybabtu.com>
19171
19172 * kern/file.c (grub_file_open): Do not account previous failures of
19173 unrelated functions when grub_errno is checked for.
19174 Reported by Oleg Strikov.
19175
bac332a1 191762008-01-24 Bean <bean123ch@gmail.com>
19177
19178 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
19179 (grub_ufs_sblock): New member volume name.
19180 (grub_ufs_find_file): Fix string copy bug.
19181 (grub_ufs_label): Implement this function properly.
19182
19183 * fs/hfs.c (grub_hfs_cnid_type): New enum.
19184 (grub_hfs_iterate_records): Use the correct file number for extents
19185 and catalog file. Fix problem in next index calculation.
19186 (grub_hfs_find_node): Replace recursive function call with loop.
19187 (grub_hfs_iterate_dir): Replace recursive function call with loop.
19188
15c80c09 191892008-01-23 Robert Millan <rmh@aybabtu.com>
19190
19191 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
19192 `<grub/symbol.h>' and `<grub/multiboot.h>'.
19193 (grub_multiboot2_real_boot): New function prototype.
19194
19195 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
19196 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
19197
19198 * kern/i386/ieee1275/init.c (grub_os_area_addr)
19199 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
19200
305338fd 192012008-01-23 Robert Millan <rmh@aybabtu.com>
19202
19203 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
19204 #ifdef'ed out grub_printf().
19205
3ea52685 192062008-01-23 Robert Millan <rmh@aybabtu.com>
19207
19208 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
19209 grub_dprintf calls, since they make "debug=all" mode unusable.
19210 (grub_console_checkkey): Likewise.
19211
5882ae4b 192122008-01-23 Robert Millan <rmh@aybabtu.com>
19213
19214 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
19215 `term/i386/pc/at_keyboard.c'.
19216 (pkglib_MODULES): Add `serial.mod'.
19217 (serial_mod_SOURCES): New variable.
19218 (serial_mod_CFLAGS): Likewise.
19219 (serial_mod_LDFLAGS): Likewise.
19220
19221 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
19222 `<grub/powerpc/ieee1275/console.h>'.
19223 (grub_keyboard_controller_init): New function prototype.
19224 (grub_console_checkkey): Likewise.
19225 (grub_console_getkey): Likewise.
19226
19227 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
19228 keyboard on i386.
19229
19230 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
19231 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
19232
06ab5303 192332008-01-23 Robert Millan <rmh@aybabtu.com>
19234
19235 * kern/i386/pc/init.c (make_install_device): When memdisk image is
19236 present, "(memdisk)/boot/grub" becomes the default prefix.
19237
19238 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
19239 a memdisk tarball with all the modules. Add --overlay=DIR option that
19240 allows users to overlay additional files into the image.
19241
dbb475a4 192422008-01-23 Robert Millan <rmh@aybabtu.com>
19243
19244 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
19245 and `machine/memory.h'.
19246 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
19247 (_multiboot_mod_SOURCES): New variable.
19248 (_multiboot_mod_CFLAGS): Likewise.
19249 (_multiboot_mod_LDFLAGS): Likewise.
19250 (multiboot_mod_SOURCES): Likewise.
19251 (multiboot_mod_CFLAGS): Likewise.
19252 (multiboot_mod_LDFLAGS): Likewise.
19253
19254 * include/grub/i386/ieee1275/loader.h: New file.
19255
19256 * include/grub/i386/ieee1275/machine.h: Likewise.
19257
19258 * include/grub/i386/ieee1275/memory.h: Likewise.
19259
19260 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
19261 variable declaration.
19262 (grub_os_area_size): Likewise.
19263
19264 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
19265 (grub_lower_mem, grub_upper_mem): New variables.
19266 (grub_stop_floppy): New function (just to make
19267 grub_multiboot2_real_boot() happy).
19268
19269 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
19270 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
19271 (grub_stop): New function.
19272 Include `"../realmode.S"' and `"../loader.S"'.
19273
19274 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
19275 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
19276
19277 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
19278 rely on grub_multiboot2_real_boot() for final boot.
19279
25638629 192802008-01-22 Robert Millan <rmh@aybabtu.com>
19281
19282 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
19283 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
19284 device that doesn't look like an SD card.
19285 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
19286 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
19287 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
19288 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
19289 found.
19290
9dad816d 192912008-01-22 Robert Millan <rmh@aybabtu.com>
19292
19293 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
19294 avoid claiming over our own code.
19295
34842f2d 192962008-01-22 Bean <bean123ch@gmail.com>
19297
19298 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
19299 (jpeg_mod_SOURCES): New variable.
19300 (jpeg_mod_CFLAGS): Likewise.
19301 (jpeg_mod_LDFLAGS): Likewise.
19302
19303 * video/readers/jpeg.c : New file.
19304
44023a28 193052008-01-22 Bean <bean123ch@gmail.com>
19306
19307 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
19308 there are no more items.
19309
bc2d8ac6 193102008-01-21 Robert Millan <rmh@aybabtu.com>
19311
19312 * kern/mm.c (grub_mm_init_region): Improve debug message.
19313
261bd4bc 193142008-01-21 Robert Millan <rmh@aybabtu.com>
19315
19316 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
19317 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
19318 address.
19319 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
19320 a C macro.
19321 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
19322 Indicates start of upper memory.
19323 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
19324 (generate_image): Abort when image size is big enough to corrupt
19325 upper memory.
19326
19327 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
19328 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
19329 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
19330 instead of hardcoding 0xA0000.
19331 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
19332 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
19333 instead of hardcoding 0xA0000.
19334
f970b55e 193352008-01-21 Robert Millan <rmh@aybabtu.com>
19336
19337 * disk/memdisk.c (memdisk_size): New variable.
19338 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
19339 `memdisk_size'.
19340 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
19341 image to dynamic memory.
19342 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
19343 `memdisk_size'. Free memdisk block.
19344
1a8b0526 193452008-01-21 Robert Millan <rmh@aybabtu.com>
19346
19347 Fix detection of very small filesystems (like tar).
19348
19349 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
19350 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
19351 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
19352 a problem with this disk).
19353
6e9b4aab 193542008-01-21 Robert Millan <rmh@aybabtu.com>
19355
19356 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
19357 on grub_biosdisk_rw_standard() error.
19358
0d8837b2 193592008-01-21 Robert Millan <rmh@aybabtu.com>
19360
19361 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
19362 recent changes.
19363 * kern/elf.c: Likewise.
19364 * kern/ieee1275/ieee1275.c: Likewise.
19365 * kern/powerpc/ieee1275/openfw.c: Likewise.
19366 * term/ieee1275/ofconsole.c: Likewise.
19367
ffd36e34 193682008-01-21 Robert Millan <rmh@aybabtu.com>
19369
19370 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
19371
3f0093d0 19372 * include/grub/kernel.h (grub_arch_memdisk_addr)
19373 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 19374
3f0093d0 19375 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
19376 (grub_arch_memdisk_size): ... to here.
ffd36e34 19377
6c391b21 193782008-01-21 Robert Millan <rmh@aybabtu.com>
19379
19380 Mostly based on bugfix from Bean.
19381
19382 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
19383 attribute with hook() parameter.
19384 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
19385 declaration.
19386 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
19387 attribute with hook() parameter.
19388 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
19389 declaration.
19390
55a581dc 193912008-01-21 Robert Millan <rmh@aybabtu.com>
19392
19393 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
19394 (pkglib_MODULES): Add `memdisk.mod'.
19395 (memdisk_mod_SOURCES): New variable.
19396 (memdisk_mod_CFLAGS): Likewise.
19397 (memdisk_mod_LDFLAGS): Likewise.
19398
19399 * disk/memdisk.c: New file.
19400
19401 * include/grub/disk.h (grub_disk_dev_id): Add
19402 `GRUB_DISK_DEVICE_MEMDISK_ID'.
19403
19404 * include/grub/i386/pc/kernel.h
19405 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
19406 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
19407 (grub_kernel_image_size): New variable declaration.
19408 (grub_total_module_size): Likewise.
19409 (grub_memdisk_image_size): Likewise.
19410
19411 * include/grub/i386/pc/memory.h
19412 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
19413
19414 * include/grub/kernel.h: Include `<grub/symbol.h>'.
19415 (grub_arch_memdisk_addr): New variable declaration.
19416 (grub_arch_memdisk_size): Likewise.
19417
19418 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
19419 (grub_arch_memdisk_size): Likewise.
19420
19421 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
19422 (codestart): Replace hardcoded `0x100000' with
19423 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
19424
19425 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
19426 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
19427 not NULL, append the contents of the file it refers to, at the end of
19428 the compressed kernel image. Initialize `grub_memdisk_image_size'
19429 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
19430 (options): Add "memdisk"|'m' option.
19431 (main): Parse --memdisk|-m option, and pass user-provided path as
19432 parameter to generate_image().
19433
3d7f54c9 194342008-01-20 Robert Millan <rmh@aybabtu.com>
19435
19436 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
19437 grub_dprintf() calls from here ...
19438 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
19439
0bf74728 194402008-01-20 Robert Millan <rmh@aybabtu.com>
19441
19442 Fix detection of "real mode" when /options/real-mode? doesn't exist.
19443
19444 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
19445 declaration.
19446 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
19447 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
19448 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 19449 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 19450 property).
19451 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
19452 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
19453
33bf70a7 194542008-01-19 Robert Millan <rmh@aybabtu.com>
19455
fe6b695a 19456 Get rid of confusing function (superseded by
33bf70a7 19457 `grub_ieee1275_get_integer_property')
19458 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
19459 prototype.
19460 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
19461 function.
19462 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
19463 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 19464 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 19465
e2da7d26 194662008-01-19 Robert Millan <rmh@aybabtu.com>
19467
19468 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
19469 command after "shut-down", since implementations differ on which
19470 the command for halt is.
19471
59f1fd8d 194722008-01-19 Robert Millan <rmh@aybabtu.com>
19473
19474 * include/grub/i386/linuxbios/console.h: Add header protection.
19475 (grub_keyboard_controller_init): New function prototype.
19476 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
19477 (KEYBOARD_COMMAND_READ): Likewise.
19478 (KEYBOARD_COMMAND_WRITE): Likewise.
19479 (KEYBOARD_SCANCODE_SET1): Likewise.
19480 (grub_keyboard_controller_write): New function.
19481 (grub_keyboard_controller_read): Likewise.
19482 (grub_keyboard_controller_init): Likewise.
19483
19484 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
19485 (grub_console_init): On coreboot/LinuxBIOS, call
19486 grub_keyboard_controller_init().
19487
5f5a7c15 194882008-01-19 Robert Millan <rmh@aybabtu.com>
19489
19490 PowerPC changes provided by Pavel Roskin.
19491
19492 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
19493 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
19494 don't rely on cmain() doing it.
19495 * kern/i386/ieee1275/startup.S (_start): Store %eax in
19496 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
19497
1210e168 194982008-01-16 Robert Millan <rmh@aybabtu.com>
19499
19500 * include/grub/i386/linuxbios/memory.h
19501 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
19502 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
19503 receive `table_header' as argument. Instead, probe for it in the
19504 known memory ranges where it can be present.
19505 (grub_available_iterate): Do not pass a fixed `table_header' address
19506 to grub_linuxbios_table_iterate().
19507
3d04eab8 195082008-01-15 Robert Millan <rmh@aybabtu.com>
19509
19510 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
19511 * conf/i386-ieee1275.rmk: New file.
19512 * include/grub/i386/ieee1275/console.h: Likewise.
19513 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
19514 * include/grub/i386/ieee1275/kernel.h: Likewise.
19515 * include/grub/i386/ieee1275/time.h: Likewise.
19516 * kern/i386/ieee1275/init.c: Likewise.
19517 * kern/i386/ieee1275/startup.S: Likewise.
19518
d1bc1b73 195192008-01-15 Robert Millan <rmh@aybabtu.com>
19520
19521 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
19522 when pointers are 32-bit (but still do set it to one when they are
19523 64-bit).
19524
66a65807 195252008-01-15 Robert Millan <rmh@aybabtu.com>
19526
19527 * include/grub/ieee1275/ieee1275.h
19528 (grub_ieee1275_get_integer_property): New function prototype.
19529
19530 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
19531 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 19532 grub_ieee1275_get_property() to handle endianness.
66a65807 19533
19534 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
19535 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 19536 where appropriate.
66a65807 19537 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
19538 (grub_map): Likewise.
19539 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
19540
a83ccafd 195412008-01-15 Bean <bean123ch@gmail.com>
19542
19543 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
19544 (grub_script_execute_cmdline): Reset grub_errno.
19545
19546 * normal/main.c (read_config_file): Reset grub_errno.
19547
19548 * normal/parse.y (script_init): New.
19549 (script): Move function and menuentry here.
19550 (delimiter): New.
19551 (command): Add delimiter at the end of command.
19552 (commands): Adjust to match the new command.
19553 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 19554 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 19555 (if): Use the new commands.
19556
19557 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
19558
df6ecfc6 195592008-01-15 Robert Millan <rmh@aybabtu.com>
19560
19561 * normal/menu.c (run_menu): Move timeout message from here ...
19562 (print_timeout): ... to here.
19563 (run_menu): Use print_timeout() once during initial draw to print
19564 the whole message, and again in every clock tick to update only
19565 the number of seconds.
19566
87ae25eb 195672008-01-15 Robert Millan <rmh@aybabtu.com>
19568
19569 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
19570 actual size of `available' from grub_ieee1275_get_property(), and
19571 restrict parsing to that bound.
19572
47bf09a4 195732008-01-15 Christian Franke <franke@computer.org>
19574
19575 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
19576 (argp_program_version): Remove variable.
19577 (argp_program_bug_address): Likewise.
19578 (options): Convert from struct argp_option to struct option.
19579 (struct arguments): Remove.
19580 (parse_opt): Remove.
19581 (usage): New function.
19582 (main): Replace struct args members by simple variables.
19583 Replace argp_parse() by getopt_long().
19584 Add switch to evaluate options.
19585 Add missing "(...)" around root_dev in prefix string.
19586
c86f1469 195872008-01-14 Robert Millan <rmh@aybabtu.com>
19588
19589 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
19590 for grub_ieee1275_exit(), in order to improve portability.
19591
e622c559 195922008-01-14 Robert Millan <rmh@aybabtu.com>
19593
19594 * util/grub.d/10_linux.in (prefix): Define.
19595 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
19596
44cb1ec8 195972008-01-13 Pavel Roskin <proski@gnu.org>
19598
19599 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
19600 grub_errno if no errors have been detected.
19601
1eb8c802 196022008-01-12 Robert Millan <rmh@aybabtu.com>
19603
19604 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
19605 (grub_util_get_dev_abstraction): New function prototype.
19606
19607 * util/getroot.c: Include `<grub/util/getroot.h>'
19608 (grub_util_get_grub_dev): Move detection of abstraction type to ...
19609 (grub_util_get_dev_abstraction): ... here (new function).
19610
19611 * util/grub-probe.c: Convert PRINT_* to an enum. Add
19612 `PRINT_ABSTRACTION'.
19613 (probe): Probe for abstraction type when requested.
19614 (main): Understand `--target=abstraction'.
19615
19616 * util/i386/efi/grub-install.in: Add abstraction module to core
19617 image when it is found to be necessary.
19618 * util/i386/pc/grub-install.in: Likewise.
19619 * util/powerpc/ieee1275/grub-install.in: Likewise.
19620
19621 * util/update-grub_lib.in (font_path): Return system path without
19622 converting to GRUB path.
19623 * util/update-grub.in: Convert system path returned by font_path()
19624 to a GRUB path. Use `grub-probe -t abstraction' to determine what
19625 abstraction module is needed for loading fonts (if any). Export
19626 that as `GRUB_PRELOAD_MODULES'.
19627 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
19628 insmod commands).
19629
52bd3de9 196302008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
19631
19632 Remove some unused code from reiserfs.
f19dbdb7 19633
52bd3de9 19634 * fs/reiserfs.c (struct grub_reiserfs_key)
19635 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
19636 (struct grub_reiserfs_node_body): Removed.
19637 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
19638 Likewise.
19639 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19640 Likewise.
19641 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19642 Likewise.
19643 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19644 Likewise.
19645 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
19646 Likewise.
19647 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
19648 Likewise.
19649 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19650 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19651 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19652
2f80039d 196532008-01-10 Robert Millan <rmh@aybabtu.com>
19654
19655 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
19656 Determines if a file is garbage left by packaging systems, etc.
19657 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
19658 for processing /etc/grub.d scripts.
19659 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
19660 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
19661 as a condition for processing Linux images.
19662
87888032 196632008-01-10 Pavel Roskin <proski@gnu.org>
19664
19665 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
19666 to compile reiserfs.c on PowerPC.
19667
7e54fced 196682008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 19669
19670 * kern/device.c (grub_device_iterate): Do not abort device iteration
19671 when one of the devices cannot be opened.
19672 * kern/disk.c (grub_disk_open): Do not account previous failures of
19673 unrelated functions when grub_errno is checked for.
19674
5aa541e6 196752008-01-08 Robert Millan <rmh@aybabtu.com>
19676
19677 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
19678 `! grub_linux_is_bzimage', change order of address comparison to make
19679 it more intuitive, and improve "too big zImage" error message.
19680
7076340d 196812008-01-08 Robert Millan <rmh@aybabtu.com>
19682
19683 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
19684 `$(update-grub_DATA)'.
19685 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
19686 targets.
19687
9ca70333 196882008-01-07 Robert Millan <rmh@aybabtu.com>
19689
19690 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
19691 which instruction is modified by grub-setup during installation
19692 (since it wasn't obvious by only looking at this file).
19693
38ccf575 196942008-01-07 Robert Millan <rmh@aybabtu.com>
19695
19696 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
19697 listing actual TODO items.
19698
f5db4291 196992008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
19700
868967cf 19701 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
19702 correctly.
19703 (grub_reiserfs_get_key_offset): Likewise.
19704 (grub_reiserfs_set_key_offset): Likewise.
19705 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 19706 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 19707
19708 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
19709 better to remove the bitfield version completely.
f19dbdb7 19710
868967cf 197112008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 19712
f5db4291 19713 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
19714 allocated from the heap, due to the fshelp implementation.
19715 (grub_reiserfs_dir): Free NODE, due to the same reason.
19716
492e6d9d 197172008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
19718
19719 Mostly from Vincent Pelletier:
f19dbdb7 19720
492e6d9d 19721 * fs/reiserfs.c: New file.
f19dbdb7 19722
492e6d9d 19723 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
19724 (reiserfs_mod_SOURCES): New variable.
19725 (reiserfs_mod_CFLAGS): Likewise.
19726 (reiserfs_mod_LDFLAGS): Likewise.
19727
19728 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
19729 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
19730 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
19731 normal/color.c.
19732
9ce3e7c1 197332008-01-06 Robert Millan <rmh@aybabtu.com>
19734
19735 * normal/color.c: Remove `<grub/env.h>'.
19736
f3b58148 197372008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
19738
19739 * include/grub/normal.h: Include <grub/env.h>.
19740
7ac3bcfa 197412008-01-05 Robert Millan <rmh@aybabtu.com>
19742
19743 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
19744 usage example with `(hd0,1)'.
fb358190 19745 Reported by Samuel Thibault.
7ac3bcfa 19746
c8ee99d7 197472008-01-05 Robert Millan <rmh@aybabtu.com>
19748
19749 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
19750 (grub_linux_boot_zimage): Rename to ...
19751 (grub_linux_boot): ... this.
19752 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
19753 (grub_linux_boot_zimage): Conditionalize zImage copy.
19754
19755 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
19756 (grub_linux_boot_bzimage): Remove prototype.
19757 (grub_linux_boot_zimage): Rename to ...
19758 (grub_linux_boot): ... this.
19759
19760 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
19761 (grub_linux_boot): Remove function.
19762
0ece25b1 197632008-01-05 Robert Millan <rmh@aybabtu.com>
19764
19765 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
19766 (grub_env_write_color_highlight): Likewise.
19767 (grub_wait_after_message): Likewise.
19768
19769 * normal/color.c: New file.
19770
19771 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19772 (normal_mod_DEPENDENCIES): Likewise.
19773
19774 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19775 (normal_mod_DEPENDENCIES): Likewise.
19776
19777 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19778 (normal_mod_DEPENDENCIES): Likewise.
19779
19780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19781 (normal_mod_DEPENDENCIES): Likewise.
19782
19783 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
19784 for waiting after a message is printed.
19785 * normal/main.c (read_config_file): Likewise.
19786 (grub_normal_init): Register grub_env_write_color_normal() and
19787 grub_env_write_color_highlight() hooks. Mark `color_normal' and
19788 `color_highlight' variables as global.
19789
19790 * normal/menu.c (grub_wait_after_message): New function.
19791 (grub_color_menu_normal): New variable. Replaces ...
19792 (GRUB_COLOR_MENU_NORMAL): ... this macro.
19793 (grub_color_menu_highlight): New variable. Replaces ...
19794 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
19795 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
19796 `GRUB_TERM_COLOR_STANDARD'.
19797 (print_message): Use `grub_setcolorstate' to reload colors. Rename
19798 `normal_code' and `highlight_code' to `old_color_normal' and
19799 `old_color_highlight', respectively.
19800 (grub_menu_init_page): Update colors when drawing the menu, based on
19801 `menu_color_normal' and `menu_color_highlight' variables.
19802 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
19803 a message is printed.
19804
182dd4e5 198052008-01-05 Robert Millan <rmh@aybabtu.com>
19806
19807 * kern/env.c (grub_env_context_open): Propagate hooks for global
19808 variables to new context.
19809
19810 * kern/main.c (grub_set_root_dev): Export `root' variable.
19811
ddf8f6ad 198122008-01-05 Robert Millan <rmh@aybabtu.com>
19813
19814 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 19815 discs unconditionally, since udev and others have options to provide
ddf8f6ad 19816 them.
19817
d8b43d9b 198182008-01-05 Robert Millan <rmh@aybabtu.com>
19819
19820 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
19821
2bff2de3 198222008-01-04 Christian Franke <franke@computer.org>
19823
19824 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
19825 of eisa_mmap.
19826
97eab917 198272008-01-03 Pavel Roskin <proski@gnu.org>
19828
19829 * kern/i386/linuxbios/init.c: Put "void" to all function
19830 declarations with no arguments.
19831 * kern/powerpc/ieee1275/init.c: Likewise.
19832 * term/i386/pc/at_keyboard.c: Likewise.
19833 * term/i386/pc/vga_text.c: Likewise.
19834 * util/grub-mkdevicemap.c: Likewise.
19835
b9416d00 198362008-01-02 Robert Millan <rmh@aybabtu.com>
19837
19838 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
19839 message when loaded image is out of bounds.
19840 (grub_multiboot_load_elf64): Likewise.
19841
92695df9 198422008-01-02 Pavel Roskin <proski@gnu.org>
19843
19844 * util/grub.d/10_linux.in: Try version without ".old" when
19845 looking for initrd. It's better to use initrd from the newer
19846 kernel of the same version than no initrd at all.
19847
d98d9cad 198482008-01-01 Robert Millan <rmh@aybabtu.com>
19849
19850 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
19851
dbfdce36 198522008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
19853
f19dbdb7 19854 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 19855 grub_video_get_active_render_target.
19856 (grub_video_adapter): Added unmap_color and get_active_render_target.
19857
f19dbdb7 19858 * video/video.c: Added grub_video_unmap_color and
dbfdce36 19859 grub_video_get_active_render_target.
19860 (grub_video_get_info): Changed method to accept NULL pointer as an
19861 argument to allow detection of active video adapter.
19862
19863 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
19864 grub_video_vbe_unmap_color_int.
19865 Added grub_video_vbe_unmap_color and
19866 grub_video_vbe_get_active_render_target.
19867 (grub_video_vbe_adapter): Added unmap_color and
19868 get_active_render_target.
19869
f19dbdb7 19870 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 19871 with grub_video_vbe_unmap_color_int.
19872
19873 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
19874 (DEFAULT_NORMAL_COLOR): Likewise.
19875 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
19876 (DEFAULT_FG_COLOR): Removed.
19877 (DEFAULT_BG_COLOR): Likewise.
19878 (DEFAULT_CURSOR_COLOR): Changed value.
19879 (grub_virtual_screen): Added standard_color_setting,
19880 normal_color_setting, highlight_color_setting and term_color.
19881 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
19882 (bitmap_width): Added.
19883 (bitmap_height): Likewise.
19884 (bitmap): Likewise.
19885 (set_term_color): Likewise.
19886 (grub_virtual_screen_setup): Changed to use new terminal coloring
19887 settings.
19888 (grub_gfxterm_init): Added init for bitmap.
19889 (grub_gfxterm_fini): Added destroy for bitmap.
19890 (redraw_screen_rect): Updated to use background bitmap and new
19891 terminal coloring.
19892 (scroll_up): Added optimization for case when there is no bitmap.
19893 (grub_gfxterm_cls): Fixed to use correct background color.
19894 (grub_virtual_screen_setcolorstate): Changed to use new terminal
19895 coloring.
19896 (grub_virtual_screen_setcolor): Likewise.
19897 (grub_virtual_screen_getcolor): Added.
19898 (grub_gfxterm_background_image_cmd): Likewise.
19899 (grub_video_term): Added setcolor and getcolor.
19900 (MOD_INIT): Added registration of background_image command.
19901 (MOD_TERM): Added unregistration for background_image command.
19902
c3c20931 199032007-12-30 Pavel Roskin <proski@gnu.org>
19904
19905 * loader/multiboot_loader.c: Fix multiboot command
19906 unregistration. Fix all typos in the word "multiboot".
19907
df266716 199082007-12-29 Pavel Roskin <proski@gnu.org>
94239199 19909
19910 * util/grub.d/10_linux.in: Refactor search for initrd. Add
19911 support for initrd names used in Fedora.
19912
fc6e896c 199132007-12-26 Bean <bean123ch@gmail.com>
19914
19915 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
19916 (cpio_mod_SOURCES): New variable.
19917 (cpio_mod_CFLAGS): Likewise.
19918 (cpio_mod_LDFLAGS): Likewise.
19919
19920 * fs/cpio.c: New file.
19921
19922 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
19923
19924 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19925
19926 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19927
19928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19929
533110ad 199302007-12-25 Robert Millan <rmh@aybabtu.com>
19931
19932 * include/grub/term.h (struct grub_term): Add `getcolor' function.
19933 (grub_getcolor): New function.
19934
19935 * kern/term.c (grub_getcolor): New function.
19936 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
19937 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
19938 (print_entry): Set normal and highlight colors to
19939 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
19940 respectively, before printing and restore them to old
19941 values afterwards.
19942 (grub_menu_init_page): Likewise. Fill an additional colored space
19943 that would otherwise be left blank.
19944
19945 * term/efi/console.c (grub_console_getcolor): New function.
19946 (struct grub_console_term.getcolor): New variable.
19947 * term/i386/pc/console.c (grub_console_getcolor): New function.
19948 (struct grub_console_term.getcolor): New variable.
19949 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
19950 (struct grub_console_term.getcolor): New variable.
19951
19952 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
19953 (struct grub_console_term.setcolor): Remove variable.
19954 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
19955 (struct grub_console_term.setcolor): Remove variable.
19956 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
19957 (struct grub_console_term.setcolor): Remove variable.
19958 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
19959 (struct grub_console_term.setcolor): Remove variable.
19960
4931827f 199612007-12-25 Robert Millan <rmh@aybabtu.com>
19962
19963 * configure.ac: Search for possible unifont.hex locations, and
19964 define UNIFONT_HEX if found.
19965
19966 * Makefile.in (UNIFONT_HEX): Define variable.
19967 (DATA): Rename to ...
19968 (PKGLIB): ... this. Update all users.
19969 (PKGDATA): New variable.
19970 (pkgdata_IMAGES): Rename to ...
19971 (pkglib_IMAGES): ... this. Update all users.
19972 (pkgdata_MODULES): Rename to ...
19973 (pkglib_MODULES): ... this. Update all users.
19974 (pkgdata_PROGRAMS): Rename to ...
19975 (pkglib_PROGRAMS): ... this. Update all users.
19976 (pkgdata_DATA): Rename to ...
19977 (pkglib_DATA): ... this. Update all users.
19978 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
19979 (unicode.pff, ascii.pff): New rules.
19980 (all-local): Add `$(PKGDATA)' dependency.
19981 (install-local): Process `$(PKGDATA)'.
19982
19983 * util/update-grub_lib.in (font_path): Search for *.pff files in
19984 a few more locations, including `${pkgdata}'.
19985
57e57e31 199862007-12-23 Robert Millan <rmh@aybabtu.com>
19987
19988 Patch from Bean <bean123ch@gmail.com>:
19989 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
19990 `size'.
19991
4bc72aa9 199922007-12-21 Bean <bean123ch@gmail.com>
19993
19994 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
19995 (ntfscomp_mod_SOURCES): New variable.
19996 (ntfscomp_mod_CFLAGS): Likewise.
19997 (ntfscomp_mod_LDFLAGS): Likewise.
19998
19999 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
20000 (grub_probe_SOURCES): Likewise.
20001 (grub_emu_SOURCES): Likewise.
20002
20003 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20004 (grub_emu_SOURCES): Likewise.
20005
20006 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20007 (grub_emu_SOURCES): Likewise.
20008
20009 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20010 (grub_emu_SOURCES): Likewise.
20011
20012 * fs/ntfs.c (grub_ntfscomp_func): New variable.
20013 (read_run_list): Renamed to grub_ntfs_read_run_list.
20014 (decomp_nextvcn): Moved to ntfscomp.c.
20015 (decomp_getch): Likewise.
20016 (decomp_get16): Likewise.
20017 (decomp_block): Likewise.
20018 (read_block): Likewise.
20019 (read_data): Partially moved to ntfscomp.c.
20020 (fixup): Change unsigned to grub_uint16_t.
20021 (read_mft): Change unsigned long to grub_uint32_t.
20022 (read_attr): Likewise.
20023 (read_data): Likewise.
20024 (read_run_data): Likewise.
20025 (read_run_list): Likewise.
20026 (read_mft): Likewise.
20027
20028 * fs/ntfscomp.c: New file.
20029
20030 * include/grub/ntfs.h: New file.
20031
af680a87 200322007-12-16 Robert Millan <rmh@aybabtu.com>
20033
20034 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
20035 IDE disk check, since Linux is known to support 20 IDE disks.
20036 Reported by Colin Watson.
20037
84be7599 200382007-12-15 Bean <bean123ch@gmail.com>
20039
20040 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
20041 (lnxboot_img_SOURCES): New variable.
20042 (lnxboot_img_ASFLAGS): Likewise.
20043 (lnxboot_img_LDFLAGS): Likewise.
20044
20045 * boot/i386/pc/lnxboot.S: New file.
20046
6af9db01 200472007-11-24 Pavel Roskin <proski@gnu.org>
20048
20049 * configure.ac: Test if '--build-id=none' is supported by the
20050 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
20051 objcopy to generate incorrect binary files (binutils
20052 2.17.50.0.18-1 as shipped by Fedora 8).
20053 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
20054 linking, so that build ID doesn't break the test.
20055
7361cfe6 200562007-11-24 Pavel Roskin <proski@gnu.org>
20057
20058 * include/grub/i386/time.h: use "void" in the argument list
20059 of grub_cpu_idle().
20060 * include/grub/powerpc/time.h: Likewise.
20061 * include/grub/sparc64/time.h: Likewise.
20062
1593e10c 200632007-11-18 Christian Franke <franke@computer.org>
20064
20065 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
20066 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
20067 This fixes the problem that function keys did not work in grub-emu.
20068
3b8db1a8 200692007-11-18 Christian Franke <franke@computer.org>
20070
20071 * disk/host.c (grub_host_open): Remove attribute unused from
20072 name parameter. Add check for "host". This fixes the problem
20073 that grub-emu does not find partitions.
20074
2e29408d 200752007-11-18 Christian Franke <franke@computer.org>
20076
20077 * util/hostfs.c (is_dir): New function.
20078 (grub_hostfs_dir): Handle missing dirent.d_type case.
20079 (grub_hostfs_read): Add missing fseek().
20080 (grub_hostfs_label): Clear label pointer. This fixes a crash
20081 of grub-emu on "ls (host)".
20082
398cd047 200832007-11-18 Christian Franke <franke@computer.org>
20084
20085 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
20086 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
20087 to 64 bit boundary by default.
20088
c405c391 200892007-11-18 Bean <bean123ch@gmail.com>
20090
20091 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
20092 (hexdump_mod_SOURCES): New variable.
20093 (hexdump_mod_CFLAGS): Likewise.
20094 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 20095
c405c391 20096 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20097
20098 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20099
20100 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20101
20102 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20103
20104 * include/grub/hexdump.h: New file.
20105
20106 * commands/hexdump.c: New file.
20107
5cced7fd 201082007-11-10 Robert Millan <rmh@aybabtu.com>
20109
20110 * commands/i386/pc/play.c (beep_off): Switch order of arguments
20111 in grub_outb() calls.
20112 (beep_on): Likewise.
20113
8b714eb0 201142007-11-10 Christian Franke <franke@computer.org>
20115
20116 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
20117 (grub_menu_run): Likewise.
20118
ce0f1839 201192007-11-10 Robert Millan <rmh@aybabtu.com>
20120
20121 * include/grub/i386/efi/machine.h: New file.
20122 * include/grub/i386/linuxbios/machine.h: Likewise.
20123 * include/grub/i386/pc/machine.h: Likewise.
20124 * include/grub/powerpc/ieee1275/machine.h: Likewise.
20125 * include/grub/sparc64/ieee1275/machine.h: Likewise.
20126
20127 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
20128 (serial_hw_io_addr): New variable.
20129 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
20130 instead of `(unsigned short *) 0x400'.
20131
270c237d 201322007-11-10 Bean <bean123ch@gmail.com>
20133
20134 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
20135
a87783bf 201362007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
20137
20138 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
20139 (vga_mod_SOURCES): Added.
20140 (vga_mod_CFLAGS): Likewise.
20141 (vga_mod_LDFLAGS): Likewise.
20142
20143 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
20144 grub_outb() calls.
20145 (set_map_mask): Likewise.
20146 (set_read_map): Likewise.
20147 (set_read_address): Likewise.
20148 (vga_font): Removed variable.
20149 (get_vga_glyph): Removed function.
20150 (invalidate_char): Likewise.
20151 (write_char): Changed to use grub_font_get_glyph() for font
20152 information.
20153 (grub_vga_putchar): Likewise.
20154 (grub_vga_getcharwidth): Likewise.
20155
6433b448 201562007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
20157
20158 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
20159 flags.
20160 (pxeboot_img_LDFLAGS): Likewise.
20161 (diskboot_img_LDFLAGS): Likewise.
20162 (kernel_img_LDFLAGS): Likewise.
20163
49178511 201642007-11-06 Robert Millan <rmh@aybabtu.com>
20165
20166 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
20167 in grub_outb() calls.
20168 (serial_hw_init): Likewise.
20169
53b052de 201702007-11-05 Robert Millan <rmh@aybabtu.com>
20171
20172 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
20173 spaces. Skip non-regular files.
20174
5ab33bba 201752007-11-05 Robert Millan <rmh@aybabtu.com>
20176
20177 * kern/disk.c (grub_disk_firmware_fini)
20178 (grub_disk_firmware_is_tainted): New variables.
20179
20180 * include/grub/disk.h (grub_disk_firmware_fini)
20181 (grub_disk_firmware_is_tainted): Likewise.
20182
20183 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
20184 (grub_disk_biosdisk_fini): ... to here.
20185 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
20186 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
20187 is set. Register grub_disk_biosdisk_fini() in
20188 `grub_disk_firmware_fini'.
20189
20190 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
20191 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
20192 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
20193 to finish existing firmware disk interface.
20194
20195 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
20196 (ata_mod_SOURCES): New variable.
20197 (ata_mod_CFLAGS): Likewise.
20198 (ata_mod_LDFLAGS): Likewise.
20199
0149ab7c 202002007-11-05 Robert Millan <rmh@aybabtu.com>
20201
20202 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
20203 (grub_ata_wait): Reimplement using grub_millisleep().
20204
20205 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
20206 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
20207
be7ac41e 202082007-11-03 Marco Gerards <marco@gnu.org>
20209
20210 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
20211 (CRTC_ADDR_PORT): New macro.
20212 (CRTC_DATA_PORT): Likewise.
20213 (CRTC_CURSOR): Likewise.
20214 (CRTC_CURSOR_ADDR_HIGH): Likewise.
20215 (CRTC_CURSOR_ADDR_LOW): Likewise.
20216 (update_cursor): New function.
20217 (grub_console_real_putchar): Call `update_cursor'.
20218 (grub_console_gotoxy): Likewise.
20219 (grub_console_cls): Set the default color when clearing the
20220 screen.
20221 (grub_console_setcursor): Implemented.
20222
bb06ab2e 202232007-11-03 Marco Gerards <marco@gnu.org>
20224
20225 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
20226 become activate.
20227 (grub_ata_pio_write): Likewise.
20228
20229 (grub_atapi_identify): Wait after issuing an ATA command.
20230 (grub_atapi_packet): Likewise.
20231 (grub_ata_identify): Likewise.
20232 (grub_ata_readwrite): Likewise.
20233
cf8f780b 202342007-11-03 Marco Gerards <marco@gnu.org>
20235
20236 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
20237 (grub_ata_pio_write): Likewise.
20238 (grub_ata_readwrite): Use `grub_error', instead of
20239 returning `grub_errno'.
20240
ed649e54 202412007-11-03 Marco Gerards <marco@gnu.org>
20242
20243 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
20244 grub_ata_pio_write once for every single sector, instead of for
20245 multiple sectors.
20246
ca25d8f0 202472007-10-31 Robert Millan <rmh@aybabtu.com>
20248
20249 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
20250
20251 * conf/i386-linuxbios.rmk: New file.
20252
20253 * kern/i386/pc/hardware.c: Likewise.
20254 * term/i386/pc/at_keyboard.c: Likewise.
20255 * term/i386/pc/vga_text.c: Likewise.
20256
20257 * include/grub/i386/linuxbios/boot.h: Likewise.
20258 * include/grub/i386/linuxbios/console.h: Likewise.
20259 * include/grub/i386/linuxbios/init.h: Likewise.
20260 * include/grub/i386/linuxbios/kernel.h: Likewise.
20261 * include/grub/i386/linuxbios/loader.h: Likewise.
20262 * include/grub/i386/linuxbios/memory.h: Likewise.
20263 * include/grub/i386/linuxbios/serial.h: Likewise.
20264 * include/grub/i386/linuxbios/time.h: Likewise.
20265
20266 * kern/i386/linuxbios/init.c: Likewise.
20267 * kern/i386/linuxbios/startup.S: Likewise.
20268 * kern/i386/linuxbios/table.c: Likewise.
20269
e911ecc1 202702007-10-31 Marco Gerards <marco@gnu.org>
20271
20272 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
20273 (ata_mod_SOURCES): New variable.
20274 (ata_mod_CFLAGS): Likewise.
20275 (ata_mod_LDFLAGS): Likewise.
20276
20277 * disk/ata.c: New file.
20278
20279 * include/grub/disk.h (grub_disk_dev_id): Add
20280 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 20281
7f66d0e0 202822007-10-31 Robert Millan <rmh@aybabtu.com>
20283
20284 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
20285 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
20286
20287 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
20288 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
20289
20290 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
20291 `<grub/types.h>'.
20292
20293 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
20294
5cd7dd46 202952007-10-27 Robert Millan <rmh@aybabtu.com>
20296
3236ca65 20297 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 20298
2ebfc90f 202992007-10-22 Robert Millan <rmh@aybabtu.com>
20300
20301 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
20302 `"../realmode.S"'.
20303 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
20304
73fcb0f3 203052007-10-22 Robert Millan <rmh@aybabtu.com>
20306
20307 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
20308 (pkgdata_MODULES): Add `biosdisk.mod'.
20309 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
20310 variables.
20311
20312 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
20313 (grub_biosdisk_init): Replace with ...
20314 (GRUB_MOD_INIT(biosdisk)): ... this.
20315 (grub_biosdisk_fini): Replace with ...
20316 (GRUB_MOD_FINI(biosdisk)): ... this.
20317
20318 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
20319 (grub_machine_init): Remove call to grub_biosdisk_init().
20320 (grub_machine_fini): Remove call to grub_machine_fini().
20321
20322 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
20323
3381d274 203242007-10-22 Robert Millan <rmh@aybabtu.com>
20325
20326 * include/grub/time.h: New file.
20327 * include/grub/i386/time.h: Likewise.
20328 * include/grub/powerpc/time.h: Likewise.
20329 * include/grub/sparc64/time.h: Likewise.
20330
20331 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
20332 instances to ...
20333 (KERNEL_MACHINE_TIME_HEADER): ... this.
20334 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
20335 instances to ...
20336 (KERNEL_MACHINE_TIME_HEADER): ... this.
20337 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
20338 instances to ...
20339 (KERNEL_MACHINE_TIME_HEADER): ... this.
20340
20341 * kern/i386/efi/init.c: Include `<grub/time.h>'.
20342 (grub_millisleep): New function.
20343 * kern/i386/pc/init.c: Include `<grub/time.h>'.
20344 (grub_millisleep): New function.
20345 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
20346 Remove `grub/machine/time.h' include.
20347 (grub_millisleep): New function.
20348 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
20349 Remove `grub/machine/time.h' include.
20350 (grub_millisleep): New function.
20351
20352 * include/grub/misc.h (grub_div_roundup): New function.
20353
20354 * kern/misc.c: Include `<grub/time.h>'.
20355 (grub_millisleep_generic): New function.
20356
20357 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
20358 Add `time.h'.
20359 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
20360 Add `time.h'.
20361 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
20362 `machine/time.h'. Add `time.h'.
20363 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
20364
a39a0312 203652007-10-21 Robert Millan <rmh@aybabtu.com>
20366
20367 * include/grub/misc.h (grub_max): New function.
20368
2aad70e2 203692007-10-21 Robert Millan <rmh@aybabtu.com>
20370
20371 * util/misc.c (grub_util_info): Call fflush() before returning.
20372
54b71c4b 203732007-10-20 Robert Millan <rmh@aybabtu.com>
20374
20375 * genmk.rb (Image): Copy `extra_flags' from here ...
20376 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
20377
20378 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
20379 to `argc' and `args' arguments.
20380
a979f513 203812007-10-17 Robert Millan <rmh@aybabtu.com>
20382
20383 * kern/i386/loader.S: New file.
20384
20385 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
20386 * kern/i386/loader.S (grub_linux_prot_size)... to here.
20387 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
20388 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
20389 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
20390 * kern/i386/loader.S (grub_linux_real_addr)... to here.
20391 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
20392 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
20393 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
20394 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
20395 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
20396 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
20397 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
20398 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
20399
20400 * kern/i386/realmode.S: New file.
20401
20402 * kern/i386/pc/startup.S (protstack): Moved from here ...
20403 * kern/i386/realmode.S (protstack)... to here.
20404 * kern/i386/pc/startup.S (gdt): Moved from here ...
20405 * kern/i386/realmode.S (gdt)... to here.
20406 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
20407 * kern/i386/realmode.S (prot_to_real)... to here.
20408
20409 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
20410 `kern/i386/realmode.S'.
20411
825fc8fd 204122007-10-17 Robert Millan <rmh@aybabtu.com>
20413
20414 * include/grub/i386/loader.h: New file.
20415
20416 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
20417 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
20418 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
20419 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
20420 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
20421 * include/grub/i386/loader.h (grub_linux_prot_size)
20422 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
20423 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
20424 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
20425 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
20426
20427 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
20428
e179b2f4 204292007-10-15 Robert Millan <rmh@aybabtu.com>
20430
20431 * normal/misc.c (grub_normal_print_device_info): Do not probe for
20432 filesystem when dev->disk is unset.
20433 Do probe for filesystem even when dev->disk->has_partitions is set.
20434 In case a filesystem is found, always report it.
20435 In case it isn't, if dev->disk->has_partitions is set, report that
20436 a partition table was found instead of reporting that no filesystem
20437 could be identified.
20438
5db82af6 204392007-10-12 Robert Millan <rmh@aybabtu.com>
20440
20441 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
20442 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
20443
68f6ac74 20444 * include/grub/types.h (grub_host_to_target16): New macro.
20445 (grub_host_to_target32): Likewise.
20446 (grub_host_to_target64): Likewise.
20447 (grub_target_to_host16): Likewise.
20448 (grub_target_to_host32): Likewise.
20449 (grub_target_to_host64): Likewise.
5db82af6 20450
20451 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
20452 Renamed from to ...
20453 (GRUB_MOD_ALIGN): ...this. Update all users.
20454
68f6ac74 20455 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
20456 grub_host_to_target32.
20457 Replace grub_be_to_cpu32 with grub_target_to_host32.
20458 (load_modules): Likewise.
20459 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
20460 Replace grub_be_to_cpu32 with grub_target_to_host32.
20461 Replace grub_cpu_to_be16 with grub_host_to_target16.
20462 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 20463
3cf497cc 204642007-10-12 Robert Millan <rmh@aybabtu.com>
20465
20466 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
20467 * util/elf/grub-mkimage.c: ... here.
20468
20469 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
20470 `util/powerpc/ieee1275/grub-mkimage.c'.
20471
c8cc3692 204722007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 20473
c8cc3692 20474 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
20475 and make it easier to figure out.
20476 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
20477 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
20478 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
20479 leave us with less than HEAP_MIN_SIZE total heap.
20480 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 20481
5c58b791 204822007-10-03 Robert Millan <rmh@aybabtu.com>
20483
20484 * include/grub/i386/io.h: New file.
20485 * commands/i386/pc/play.c (inb): Removed.
20486 (outb): Removed.
20487 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20488 with grub_outb().
afcd2ef8 20489 * term/i386/pc/serial.c (inb): Removed.
20490 (outb): Removed.
20491 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20492 with grub_outb().
20493 * term/i386/pc/vga.c (inb): Removed.
20494 (outb): Removed.
20495 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20496 with grub_outb().
5c58b791 20497
1a477ed6 204982007-10-02 Robert Millan <rmh@aybabtu.com>
20499
20500 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
20501 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20502 Reported by Marcin Kurek.
20503
6b5d80fa 205042007-09-07 Robert Millan <rmh@aybabtu.com>
20505
20506 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
20507 SmartFirmware version updates (as released by Sven Luther), and avoid
20508 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
20509 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
20510 known broken.
20511
5618afbf 205122007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20513
20514 From Hitoshi Ozeki:
20515 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
20516 when merging two regions.
20517
6139dcd9 205182007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20519
508e39ee 20520 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
20521 * normal/completion.c (grub_normal_do_completion): Likewise.
20522 Reported by Hitoshi Ozeki.
20523
205242007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 20525
6139dcd9 20526 Do not use devices at boot in chainloading.
f19dbdb7 20527
6139dcd9 20528 * loader/i386/pc/chainloader.c (boot_drive): New variable.
20529 (boot_part_addr): Likewise.
20530 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
20531 with BOOT_DRIVE and BOOT_PART_ADDR.
20532 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
20533 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
20534
38da6516 205352007-08-29 Robert Millan <rmh@aybabtu.com>
20536
20537 Patch from Simon Peter <dn.tlp@gmx.net>:
20538 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
20539 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
20540 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
20541 util/i386/pc/grub-setup.c_DEPENDENCIES.
20542 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
20543 util/grub-probe.c_DEPENDENCIES.
20544 * conf/powerpc-ieee1275.rmk: Likewise.
20545
29d0928c 205462007-08-28 Robert Millan <rmh@aybabtu.com>
20547
20548 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
20549 to tell grub-mkdevicemap how to name devices.
20550 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
20551 feature).
20552
20553 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
20554 util/i386/get_disk_name.c.
20555 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
20556 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
20557 util/ieee1275/get_disk_name.c.
20558
20559 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
20560
20561 * DISTLIST: Add util/i386/get_disk_name.c and
20562 util/ieee1275/get_disk_name.c.
20563
20564 * util/grub-mkdevicemap.c: Replace device naming logic with
20565 grub_util_get_disk_name() calls.
20566
5a0d3cca 205672007-08-20 Robert Millan <rmh@aybabtu.com>
20568
20569 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
20570 (so that it works for both plural and singular quantities).
20571
8b72db2f 205722007-08-05 Robert Millan <rmh@aybabtu.com>
20573
20574 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
20575 so that [xz] isn't taken into account when determining order.
20576
352466bf 205772007-08-02 Marco Gerards <marco@gnu.org>
20578
20579 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
20580 `include/multiboot2.h', `include/grub/elfload.h',
20581 `include/multiboot.h', `include/grub/multiboot.h',
20582 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
20583 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
20584 `kern/elf.c', `loader/multiboot_loader.c',
20585 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
20586 `loader/i386/pc/multiboot2.c',
20587 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
20588 `util/i386/pc/grub-mkrescue.in'. Remove
20589 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
20590 `include/grub/i386/pc/util/biosdisk.h' and
20591 `include/grub/powerpc/ieee1275/multiboot.h'.
20592
8f096014 205932007-08-02 Bean <bean123ch@gmail.com>
20594
20595 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
20596 (ntfs_mod_SOURCES): New variable.
20597 (ntfs_mod_CFLAGS): Likewise.
20598 (ntfs_mod_LDFLAGS): Likewise.
20599
20600 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
20601 (grub_probe_SOURCES): Likewise.
20602 (grub_emu_SOURCES): Likewise.
20603
20604 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
20605 (grub_emu_SOURCES): Likewise.
20606
20607 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
20608 (grub_emu_SOURCES): Likewise.
f19dbdb7 20609
8f096014 20610 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
20611
20612 * fs/ntfs.c: New file.
20613
9959f7db 206142007-08-02 Bean <bean123ch@gmail.com>
20615
20616 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
20617
20618 * file.h (grub_file): Likewise.
20619
20620 * fshelp.h (grub_fshelp_read_file): Likewise.
20621
20622 * util/i386/pc/grub-setup.c (setup): Likewise.
20623 (save_first_sector): Likewise.
20624 (save_blocklists): Likewise.
f19dbdb7 20625
9959f7db 20626 * fs/affs.c (grub_affs_read_file): Likewise.
20627
20628 * fs/ext2.c (grub_ext2_read_file): Likewise.
20629
20630 * fs/fat.c (grub_fat_read_data): Likewise.
20631
20632 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
20633
20634 * fs/hfs.c (grub_hfs_read_file): Likewise.
20635
20636 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
20637
20638 * fs/jfs.c (grub_jfs_read_file): Likewise.
20639
20640 * fs/minix.c (grub_minix_read_file): Likewise.
20641
20642 * fs/sfs.c (grub_sfs_read_file): Likewise.
20643
20644 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 20645
9959f7db 20646 * fs/xfs.c (grub_xfs_read_file): Likewise.
20647
20648 * command/blocklist.c (read_blocklist): Likewise.
20649 (print_blocklist): Likewise.
20650
0a203f83 206512007-08-02 Marco Gerards <marco@gnu.org>
20652
20653 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
20654 `util/hostfs.c'.
20655
20656 * disk/host.c: New file.
20657
20658 * util/hostfs.c: Likewise.
20659
20660 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
20661 return `GRUB_ERR_BAD_FS'.
20662 * fs/sfs.c (grub_sfs_mount): Likewise.
20663 * fs/xfs.c (grub_xfs_mount): Likewise.
20664
20665 * include/grub/disk.h (enum grub_disk_dev_id): Add
20666 `GRUB_DISK_DEVICE_HOST_ID'.
20667
20668 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
20669
e5dfe777 206702007-07-24 Jerone Young <jerone@gmail.com>
20671
f19dbdb7 20672 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 20673 modules for compilation.
20674 * conf/powerpc-ieee1275.rmk: Likewise.
20675
20676 * include/multiboot.h: Move multiboot definitions to one file. Rename
20677 many definitions to not get grub specific.
20678 * include/multiboot2.h: Create header with multiboot 2 definitions.
20679 * include/grub/multiboot.h: Header for grub specific function
20680 prototypes and definitions.
20681 * include/grub/multiboot2.h: Likewise.
20682 * include/grub/multiboot_loader.h: Likewise.
20683 * include/grub/i386/pc/multiboot.h: Removed.
20684 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
20685
20686 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
20687 and 2 to allow for one multiboot and module commands.
20688 * loader/multiboot2.c: Add multiboot2 functionality.
20689 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
20690 and definition names.
20691 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
20692 2 functions.
20693 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
20694 ieee1275 specific multiboot2 code.
20695
20696 * kern/i386/pc/startup.S: Change headers and definition names for
20697 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
20698
daf0f0ba 206992007-07-22 Robert Millan <rmh@aybabtu.com>
20700
20701 * geninitheader.sh: Process file specified in first parameter rather
20702 than hardcoding grub_modules_init.lst.
fe6b695a 20703 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 20704 than hardcoding grub_modules_init.h.
20705
20706 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
20707 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
20708 grub_probe_init.[ch] and grub_setup_init.[ch].
20709
20710 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
20711 grub_modules_init.h with grub_emu_init.h.
20712 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
20713 grub_probe_init.[ch] files.
20714 * conf/i386-efi.rmk: Likewise.
20715 * conf/i386-pc.rmk: Likewise.
20716 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
20717 grub_setup_init.[ch] files.
20718
20719 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
20720 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
20721 to initialize modules rather than a list of hardcoded functions.
20722 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
20723 grub_init_all() to initialize modules rather than a list of hardcoded
20724 functions.
20725
54cdc1cc 207262007-07-22 Robert Millan <rmh@aybabtu.com>
20727
20728 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20729 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
20730
ad0686cc 207312007-07-22 Robert Millan <rmh@aybabtu.com>
20732
20733 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
20734 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
20735 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
20736 flag when running on SmartFirmware.
20737 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
20738 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
20739 was set.
20740
20741 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
20742 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
20743 rather than decreasing it.
20744
20745 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
20746 there's not enough space to do it, fail in the same way as when it
20747 can't be done because there are no partitions.
20748
20749 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
20750 when nvsetenv failed.
20751
969c02ec 207522007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
20753
20754 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
20755 because this rule is automatically generated.
20756 (grub-mkrescue): Removed for the same reason as above.
20757
5a79f472 207582007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
20759
20760 Migrate to GNU General Public License Version 3.
f19dbdb7 20761
5a79f472 20762 * COPYING: Replaced with the plain text version of GPLv3.
20763
20764 * config.guess: Updated from gnulib.
20765 * config.sub: Likewise.
20766
20767 * geninit.sh: Output a GPLv3 copyright notice.
20768 * geninitheader.sh: Likewise.
20769 * genmodsrc.sh: Likewise.
20770 * gensymlist.sh.in: Likewise.
20771
20772 * boot/i386/pc/boot.S: Upgraded to GPLv3.
20773 * boot/i386/pc/diskboot.S: Likewise.
20774 * boot/i386/pc/pxeboot.S: Likewise.
20775 * commands/blocklist.c: Likewise.
20776 * commands/boot.c: Likewise.
20777 * commands/cat.c: Likewise.
20778 * commands/cmp.c: Likewise.
20779 * commands/configfile.c: Likewise.
20780 * commands/echo.c: Likewise.
20781 * commands/help.c: Likewise.
20782 * commands/ls.c: Likewise.
20783 * commands/search.c: Likewise.
20784 * commands/terminal.c: Likewise.
20785 * commands/test.c: Likewise.
20786 * commands/videotest.c: Likewise.
20787 * commands/i386/cpuid.c: Likewise.
20788 * commands/i386/pc/halt.c: Likewise.
20789 * commands/i386/pc/play.c: Likewise.
20790 * commands/i386/pc/reboot.c: Likewise.
20791 * commands/i386/pc/vbeinfo.c: Likewise.
20792 * commands/i386/pc/vbetest.c: Likewise.
20793 * commands/ieee1275/halt.c: Likewise.
20794 * commands/ieee1275/reboot.c: Likewise.
20795 * commands/ieee1275/suspend.c: Likewise.
20796 * disk/loopback.c: Likewise.
20797 * disk/lvm.c: Likewise.
20798 * disk/raid.c: Likewise.
20799 * disk/efi/efidisk.c: Likewise.
20800 * disk/i386/pc/biosdisk.c: Likewise.
20801 * disk/ieee1275/ofdisk.c: Likewise.
20802 * font/manager.c: Likewise.
20803 * fs/affs.c: Likewise.
20804 * fs/ext2.c: Likewise.
20805 * fs/fat.c: Likewise.
20806 * fs/fshelp.c: Likewise.
20807 * fs/hfs.c: Likewise.
20808 * fs/hfsplus.c: Likewise.
20809 * fs/iso9660.c: Likewise.
20810 * fs/jfs.c: Likewise.
20811 * fs/minix.c: Likewise.
20812 * fs/sfs.c: Likewise.
20813 * fs/ufs.c: Likewise.
20814 * fs/xfs.c: Likewise.
20815 * hello/hello.c: Likewise.
20816 * include/grub/acorn_filecore.h: Likewise.
20817 * include/grub/arg.h: Likewise.
20818 * include/grub/bitmap.h: Likewise.
20819 * include/grub/boot.h: Likewise.
20820 * include/grub/cache.h: Likewise.
20821 * include/grub/device.h: Likewise.
20822 * include/grub/disk.h: Likewise.
20823 * include/grub/dl.h: Likewise.
20824 * include/grub/elfload.h: Likewise.
20825 * include/grub/env.h: Likewise.
20826 * include/grub/err.h: Likewise.
20827 * include/grub/file.h: Likewise.
20828 * include/grub/font.h: Likewise.
20829 * include/grub/fs.h: Likewise.
20830 * include/grub/fshelp.h: Likewise.
20831 * include/grub/gzio.h: Likewise.
20832 * include/grub/hfs.h: Likewise.
20833 * include/grub/kernel.h: Likewise.
20834 * include/grub/loader.h: Likewise.
20835 * include/grub/lvm.h: Likewise.
20836 * include/grub/misc.h: Likewise.
20837 * include/grub/mm.h: Likewise.
20838 * include/grub/net.h: Likewise.
20839 * include/grub/normal.h: Likewise.
20840 * include/grub/parser.h: Likewise.
20841 * include/grub/partition.h: Likewise.
20842 * include/grub/pc_partition.h: Likewise.
20843 * include/grub/raid.h: Likewise.
20844 * include/grub/rescue.h: Likewise.
20845 * include/grub/script.h: Likewise.
20846 * include/grub/setjmp.h: Likewise.
20847 * include/grub/symbol.h: Likewise.
20848 * include/grub/term.h: Likewise.
20849 * include/grub/terminfo.h: Likewise.
20850 * include/grub/tparm.h: Likewise.
20851 * include/grub/types.h: Likewise.
20852 * include/grub/video.h: Likewise.
20853 * include/grub/efi/api.h: Likewise.
20854 * include/grub/efi/chainloader.h: Likewise.
20855 * include/grub/efi/console.h: Likewise.
20856 * include/grub/efi/console_control.h: Likewise.
20857 * include/grub/efi/disk.h: Likewise.
20858 * include/grub/efi/efi.h: Likewise.
20859 * include/grub/efi/pe32.h: Likewise.
20860 * include/grub/efi/time.h: Likewise.
20861 * include/grub/i386/linux.h: Likewise.
20862 * include/grub/i386/setjmp.h: Likewise.
20863 * include/grub/i386/types.h: Likewise.
20864 * include/grub/i386/efi/kernel.h: Likewise.
20865 * include/grub/i386/efi/loader.h: Likewise.
20866 * include/grub/i386/efi/time.h: Likewise.
20867 * include/grub/i386/pc/biosdisk.h: Likewise.
20868 * include/grub/i386/pc/boot.h: Likewise.
20869 * include/grub/i386/pc/chainloader.h: Likewise.
20870 * include/grub/i386/pc/console.h: Likewise.
20871 * include/grub/i386/pc/init.h: Likewise.
20872 * include/grub/i386/pc/kernel.h: Likewise.
20873 * include/grub/i386/pc/loader.h: Likewise.
20874 * include/grub/i386/pc/memory.h: Likewise.
20875 * include/grub/i386/pc/multiboot.h: Likewise.
20876 * include/grub/i386/pc/serial.h: Likewise.
20877 * include/grub/i386/pc/time.h: Likewise.
20878 * include/grub/i386/pc/vbe.h: Likewise.
20879 * include/grub/i386/pc/vbeblit.h: Likewise.
20880 * include/grub/i386/pc/vbefill.h: Likewise.
20881 * include/grub/i386/pc/vbeutil.h: Likewise.
20882 * include/grub/i386/pc/vga.h: Likewise.
20883 * include/grub/ieee1275/ieee1275.h: Likewise.
20884 * include/grub/ieee1275/ofdisk.h: Likewise.
20885 * include/grub/powerpc/libgcc.h: Likewise.
20886 * include/grub/powerpc/setjmp.h: Likewise.
20887 * include/grub/powerpc/types.h: Likewise.
20888 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
20889 * include/grub/powerpc/ieee1275/console.h: Likewise.
20890 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
20891 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20892 * include/grub/powerpc/ieee1275/loader.h: Likewise.
20893 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
20894 * include/grub/powerpc/ieee1275/time.h: Likewise.
20895 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
20896 * include/grub/sparc64/libgcc.h: Likewise.
20897 * include/grub/sparc64/setjmp.h: Likewise.
20898 * include/grub/sparc64/types.h: Likewise.
20899 * include/grub/sparc64/ieee1275/console.h: Likewise.
20900 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20901 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20902 * include/grub/sparc64/ieee1275/time.h: Likewise.
20903 * include/grub/util/biosdisk.h: Likewise.
20904 * include/grub/util/getroot.h: Likewise.
20905 * include/grub/util/lvm.h: Likewise.
20906 * include/grub/util/misc.h: Likewise.
20907 * include/grub/util/raid.h: Likewise.
20908 * include/grub/util/resolve.h: Likewise.
20909 * io/gzio.c: Likewise.
20910 * kern/device.c: Likewise.
20911 * kern/disk.c: Likewise.
20912 * kern/dl.c: Likewise.
20913 * kern/elf.c: Likewise.
20914 * kern/env.c: Likewise.
20915 * kern/err.c: Likewise.
20916 * kern/file.c: Likewise.
20917 * kern/fs.c: Likewise.
20918 * kern/loader.c: Likewise.
20919 * kern/main.c: Likewise.
20920 * kern/misc.c: Likewise.
20921 * kern/mm.c: Likewise.
20922 * kern/parser.c: Likewise.
20923 * kern/partition.c: Likewise.
20924 * kern/rescue.c: Likewise.
20925 * kern/term.c: Likewise.
20926 * kern/efi/efi.c: Likewise.
20927 * kern/efi/init.c: Likewise.
20928 * kern/efi/mm.c: Likewise.
20929 * kern/i386/dl.c: Likewise.
20930 * kern/i386/efi/init.c: Likewise.
20931 * kern/i386/efi/startup.S: Likewise.
20932 * kern/i386/pc/init.c: Likewise.
20933 * kern/i386/pc/lzo1x.S: Likewise.
20934 * kern/i386/pc/startup.S: Likewise.
20935 * kern/ieee1275/ieee1275.c: Likewise.
20936 * kern/powerpc/cache.S: Likewise.
20937 * kern/powerpc/dl.c: Likewise.
20938 * kern/powerpc/ieee1275/cmain.c: Likewise.
20939 * kern/powerpc/ieee1275/crt0.S: Likewise.
20940 * kern/powerpc/ieee1275/init.c: Likewise.
20941 * kern/powerpc/ieee1275/openfw.c: Likewise.
20942 * kern/sparc64/cache.S: Likewise.
20943 * kern/sparc64/dl.c: Likewise.
20944 * kern/sparc64/ieee1275/init.c: Likewise.
20945 * kern/sparc64/ieee1275/openfw.c: Likewise.
20946 * loader/efi/chainloader.c: Likewise.
20947 * loader/efi/chainloader_normal.c: Likewise.
20948 * loader/i386/efi/linux.c: Likewise.
20949 * loader/i386/efi/linux_normal.c: Likewise.
20950 * loader/i386/pc/chainloader.c: Likewise.
20951 * loader/i386/pc/chainloader_normal.c: Likewise.
20952 * loader/i386/pc/linux.c: Likewise.
20953 * loader/i386/pc/linux_normal.c: Likewise.
20954 * loader/i386/pc/multiboot.c: Likewise.
20955 * loader/i386/pc/multiboot_normal.c: Likewise.
20956 * loader/powerpc/ieee1275/linux.c: Likewise.
20957 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20958 * normal/arg.c: Likewise.
20959 * normal/cmdline.c: Likewise.
20960 * normal/command.c: Likewise.
20961 * normal/completion.c: Likewise.
20962 * normal/execute.c: Likewise.
20963 * normal/function.c: Likewise.
20964 * normal/lexer.c: Likewise.
20965 * normal/main.c: Likewise.
20966 * normal/menu.c: Likewise.
20967 * normal/menu_entry.c: Likewise.
20968 * normal/misc.c: Likewise.
20969 * normal/parser.y: Likewise.
20970 * normal/script.c: Likewise.
20971 * normal/i386/setjmp.S: Likewise.
20972 * normal/powerpc/setjmp.S: Likewise.
20973 * normal/sparc64/setjmp.S: Likewise.
20974 * partmap/acorn.c: Likewise.
20975 * partmap/amiga.c: Likewise.
20976 * partmap/apple.c: Likewise.
20977 * partmap/gpt.c: Likewise.
20978 * partmap/pc.c: Likewise.
20979 * partmap/sun.c: Likewise.
20980 * term/gfxterm.c: Likewise.
20981 * term/terminfo.c: Likewise.
20982 * term/efi/console.c: Likewise.
20983 * term/i386/pc/console.c: Likewise.
20984 * term/i386/pc/serial.c: Likewise.
20985 * term/i386/pc/vesafb.c: Likewise.
20986 * term/i386/pc/vga.c: Likewise.
20987 * term/ieee1275/ofconsole.c: Likewise.
20988 * util/biosdisk.c: Likewise.
20989 * util/console.c: Likewise.
20990 * util/genmoddep.c: Likewise.
20991 * util/getroot.c: Likewise.
20992 * util/grub-emu.c: Likewise.
20993 * util/grub-mkdevicemap.c: Likewise.
20994 * util/grub-probe.c: Likewise.
20995 * util/lvm.c: Likewise.
20996 * util/misc.c: Likewise.
20997 * util/raid.c: Likewise.
20998 * util/resolve.c: Likewise.
20999 * util/update-grub.in: Likewise.
21000 * util/update-grub_lib.in: Likewise.
21001 * util/grub.d/00_header.in: Likewise.
21002 * util/grub.d/10_hurd.in: Likewise.
21003 * util/grub.d/10_linux.in: Likewise.
21004 * util/i386/efi/grub-install.in: Likewise.
21005 * util/i386/efi/grub-mkimage.c: Likewise.
21006 * util/i386/pc/grub-install.in: Likewise.
21007 * util/i386/pc/grub-mkimage.c: Likewise.
21008 * util/i386/pc/grub-mkrescue.in: Likewise.
21009 * util/i386/pc/grub-setup.c: Likewise.
21010 * util/i386/pc/misc.c: Likewise.
21011 * util/powerpc/ieee1275/grub-install.in: Likewise.
21012 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
21013 * util/powerpc/ieee1275/misc.c: Likewise.
21014 * video/bitmap.c: Likewise.
21015 * video/video.c: Likewise.
21016 * video/i386/pc/vbe.c: Likewise.
21017 * video/i386/pc/vbeblit.c: Likewise.
21018 * video/i386/pc/vbefill.c: Likewise.
21019 * video/i386/pc/vbeutil.c: Likewise.
21020 * video/readers/tga.c: Likewise.
21021
3572d015 210222007-07-02 Robert Millan <rmh@aybabtu.com>
21023
21024 * conf/i386-efi.rmk: Replace obsolete reference to
21025 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
21026 with util/getroot.c.
21027 * conf/powerpc-ieee1275.rmk: Likewise.
21028 * conf/sparc64-ieee1275.rmk: Likewise.
21029
21030 * util/grub-emu.c (main): Fix unchecked pointer handling.
21031
2c2a681b 210322007-07-02 Robert Millan <rmh@aybabtu.com>
21033
21034 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
21035 invocation to fail, in order to support partition-less media.
21036
21037 * util/i386/pc/grub-install.in: Likewise.
21038
21039 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
21040 which fs or partmap modules are needed (akin to its sister scripts).
21041
21042 Also use grub-probe to get rid of unportable /proc/mounts check.
21043
21044 Print the same informational message that the other scripts do, before
fe6b695a 21045 exiting.
2c2a681b 21046
6193defe 210472007-06-23 Robert Millan <rmh@aybabtu.com>
21048
fe6b695a 21049 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 21050 a font file can be found and, if so, echo the GRUB path to it.
21051
21052 * util/update-grub.in: Handle multiple terminals depending on user
21053 input, platform availability and font file presence. Propagate
21054 variables of our findings to /etc/grub.d/ children.
21055
21056 * util/grub.d/00_header.in: Handle multiple terminals, based on
21057 environment setup by update-grub.
21058
eface1dc 210592007-06-23 Robert Millan <rmh@aybabtu.com>
21060
ba50d28f 21061 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 21062
bf697e28 210632007-06-21 Robert Millan <rmh@aybabtu.com>
21064
21065 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
21066 indicate end of data section in kernel image.
21067 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
21068 GRUB_KERNEL_MACHINE_DATA_END.
21069
21070 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
21071 space for it.
21072 * kern/i386/efi/startup.S: Likewise.
21073
21074 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
21075 during image generation. Implement --prefix option to override this
21076 patch.
21077 * util/i386/efi/grub-mkimage.c: Likewise.
21078
21079 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
21080 code to make path relative to its root into a separate function.
21081
21082 * util/i386/pc/grub-install.in: Use newly provided
21083 make_system_path_relative_to_its_root() to convert ${grubdir}, then
21084 pass the result to grub-install --prefix.
21085
baa574b4 210862007-06-13 Robert Millan <rmh@aybabtu.com>
21087
21088 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
21089 DEFAULT_DEVICE_MAP.
21090 * util/grub-emu.c: Use above definitions from misc.h instead of
21091 defining them.
21092 * util/grub-mkdevicemap.c: Likewise.
21093 * util/i386/pc/grub-setup.c: Likewise.
21094 * util/grub-probe.c: Likewise.
21095 (probe): Abort with grub_util_error() when either
21096 grub_guess_root_device or grub_util_get_grub_dev fails.
21097
0215dcbf 210982007-06-12 Robert Millan <rmh@aybabtu.com>
21099
21100 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
21101 "pager" assignment.
21102 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
21103 "pcdata".
21104 * util/grub-probe.c (probe): Likewise for "drive_name".
21105
8af2ab7b 211062007-06-11 Robert Millan <rmh@aybabtu.com>
21107
21108 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
21109 not just the cdrom one.
21110
59d31694 211112007-06-11 Robert Millan <rmh@aybabtu.com>
21112
21113 * util/i386/pc/grub-mkrescue.in: Add "set -e".
21114 Add --pkglibdir=DIR option to override pkglibdir.
21115 Mention --image-type=TYPE in help output.
21116 Fix --grub-mkimage (it was a no-op).
fe6b695a 21117 Abort gracefully when no parameter is given.
59d31694 21118
7ee367e4 211192007-06-11 Robert Millan <rmh@aybabtu.com>
21120
21121 * util/i386/pc/grub-mkrescue.in: New file.
21122 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
21123 * Makefile.in: Handle bin_SCRIPTS.
21124
29b0ed46 211252007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
21126
21127 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
21128 list of video modes.
21129
c0f90770 211302007-06-06 Robert Millan <rmh@aybabtu.com>
21131
21132 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
21133 file doesn't exist, or if it is in a filesystem grub can't read.
21134
21135 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
21136 not abort if GRUB_DRIVE could not be defined. Rearrange generated
21137 header comment to fit in 80 columns when the variables are resolved.
21138
21139 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
21140 could be identified by update-grub. Remove redundant check for
fe6b695a 21141 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 21142 handles that).
21143
fb36dc26 211442007-06-04 Robert Millan <rmh@aybabtu.com>
21145
21146 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
21147
21148 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
21149
21150 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
21151
0c68c93e 211522007-06-04 Robert Millan <rmh@aybabtu.com>
21153
21154 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
21155
21156 * include/grub/partition.h: Declare grub_apple_partition_map_init and
21157 grub_apple_partition_map_fini.
21158
21159 * util/biosdisk.c
21160 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
21161 to access >2 TiB disks).
21162
21163 Print disk->total_sectors with %llu instead of %lu, since this
21164 variable is always 64-bit (prevents wrong disk size from being displayed
21165 on either >2 TiB disk or big-endian CPU).
21166
21167 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
21168 into a generic case that supports all (sane) partition maps.
21169
21170 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
21171 breaks big-endian.
21172
21173 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
21174 and grub_apple_partition_map_fini() after that.
21175
0f23eb74 211762007-06-01 Robert Millan <rmh@aybabtu.com>
21177
21178 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
21179
21180 * util/grub.d/00_header.in: Only enable gfxterm when
21181 convert_system_path_to_grub_path() succeeds.
21182
42c71976 211832007-05-20 Robert Millan <rmh@aybabtu.com>
21184
21185 * util/update-grub_lib.in: New file.
21186 * DISTLIST: Add update-grub_lib.in.
21187 * conf/common.rmk: Generate update-grub_lib and install it in
21188 $(lib_DATA).
21189 * Makefile.in: Add install routine for $(lib_DATA).
21190
21191 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
21192 function provided by update-grub_lib to support arbitrary paths of
21193 unifont.pff.
21194 * util/update-grub.in: Use convert_system_path_to_grub_path() to
21195 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
21196
5beb2291 211972007-05-19 Robert Millan <rmh@aybabtu.com>
21198
21199 * commands/i386/cpuid.c: New module.
21200 * DISTLIST: Add it.
21201 * conf/i386-efi.rmk: Enable cpuid.mod.
21202 * conf/i386-pc.rmk: Likewise.
21203
7262eca1 212042007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
21205
21206 * kern/disk.c (grub_disk_read): Check return value of
21207 grub_realloc().
21208
260ba823 212092007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
21210
21211 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
21212 arrays.
21213 * disk/raid.c (grub_raid_open): Likewise.
21214
1ecb6cf2 212152007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
21216
21217 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
21218 stack instead of on the heap.
21219
21220 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
21221 before doing a read on it.
21222
21223 * configure.ac: Only use -fno-stack-protector for the target
21224 environment.
f19dbdb7 21225
21c8cbb1 212262007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
21227
21228 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
21229 __attribute_ ((unused)) to mode_type argument.
21230
21231 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 21232
21c8cbb1 21233 * kern/misc.c (memcmp): Fix prototype.
21234
21235 * include/grub/partition.h [GRUB_UTIL]
21236 (grub_gpt_partition_map_init): Add prototype.
21237 (grub_gpt_partition_map_fini): Likewise.
21238
21239 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
21240 at the right place.
21241
21242 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
21243 (grub_fat_read_data): Likewise.
21244 (grub_fat_find_dir): Likewise.
21245
21246 * font/manager.c (find_glyph): Make table a const.
21247 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 21248
849d55d3 212492007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
21250
21251 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
21252 code, first search for device in /dev/mapper, then in /dev.
21253 (grub_util_get_grub_dev): New function.
21254 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
21255 prototype.
21256 * util/grub-probe.c (probe): Remove check for RAID, call
21257 grub_util_get_grub_dev() instead of
21258 grub_util_biosdisk_get_grub_dev().
21259 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
21260 grub_util_biosdisk_get_grub_dev().
21261 * util/i386/pc/grub-setup.c (main): Likewise.
21262
8fff7c2f 212632007-05-16 Robert Millan <rmh@aybabtu.com>
21264
21265 * DISTLIST: Update for the latest changes.
21266 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
21267 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
21268 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
21269 grub/util/biosdisk.h.
21270 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
21271 grub/util/biosdisk.h.
21272
48e12b52 212732007-05-16 Robert Millan <rmh@aybabtu.com>
21274
21275 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
21276
46b9d128 212772007-05-16 Robert Millan <rmh@aybabtu.com>
21278
21279 * util/i386/efi/grub-install.in: New.
21280 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
21281 newly added grub-install.
21282 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
21283 include.
21284 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
21285 grub/util/biosdisk.h.
21286 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
21287 grub/util/biosdisk.h.
21288
2d1a40a9 212892007-05-16 Robert Millan <rmh@aybabtu.com>
21290
21291 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
21292 * include/grub/util/biosdisk.h: ... here.
21293 * util/i386/pc/biosdisk.c: Moved to ...
21294 * util/biosdisk.c: ... here.
21295 * util/i386/pc/getroot.c: Moved to ...
21296 * util/getroot.c: ... here.
21297 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
21298 * util/grub-mkdevicemap.c: ... here.
21299 * util/i386/pc/grub-probe.c: Moved to ...
21300 * util/grub-probe.c: ... here.
21301
9e26e3bc 213022007-05-15 Robert Millan <rmh@aybabtu.com>
21303
21304 * util/update-grub.in: Remove duplicated line in grub.cfg header
21305 message.
21306
57f96397 213072007-05-13 Robert Millan <rmh@aybabtu.com>
21308
21309 * util/update-grub.in: Fix a few assumptions about the devices holding
21310 /, /boot and /boot/grub being the same.
21311 * util/grub.d/00_header.in: Likewise.
21312 * util/grub.d/10_hurd.in: Likewise.
21313 * util/grub.d/10_linux.in: Likewise.
21314
21315 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
21316 patterns. Use that to define the `.old' suffix as older than `'.
21317
21318 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
21319
21320 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
21321 the grub.cfg header message.
21322
2e610d62 213232007-05-11 Robert Millan <rmh@aybabtu.com>
21324
21325 * util/update-grub.in: Create device.map if it doesn't already exist,
21326 before attempting to run grub-probe.
21327 Check for grub-probe and grub-mkdevicemap with the same code
21328 grub-install is using.
21329 Remove test mode.
21330
3f6a10ef 213312007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
21332
21333 * Makefile.in: Add the datarootdir autoconf variable.
21334
02e7b75e 213352007-05-09 Robert Millan <rmh@aybabtu.com>
21336
21337 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 21338 fail gracefully if dev->disk->partition == NULL.
02e7b75e 21339
75f396cc 213402007-05-07 Robert Millan <rmh@aybabtu.com>
21341
21342 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
21343 determine partition map module.
21344 * util/i386/pc/grub-install.in: Use this feature to decide which
21345 partition module to load, instead of hardcoding pc and gpt.
21346
da65cb36 213472007-05-07 Robert Millan <rmh@aybabtu.com>
21348
21349 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
21350 source directory differs from build directory.
21351
b57d6a91 213522007-05-05 Robert Millan <rmh@aybabtu.com>
21353
21354 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
21355 initialisation.
21356
509d00f1 213572007-05-05 Robert Millan <rmh@aybabtu.com>
21358
21359 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
21360
c48f23ef 213612007-05-05 Robert Millan <rmh@aybabtu.com>
21362
21363 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
21364 command-line arguments via ${GRUB_CMDLINE_LINUX}.
21365
20b97658 213662007-05-05 Robert Millan <rmh@aybabtu.com>
21367
21368 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
21369 (grub_probe_SOURCES): Likewise.
21370 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
21371 GPT and initialize dos_part and bsd_part accordingly.
21372 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
21373 install_bsd_part.
21374 (main): Activate gpt module for use during partition identification,
21375 and deactivate it afterwards.
21376 * util/i386/pc/grub-install.in: Add gpt module to core.img.
21377 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
21378 partition identification, and deactivate it afterwards.
21379
99123174 213802007-05-05 Robert Millan <rmh@aybabtu.com>
21381
21382 * term/i386/pc/console.c (grub_console_fini): Call
21383 grub_term_set_current() before grub_term_unregister().
21384
ebd97f6e 213852007-05-04 Robert Millan <rmh@aybabtu.com>
21386
21387 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
21388 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
21389 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
21390 and update-grub_DATA.
21391 * conf/common.rmk: Build and install update-grub components.
21392 * conf/common.mk: Regenerate.
21393 * util/update-grub.in: New. Core of update-grub.
21394 * util/grub.d/00_header.in: New. Generates grub.cfg header.
21395 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
21396 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
21397 * util/grub.d/README: New. Document grub.d directory layout.
21398
b06a264d 213992007-05-01 Robert Millan <rmh@aybabtu.com>
21400
21401 * util/grub-emu.c: Move initialization functions
21402 grub_util_biosdisk_init() and grub_init_all() before
21403 grub_util_biosdisk_get_grub_dev(), which relies on them.
21404
41f0050e 214052007-04-19 Robert Millan <rmh@aybabtu.com>
21406
21407 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
21408 it is used later.
21409
04582bb3 214102007-04-18 Jerone Young <jerone@gmail.com>
21411
f19dbdb7 21412 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 21413 stanza.
21414
08db4632 214152007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 21416
08db4632 21417 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
21418 continue on and look for device node with real device name.
21419
801b76be 214202007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 21421
fe6b695a 21422 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 21423 ability.
21424 * Makefile.in: Add autoconf package transformation code.
21425 * util/i386/pc/grub-install.in: Likewise.
21426 * util/powerpc/ieee1275/grub-install.in: Likewise.
21427
6795c4e1 214282007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
21429
21430 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
21431 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
21432 (EXT2_REVISION): Likewise.
21433 (EXT2_INODE_SIZE): Likewise.
21434 (struct grub_ext2_block_group): Added a missing member
21435 "used_dirs".
21436 (grub_ext2_read_inode): Divide by the inode size in a superblock
21437 instead of 128 to obtain INODES_PER_BLOCK.
21438 Use the macro EXT2_INODE_SIZE instead of directly using
21439 SBLOCK->INODE_SIZE.
21440
d70af616 214412007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
21442
21443 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
21444 superblock instead of the structure size to compute an
21445 offset. This fixes the problem that GRUB could not read a
21446 filesystem when inode size is different from 128-byte.
21447
3b801603 214482007-03-05 Marco Gerards <marco@gnu.org>
21449
21450 * normal/main.c (read_config_file): When "menu" is not set, create
21451 an initial context.
21452
4785bfe4 214532007-02-21 Hollis Blanchard <hollis@penguinppc.org>
21454
21455 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
21456 (HEAP_LIMIT): New macro.
21457 (grub_claim_heap): Claim memory up to `heaplimit'.
21458
a0cbb023 214592007-02-21 Hollis Blanchard <hollis@penguinppc.org>
21460
21461 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
21462 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
21463 (_start): Likewise.
21464 (grub_arch_modules_addr): Return address after `_end'.
21465 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
21466 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
21467 (add_segments): Calculate `_end' from phdr size and location.
21468 (ALIGN_UP): Moved to ...
21469 * include/grub/misc.h: here.
21470 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21471 New macro.
21472 (GRUB_IEEE1275_MODULE_BASE): Removed.
21473
fd7d8eba 214742007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21475
21476 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
21477 loop boundary.
21478
9b09e6fc 214792007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21480
21481 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
21482 All users updated.
21483 (grub_elf64_load_hook_t): Likewise.
21484 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
21485 debug output.
21486
3ce27299 214872007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21488
21489 * kern/mm.c: Update copyright.
21490 (grub_mm_debug): Correct syntax error.
21491 (grub_mm_dump_free): New function.
21492 (grub_debug_free): Call `grub_free'.
21493 * include/grub/mm.h: Update copyright.
21494 (grub_mm_dump_free): Add declaration.
21495
077d5fee 214962007-02-12 Hollis Blanchard <hollis@penguinppc.org>
21497
21498 * include/grub/ieee1275/ieee1275.h: Update copyright.
21499 * kern/powerpc/ieee1275/init.c: Likewise.
21500 * kern/powerpc/ieee1275/openfw.c: Likewise.
21501
21502 * loader/powerpc/ieee1275/linux.c: Likewise.
21503 * include/grub/elfload.h: Likewise.
21504 * kern/elf.c: Likewise.
21505 (grub_elf32_load): Pass `base' and `size' parameters. Update all
21506 callers.
21507 (grub_elf64_load): Likewise.
21508 (grub_elf32_load_segment): Move to a nested function.
21509 (grub_elf64_load_segment): Likewise.
21510
dc946850 215112007-02-12 Hollis Blanchard <hollis@penguinppc.org>
21512
21513 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
21514 prototype.
21515 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
21516 (grub_heap_len): Likewise.
21517 (HEAP_SIZE): New macro.
21518 (grub_claim_heap): New function.
21519 (grub_machine_init): Don't claim heap directly. Call
21520 `grub_claim_heap'.
21521 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
21522 (grub_available_iterate): New function.
21523
baa2a121 215242007-02-03 Thomas Schwinge <tschwinge@gnu.org>
21525
21526 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
21527 * configure.ac: Use it for testing the HOST and TARGET compilers.
21528
4fe9862e 215292006-12-13 Thomas Schwinge <tschwinge@gnu.org>
21530
21531 * Makefile.in (enable_grub_emu): New variable.
21532 * configure.ac (--enable-grub-emu): New option.
21533 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
21534 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
21535 * conf/i386-pc.rmk: Likewise.
21536 * conf/powerpc-ieee1275.rmk: Likewise.
21537 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
21538
a8aa5762 215392006-12-12 Marco Gerards <marco@gnu.org>
21540
21541 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
21542
21543 * kern/env.c (grub_env_unset): Don't free the member `value' when
21544 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
21545 pointer.
21546
21547 * normal/main.c (current_menu): Removed.
21548 (free_menu): Unset the `menu' environment variable.
21549 (grub_normal_menu_addentry): Make use of the environment variable
21550 `menu', instead of using the global `current_menu'. Allocate
21551 memory for the sourcecode of this entry.
21552 (read_config_file): New argument `nested', changed all callers.
21553 Only in the case of a new context, initialize a new menu. Set the
21554 `menu' environment variable.
21555 (grub_normal_execute): Don't set and unset the environment
21556 variable `menu' here anymore. Only free the menu when leaving the
21557 context.
21558
21559 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
21560 leak.
21561
957b3a3e 215622006-12-11 Marco Gerards <marco@gnu.org>
21563
21564 * normal/menu_entry.c (run): Fix off by one bug so the last line
21565 is executed. Move the loader check to outside the loop.
21566
ef875714 215672006-12-08 Hollis Blanchard <hollis@penguinppc.org>
21568
21569 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
21570
4e739985 215712006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
21572
21573 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
21574 the number of sectors. Reported by Andrey Shuvikov
21575 <mr_hyro@yahoo.com>.
f19dbdb7 21576
790707f2 215772006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
21578
21579 * kern/disk.c (grub_disk_read): When there is a read error, always
21580 try to read only the necessary data.
f19dbdb7 21581
790707f2 21582 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
21583 disk/raid.c.
21584 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
21585 prototype.
21586 [GRUB_UTIL] (grub_raid_fini): Likewise.
21587 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 21588 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 21589 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
21590 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
21591 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
21592 and grub_raid_fini().
f19dbdb7 21593
03e58196 215942006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
21595
21596 * include/grub/types.h (__unused): Rename to UNUSED.
21597 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
21598 (grub_elf64_size): Likewise.
f19dbdb7 21599
ae4f23bf 216002006-11-03 Hollis Blanchard <hollis@penguinppc.org>
21601
21602 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
21603 grub_error_push and grub_error_pop in the error-handling path.
21604 (grub_elf32_load_segment): Only call grub_file_read with non-zero
21605 length.
21606
2166cc83 216072006-11-03 Hollis Blanchard <hollis@penguinppc.org>
21608
21609 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
21610 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21611 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21612 (kernel_elf_SOURCES): Likewise.
21613 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
21614 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
21615 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21616 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21617 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
21618 (elf_mod_SOURCES): New variable.
21619 (elf_mod_CFLAGS): Likewise.
21620 (elf_mod_LDFLAGS): Likewise.
21621 * include/grub/types.h (__unused): New macro.
21622 * include/grub/elfload.h: New file.
21623 * kern/elf.c: Likewise.
21624 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
21625 (ELF32_LOADMASK): New macro.
21626 (ELF64_LOADMASK): Likewise.
21627 (vmlinux): Removed.
21628 (grub_linux_load32): New function.
21629 (grub_linux_load64): Likewise.
21630 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
21631 Use grub_elf_t instead of grub_file_t.
21632
a09d5aa5 216332006-11-02 Hollis Blanchard <hollis@penguinppc.org>
21634
21635 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
21636 `catch_result' to struct set_color_args.
21637
d976fc51 216382006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
21639
21640 * normal/menu.c: Include grub/script.h.
21641 * normal/menu_entry.c: Likewise.
21642 * include/grub/normal.h: Do not include grub/script.h.
21643
67507549 216442006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21645
21646 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
21647
69203a99 216482006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21649
21650 * kern/disk.c (grub_disk_open): Print debug messages when opening a
21651 disk.
21652 (grub_disk_close): Print debug messages when closing a disk.
21653 (grub_disk_read): Print debug messages when disk read fails.
21654 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
21655 filesystem type.
21656 * kern/partition.c: Include misc.h.
21657 (grub_partition_iterate): Print debug messages when detecting
21658 partition type.
21659
e2b8278c 216602006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21661
21662 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
21663 is negative.
21664 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
21665
97b2f2ff 216662006-10-26 Hollis Blanchard <hollis@penguinppc.org>
21667
21668 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
21669 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
21670
6555d655 216712006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
21672
21673 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
21674 instead of sizeof(lv). Patch by Michael Guntsche.
21675
4d42b77f 216762006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
21677
21678 * disk/lvm.c: Rename VGS to VG_LIST.
21679 (grub_lvm_iterate): Change VGS->LV to VG-LV.
21680 (grub_lvm_open): Likewise.
21681 Thanks to Michael Guntsche for finding this bug.
21682
5d74d927 216832006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21684
21685 * configure.ac (AC_INIT): Bumped to 1.95.
21686
a1bb27e4 216872006-10-14 Robert Millan <rmh@aybabtu.com>
21688
21689 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
21690 with "/dev/.static/dev/md".
21691
e0994b8b 216922006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
21693
21694 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
21695 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
21696 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
21697 DRIVE_NAME are always freed.
21698
21699 * util/i386/pc/biosdisk.c (make_device_name): Add one into
21700 DOS_PART, as a DOS partition is counted from one instead of zero
21701 now. Reported by Robert Millan.
21702
ddd5cee9 217032006-10-14 Robert Millan <rmh@aybabtu.com>
21704
21705 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
21706 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
21707 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
21708 string returned by grub_guess_root_device.
21709 * util/i386/pc/grub-setup.c: Likewise.
21710 * util/i386/pc/grub-probefs.c: Likewise.
21711
21712 * util/i386/pc/grub-probefs.c: Rename to ...
21713 * util/i386/pc/grub-probe.c: ... this.
21714 * DISTLIST: Remove grub-probefs, add grub-probe.
21715 * conf/i386-efi.rmk: Likewise.
21716 * conf/i386-pc.rmk: Likewise.
21717 * util/i386/pc/grub-install.in: Likewise.
21718
21719 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
21720 choose which information we want to print.
21721
2b002173 217222006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
21723
21724 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
21725 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
21726 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
21727 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
21728 video/readers/tga.c and video/i386/pc/vbeutil.c.
21729
217302006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
21731
21732 Added support for RAID and LVM.
f19dbdb7 21733
2b002173 21734 * disk/lvm.c: New file.
21735 * disk/raid.c: Likewise.
21736 * include/grub/lvm.h: Likewise.
f19dbdb7 21737 * include/grub/raid.h: Likewise.
2b002173 21738 * include/grub/util/lvm.h: Likewise.
21739 * include/grub/util/raid.h: Likewise.
21740 * util/lvm.c: Likewise.
21741 * util/raid.c: Likewise.
21742
21743 * include/grub/disk.h (grub_disk_dev_id): Add
21744 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
21745 (grub_disk_get_size): New prototype.
21746 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
21747 returns a partition.
21748 (grub_disk_get_size): New function.
f19dbdb7 21749
2b002173 21750 * kern/i386/pc/init.c (make_install_device): Copy the prefix
21751 verbatim if grub_install_dos_part is -2.
21752
21753 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
21754 and LVM devices.
21755
21756 * util/i386/pc/grub-setup.c (setup): New argument
21757 MUST_EMBED. Force embedding of GRUB when the argument is
21758 true. Close FILE before returning.
21759 (main): Add support for RAID and LVM.
f19dbdb7 21760
2b002173 21761 * conf/common.rmk: Add RAID and LVM modules.
21762 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
21763 util/lvm.c.
21764 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
21765
21766 * kern/misc.c (grub_strstr): New function.
21767 * include/grub/misc.h (grub_strstr): New prototype.
21768
050548d0 217692006-10-10 Tristan Gingold <tristan.gingold@bull.net>
21770
21771 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
21772
da849d2d 217732006-10-05 Tristan Gingold <tristan.gingold@bull.net>
21774
21775 * kern/misc.c (grub_strtoull): Guess the base only if not
21776 specified.
21777
97b2f2ff 217782006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 21779
21780 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
21781 PowerMac support.
21782
97b2f2ff 217832006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 21784
21785 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
21786
21787 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
21788 Remove `flags' argument. All callers changed.
21789 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
21790 (IEEE1275_IHANDLE_INVALID): New variable.
21791 (IEEE1275_CELL_INVALID): New variable.
21792 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
21793 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
21794 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
21795 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
21796 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
21797 codes from Open Firmware. All callers updated.
21798 (grub_ieee1275_next_property): Directly return Open Firmware return
21799 code.
21800 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
21801 Standardize error checking from `grub_ieee1275_get_property'.
21802 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
21803 `devalias' to `aliases'. Correct comments. Consolidate error paths.
21804
97b2f2ff 218052006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 21806
21807 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
21808 `instance_to_package_args' to `instance_to_path_args'.
21809
21810 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
21811 `grub_ieee1275_chosen'.
21812
21813 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
21814 `grub_ieee1275_interpret'.
21815
97b2f2ff 218162006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 21817
21818 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
21819
97b2f2ff 218202006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 21821
21822 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
21823 (__cmpdi): Likewise.
21824
21825 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
21826 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
21827 `grub_ssize_t'.
21828
02bb8acc 21829 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 21830
21831 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
21832 to type `grub_ssize_t'.
21833 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
21834
7f9a8531 218352006-09-22 Marco Gerards <marco@gnu.org>
21836
21837 * normal/script.c (grub_script_create_cmdmenu): Skip leading
21838 newlines.
21839
b5ef1102 218402006-09-22 Marco Gerards <marco@gnu.org>
21841
21842 * commands/echo.c: New file.
21843
21844 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
21845
21846 * conf/common.rmk (echo_mod_SOURCES): New variable.
21847 (echo_mod_CFLAGS): Likewise.
21848 (echo_mod_LDFLAGS): Likewise.
21849
2cff3677 218502006-09-22 Marco Gerards <marco@gnu.org>
21851
21852 * normal/main.c (get_line): Malloc memory instead of using
21853 preallocated memory. Removed the arguments `cmdline' and
21854 `max_len'. Updated all callers.
21855
6ba4688b 218562006-09-22 Marco Gerards <marco@gnu.org>
21857
21858 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
21859 (normal_mod_DEPENDENCIES): Likewise.
21860
21861 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
21862 (normal_mod_DEPENDENCIES): Likewise.
21863
21864 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
21865
e02ac02c 218662006-09-22 Johan Rydberg <jrydberg@gnu.org>
21867
21868 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
21869 programs.
21870 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
21871 (normal_mod_DEPENDENCIES): Likewise.
21872 * conf/i386-pc.mk: Regenerate.
21873 * conf/i386-efi.mk: Likewise
21874 * conf/common.mk: Likewise.
21875 * conf/powerpc-ieee1275.mk: Likewise.
21876 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 21877
8d252e44 218782006-09-22 Robert Millan <rmh@aybabtu.com>
21879
21880 Sync with i386 version.
21881 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
21882 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
21883
209bf7ac 218842006-09-21 Robert Millan <rmh@aybabtu.com>
21885
21886 Import from GRUB Legacy (lib/device.c):
21887 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
21888 (init_device_map) [__linux__]: Add support for I2O devices.
21889
6b146090 218902006-09-14 Marco Gerards <marco@gnu.org>
21891
21892 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
21893 `-melf_i386'.
21894
e38600a8 218952006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 21896
21897 * util/i386/pc/grub-install.in: Skip menu.lst when removing
21898 /boot/grub/*.lst.
78fa1790 21899
2952da5d 21900 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 21901
2952da5d 21902 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
21903 before adding it to device.map.
21904
01b82a64 219052006-08-15 Johan Rydberg <jrydberg@gnu.org>
21906
fe6b695a 21907 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 21908 compiles a file; using the -MD option.
21909 * conf/common.mk: Regenerate.
21910 * conf/i386-pc.mk: Likewise.
21911 * conf/i386-efi.mk: Likewise.
21912 * conf/powerpc-ieee1275.mk: Likewise.
21913 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 21914
1064790d 219152006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
21916
21917 Move the prototypes of grub_setjmp and grub_longjmp to
21918 cpu/setjmp.h, so that each architecture may specify different
21919 attributes.
f19dbdb7 21920
1064790d 21921 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
21922 (grub_longjmp): Likewise.
21923 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
21924 (grub_longjmp): Likewise.
21925 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
21926 (grub_longjmp): Likewise.
21927
21928 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
21929 [!GRUB_UTIL] (grub_longjmp): Removed.
21930
29dda3ed 219312006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
21932
21933 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
21934 "color!" method does not return any value.
21935
ad2a06ed 219362006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21937
21938 * include/grub/bitmap.h: New file.
21939
21940 * include/grub/i386/pc/vbeutil.h: Likewise.
21941
21942 * video/bitmap.c: Likewise.
21943
21944 * video/readers/tga.c: Likewise.
21945
21946 * video/i386/pc/vbeutil.c: Likewise.
21947
21948 * commands/videotest.c: Code cleanup and updated to reflect to new
21949 video API.
21950
21951 * term/gfxterm.c: Likewise.
21952
21953 * video/video.c: Likewise.
21954
21955 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
21956 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
21957 (bitmap_mod_SOURCES): New entry.
21958 (bitmap_mod_CFLAGS): Likewise.
21959 (bitmap_mod_LDFLAGS): Likewise.
21960 (tga_mod_SOURCES): Likewise.
21961 (tga_mod_CFLAGS): Likewise.
21962 (tga_mod_LDFLAGS): Likewise.
21963
21964 * include/grub/video.h (grub_video_blit_operators): New enum type.
21965 (grub_video_render_target): Changed as forward declaration and moved
21966 actual definition to be video driver specific.
21967 (grub_video_adapter.blit_bitmap): Added blitting operator.
21968 (grub_video_adapter.blit_render_target): Likewise.
21969 (grub_video_blit_bitmap): Likewise.
21970 (grub_video_blit_render_target): Likewise.
21971
21972 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
21973 driver specific render target definition.
21974 (grub_video_vbe_map_rgba): Added driver internal helper.
21975 (grub_video_vbe_unmap_color): Updated to use
21976 grub_video_i386_vbeblit_info.
21977 (grub_video_vbe_get_video_ptr): Likewise.
21978
21979 * include/grub/i386/pc/vbeblit.h
21980 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
21981 grub_video_i386_vbeblit_info.
21982 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21983 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21984 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21985 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21986 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21987 (grub_video_i386_vbeblit_index_index): Likewise.
21988 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
21989 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21990 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21991 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
21992 operator.
21993 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
21994 operator.
21995
21996 * video/i386/pc/vbeblit.c: Updated to reflect changes on
21997 include/grub/i386/pc/vbeblit.h.
21998
21999 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
22000 Updated to use grub_video_i386_vbeblit_info.
22001 (grub_video_i386_vbefill_R8G8B8): Likewise.
22002 (grub_video_i386_vbefill_index): Likewise.
22003 (grub_video_i386_vbefill): Added generic filler.
22004
22005 * video/i386/pc/vbefill.c: Updated to reflect changes on
22006 include/grub/i386/pc/vbefill.h.
22007
22008 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
22009 grub_video_i386_vbeblit_info.
22010 (grub_video_vbe_unmap_color): Likewise.
22011 (grub_video_vbe_blit_glyph): Likewise.
22012 (grub_video_vbe_scroll): Likewise.
22013 (grub_video_vbe_draw_pixel): Removed function.
22014 (grub_video_vbe_get_pixel): Likewise.
22015 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
22016 updated code to use it.
22017 (common_blitter): Added common blitter for render target and bitmap.
22018 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
22019 (grub_video_vbe_blit_render_target): Likewise.
22020
bc8c036d 220212006-07-30 Johan Rydberg <jrydberg@gnu.org>
22022
22023 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
22024 is in text mode if there is no console control protocol instance
22025 available.
22026
684a8eff 220272006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22028
22029 * include/grub/video.h: Code cleanup.
22030
22031 * include/grub/i386/pc/vbe.h: Likewise.
22032
22033 * video/i386/pc/vbe.c: Likewise.
22034
22035 * video/i386/pc/vbeblit.c: Likewise.
22036
22037 * video/i386/pc/vbefill.c: Likewise.
22038
22039 * video/video.c: Likewise. Also added more comments.
22040
5915059b 220412006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22042
22043 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
22044 (struct grub_biosdisk_dap): Likewise.
22045
22046 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
22047 linkage settings for all functions.
22048
90ce5d56 220492006-07-12 Marco Gerards <marco@gnu.org>
22050
22051 * configure.ac (--enable-mm-debug): Fix typo.
22052
22053 * genkernsyms.sh.in: Use proper quoting for `CC'.
22054
43e7f879 220552006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
22056
22057 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
22058 (normal_mod_ASFLAGS): Remove "-m32".
22059
4889bdec 220602006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
22061
22062 * util/misc.c: Include config.h.
22063 [!HAVE_MEMALIGN]: Do not include malloc.h.
22064 (grub_memalign): Use posix_memalign, if present. Then, use
22065 memalign, if present. Otherwise, emit an error.
22066
22067 * util/grub-emu.c: Do not include malloc.h.
22068
22069 * include/grub/util/misc.h: Include unistd.h. This is required for
22070 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
22071 D. Eades III <hde@foobar-qux.org>.
22072
22073 * configure.ac (AC_GNU_SOURCE): Added.
22074 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
22075 type.
22076
fd39d4da 220772006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
22078
22079 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
22080 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
22081
b786f3b5 220822006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
22083
22084 * include/grub/types.h (grub_host_addr_t): Rename to
22085 grub_target_addr_t.
22086 (grub_host_off_t): Rename to grub_target_off_t.
22087 (grub_host_size_t): Rename to grub_target_size_t.
22088 (grub_host_ssize_t): Rename to grub_target_ssize_t.
22089 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
22090
22091 * include/grub/kernel.h (struct grub_module_header): Change type
22092 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
22093 (grub_module_info): Likewise.
f19dbdb7 22094
051988bb 220952006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
22096
22097 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
22098 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
22099 Velazquez <jesus.velazquez@gmail.com>.
22100
deae281b 221012006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
22102
22103 Count partitions from 1 instead of 0 in the string representation
22104 of partitions. Still use 0-based internally.
f19dbdb7 22105
deae281b 22106 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
22107 (sun_partition_map_iterate): Use grub_partition_t instead of
22108 struct grub_partition *. Cast DESC->START_CYLINDER to
22109 grub_uint64_t after converting the endian.
22110 (sun_partition_map_probe): Subtract 1 for PARTNUM.
22111 (sun_partition_map_get_name): Add 1 to P->INDEX.
22112
22113 * partmap/pc.c (grub_partition_parse): Subtract 1 for
22114 PCDATA->DOS_PART.
22115 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
22116
22117 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
22118 zero instead of one.
22119 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
22120 (gpt_partition_map_get_name): Add 1 into P->INDEX.
22121
22122 * partmap/apple.c (apple_partition_map_iterate): Change the type
22123 of POS to unsigned.
22124 (apple_partition_map_probe): Subtract 1 for PARTNUM.
22125 (apple_partition_map_get_name): Add 1 into P->INDEX.
22126
22127 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
22128 of POS to unsigned.
22129 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
22130 calculate the offset of a partition.
22131 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
22132 (amiga_partition_map_get_name): Add 1 into P->INDEX.
22133
22134 * partmap/acorn.c (acorn_partition_map_find): Change the type of
22135 SECTOR to grub_disk_addr_t.
22136 (acorn_partition_map_iterate): Likewise.
22137 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
22138 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
22139 top.
22140 (acorn_partition_map_get_name): Add 1 into P->INDEX.
22141
22142 * kern/i386/pc/init.c (make_install_device): Add 1 into
22143 GRUB_INSTALL_DOS_PART.
22144
22145 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
22146 conditional.
22147
524a1e6a 221482006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
22149
22150 Clean up the code to support 64-bit addressing in disks and
22151 files. This change is not enough for filesystems yet.
f19dbdb7 22152
524a1e6a 22153 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
22154 type of "start" to grub_uint64_t.
22155 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
22156 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
22157 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
22158 convert addresses.
22159
22160 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
22161 to grub_disk_addr_t.
22162
22163 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
22164 string.
22165
22166 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22167
22168 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
22169 to char *.
22170
22171 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
22172
22173 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
22174
22175 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
22176
22177 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
22178 to grub_off_t, to detect an error from grub_file_seek.
22179 (grub_multiboot_load_elf32): Likewise.
22180
22181 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
22182 maximum unsigned long value when an overflow is detected.
22183 (grub_strtoull): New function.
22184 (grub_divmod64): Likewise.
22185 (grub_lltoa): use grub_divmod64.
22186
22187 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
22188 grub_disk_addr_t.
22189 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
22190 the pointer to next character. Use grub_strtoull instead of
22191 grub_strtoul.
22192 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
22193 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
22194 respectively.
22195
fe6b695a 22196 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 22197 return value is signed.
22198 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
22199 test if OFFSET is less than zero, as OFFSET is unsigned now.
22200
22201 * kern/disk.c (struct grub_disk_cache): Change the type of
22202 "sector" to grub_disk_addr_t.
22203 (grub_disk_cache_get_index): Change the type of SECTOR to
22204 grub_disk_addr_t. Calculate the hash with SECTOR casted to
22205 unsigned after shifting.
22206 (grub_disk_cache_invalidate): Change the type of SECTOR to
22207 grub_disk_addr_t.
22208 (grub_disk_cache_unlock): Likewise.
22209 (grub_disk_cache_store): Likewise.
22210 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
22211 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
22212 grub_disk_addr_t and grub_uint64_t, respectively.
22213 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
22214 body, as the value of OFFSET is tweaked by
22215 grub_disk_check_range. Change the types of START_SECTOR, LEN and
22216 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
22217 respectively.
22218 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
22219 body, as the value of OFFSET is tweaked by
22220 grub_disk_check_range. Change the types of LEN and N to
22221 grub_size_t.
22222
22223 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
22224 and "saved_offset" to grub_off_t.
22225 (test_header): Cast BUF to char *.
22226 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
22227 to char *.
22228 (grub_gzio_read): Change the types of OFFSET and SIZE to
22229 grub_off_t and grub_size_t, respectively.
22230
22231 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
22232 Removed.
22233 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
22234 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
22235 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
22236 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
22237 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
22238
22239 * include/grub/types.h (grub_off_t): Unconditionally set to
22240 grub_uint64_t.
22241 (grub_disk_addr_t): Changed to grub_uint64_t.
22242
22243 * include/grub/partition.h (struct grub_partition): Change the
22244 types of "start", "len" and "offset" to grub_disk_addr_t,
22245 grub_uint64_t and grub_disk_addr_t, respectively.
22246 (grub_partition_get_start): Return grub_disk_addr_t.
22247 (grub_partition_get_len): Return grub_uint64_t.
22248
22249 * include/grub/misc.h (grub_strtoull): New prototype.
22250 (grub_divmod64): Likewise.
22251
22252 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
22253 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
22254 grub_off_t, respectively.
22255 All callers and references changed.
22256
22257 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
22258 grub_size_t in "read".
22259 All callers and references changed.
22260
22261 * include/grub/file.h (struct grub_file): Change the types of
22262 "offset" and "size" to grub_off_t and grub_off_t,
22263 respectively. Change the type of SECTOR to grub_disk_addr_t in
22264 "read_hook".
22265 (grub_file_read): Change the type of LEN to grub_size_t.
22266 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
22267 grub_off_t.
22268 (grub_file_size): Return grub_off_t.
22269 (grub_file_tell): Likewise.
22270 All callers and references changed.
22271
22272 * include/grub/disk.h (struct grub_disk_dev): Change the types of
22273 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
22274 "write".
22275 (struct grub_disk): Change the type of "total_sectors" to
22276 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 22277 "read_hook".
524a1e6a 22278 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
22279 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
22280 (grub_disk_write): Likewise.
22281 All callers and references changed.
22282
22283 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
22284 char * for grub_strncmp to silence gcc.
22285 (grub_iso9660_mount): Likewise.
22286 (grub_iso9660_mount): Likewise.
22287 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
22288 return statement.
22289 (grub_iso9660_iterate_dir): Likewise.
22290 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
22291
22292 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
22293 LEN to grub_disk_addr_t and grub_size_t, respectively.
22294
22295 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
22296
22297 * fs/jfs.c (grub_jfs_read_file): Likewise.
22298
22299 * fs/minix.c (grub_jfs_read_file): Likewise.
22300
22301 * fs/sfs.c (grub_jfs_read_file): Likewise.
22302
22303 * fs/ufs.c (grub_jfs_read_file): Likewise.
22304
22305 * fs/xfs.c (grub_jfs_read_file): Likewise.
22306
22307 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
22308 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
22309 respectively.
22310
22311 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
22312 BLKNR to -1 instead of returning GRUB_ERRNO.
22313 (grub_ext2_read_file): Change the types of SECTOR and
22314 LEN to grub_disk_addr_t and grub_size_t, respectively.
22315
22316 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
22317 LEN to grub_disk_addr_t and grub_size_t, respectively.
22318
22319 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
22320 grub_file_read.
22321
22322 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
22323 string. Do not cast SECTOR explicitly.
22324
22325 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
22326 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
22327 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
22328 grub_disk_addr_t and grub_size_t, respectively. If the sector is
22329 over 2TB and LBA mode is not supported, raise an error.
22330 (get_safe_sectors): New function.
22331 (grub_biosdisk_read): Use get_safe_sectors.
22332 (grub_biosdisk_write): Likewise.
22333
22334 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
22335 (grub_efidisk_write): Likewise.
22336
22337 * disk/loopback.c (delete_loopback): Cosmetic changes.
22338 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
22339 correctly.
22340 (grub_loopback_open): Likewise.
22341 (grub_loopback_read): Likewise. Also, change the type of POS to
22342 grub_off_t, and fix the usage of grub_memset.
22343
22344 * commands/i386/pc/play.c: Include grub/machine/time.h.
22345
22346 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
22347 print FILE->SIZE.
22348
22349 * commands/configfile.c: Include grub/env.h.
22350
22351 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
22352 GRUB_ERRNO directly instead. Change the type of POS to
22353 grub_off_t. Follow the coding standard.
22354
22355 * commands/blocklist.c: Include grub/partition.h.
22356 (grub_cmd_blocklist): Return an error if the underlying device is
22357 not a disk. Take the starting sector of a partition into account,
22358 if a partition is used.
22359
22360 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
22361 a length field.
22362 (lba_mode): Support 64-bit addresses.
22363 (chs_mode): Likewise.
22364 (copy_buffer): Adapted to the new offsets of a length field and a
22365 segment field.
22366 (blocklist_default_start): Allocate 64-bit space.
22367
22368 * boot/i386/pc/boot.S (force_lba): Removed.
22369 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 22370 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 22371 space.
22372 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
22373 is useless.
22374 (lba_mode): Refactored to support a 64-bit address. More size
22375 optimization.
22376 (setup_sectors): Likewise.
22377
53af98ad 223782006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
22379
22380 * DISTLIST: Added include/grub/i386/linux.h. Removed
22381 include/grub/i386/pc/linux.h
22382
22383 * configure.ac (AC_INIT): Bumped to 1.94.
22384
22385 * config.guess: Updated from gnulib.
22386 * config.sub: Likewise.
22387 * install-sh: Likewise.
22388 * mkinstalldirs: Likewise.
22389
b4c1940a 223902006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
22391
22392 * conf/common.rmk (grub_modules_init.lst): Depended on
22393 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
22394 MODSRCFILES.
22395
22396 * genmk.rb (PModule::rule): Reverted the previous change.
22397
cfca1cfd 223982006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
22399
22400 * conf/common.rmk (grub_modules_init.lst): Depends on
22401 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
22402 that the target does not exist before producing.
22403 (grub_modules_init.h): Remove the target before generating.
22404 (grub_emu_init.c): Likewise.
22405
22406 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
22407
aa6d7826 224082006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
22409
22410 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
22411 for the target-specific tests. Make sure that we also have the
22412 up-to-date target variables for those tests.
22413
26c607b9 224142006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
22415
22416 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
22417 (PModule::rule): Likewise.
22418
0162321a 224192006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
22420
22421 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
22422 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
22423 target-specific flags should be prefixed.
22424 (PModule::rule): Likewise.
22425
6c826348 224262006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
22427
22428 * configure.ac (CMP): Check if cmp is available explicitly.
22429
b977bf01 224302006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
22431
22432 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
22433 (target_cpu): New variable.
22434 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 22435
b977bf01 22436 * util/i386/pc/grub-install.in (host_cpu): Removed.
22437 (target_cpu): New variable.
22438 (pkglibdir): Use target_cpu instead of host_cpu.
22439
22440 * util/genmoddep.c: Removed.
f19dbdb7 22441
b977bf01 22442 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
22443 instead of GRUB_HOST_SIZEOF_VOID_P.
22444 * kern/dl.c: Likewise.
22445
22446 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
22447 ...
22448 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22449 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22450 (GRUB_TARGET_SIZEOF_LONG): ... this.
22451 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22452 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22453 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
22454 to ...
22455 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22456 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22457 (GRUB_TARGET_SIZEOF_LONG): ... this.
22458 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22459 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22460 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
22461 to ...
22462 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22463 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22464 (GRUB_TARGET_SIZEOF_LONG): ... this.
22465 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22466 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22467
22468 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
22469 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
22470 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
22471 instead of GRUB_HOST_SIZEOF_LONG.
22472 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
22473 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
22474 GRUB_CPU_WORDS_BIGENDIAN.
22475 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
22476 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
22477 grub_host_ssize_t.
22478
22479 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
22480 (genmoddep_SOURCES): Likewise.
22481 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
22482 (genmoddep_SOURCES): Likewise.
22483 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
22484 (genmoddep_SOURCES): Likewise.
22485 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
22486 Likewise.
22487 (genmoddep_SOURCES): Likewise.
22488
22489 * genmoddep.awk: New file.
22490
22491 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
22492 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
22493 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
22494 (PModule::rule): Likewise.
22495 (Program::rule): Likewise.
22496 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
22497 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
22498 respectively.
22499
22500 * configure.ac: Rewritten intensively to use host and target
22501 instead of build and host, respectively.
22502
22503 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
22504 (host_cpu): Removed.
22505 (target_cpu): New variable.
22506 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
22507 (BUILD_CC): Removed.
22508 (BUILD_CFLAGS): Likewise.
22509 (BUILD_CPPFLAGS): Likewise.
22510 (TARGET_CC): New variable.
22511 (TARGET_CFLAGS): Likewise.
22512 (TARGET_CPPFLAGS): Likewise.
22513 (TARGET_LDFLAGS): Likewise.
22514 (AWK): Likewise.
22515 (include): Use target_cpu instead of host_cpu.
22516 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 22517
b977bf01 22518 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
22519
f09771a1 225202006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
22521
22522 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
22523 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
22524 field 'false' to 'exec_on_false'.
22525 (grub_script_create_cmdif): Renamed argument names to reflect above
22526 changes.
22527
22528 * normal/execute.c (grub_script_execute_cmdif): Likewise.
22529
22530 * normal/script.c (grub_script_create_cmdif): Likewise.
22531
118f4fb3 225322006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
22533
22534 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
22535 top.
22536 (grub_hfsplus_btree_recptr): Likewise.
22537 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
22538 FILEBLOCK both to pass a block number and store next block
22539 number.
22540 (grub_hfsplus_read_block): Rewritten heavily to support an extent
22541 overflow file correctly. Specify errors appropriately, because
22542 fshelp expects that GRUB_ERRNO is set when fails. Reuse
22543 grub_hfsplus_btree_recptr to get the pointer to a found key.
22544 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
22545 is found.
22546
22547 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
22548 linux.mod.
22549 (_linux_mod_SOURCES): New variable.
22550 (_linux_mod_CFLAGS): Likewise.
22551 (_linux_mod_LDFLAGS): Likewise.
22552 (linux_mod_SOURCES): Likewise.
22553 (linux_mod_CFLAGS): Likewise.
22554 (linux_mod_LDFLAGS): Likewise.
22555
22556 * DISTLIST: Added loader/i386/efi/linux.c,
22557 loader/i386/efi/linux_normal.c and
22558 include/grub/i386/efi/loader.h.
22559
22560 * loader/i386/efi/linux.c: New file.
22561 * loader/i386/efi/linux_normal.c: Likewise.
22562 * include/grub/i386/efi/loader.h: Likewise.
22563
89a7d726 225642006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
22565
22566 * commands/blocklist.c: New file.
22567
22568 * DISTLIST: Added commands/blocklist.c.
22569
22570 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 22571 color for the background, and a darker color for the foreground.
89a7d726 22572 (grub_console_checkkey): Return READ_KEY.
22573 (grub_console_cls): Set the background to
22574 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
22575
22576 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
22577
22578 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
22579 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
22580
22581 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
22582 prototype.
22583
22584 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
22585 BG. The spec is wrong again.
22586
22587 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
22588 prototype.
22589 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
22590
22591 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22592 commands/blocklist.c.
22593 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 22594
89a7d726 22595 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
22596 (blocklist_mod_SOURCES): New variable.
22597 (blocklist_mod_CFLAGS): Likewise.
22598 (blocklist_mod_LDFLAGS): Likewise.
22599
75c8f258 226002006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
22601
22602 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
22603 duplication.
22604 (lba_mode): Use %eax more intensively to reduce the code size.
22605
da2eb181 226062006-05-20 Marco Gerards <marco@gnu.org>
22607
22608 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
22609
22610 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
22611 for `menuentry'.
22612 (script): Accept leading newlines.
22613 (newlines): New rule to describe 0 or more newlines.
22614 (commands): Accept `command' with trailing newline. Fixed the
22615 order in which arguments were passed to `grub_script_add_cmd'.
22616 Accept commands separated by newlines.
22617 (function): Changed to accept newlines.
22618 (menuentry) Rewritten.
22619
22620 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
22621 front of the list, instead of to the end.
22622
577b4050 226232006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
22624
22625 * util/i386/pc/grub-install.in (bindir): New variable.
22626 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
22627 Shaver <lbgwjl@gmail.com>.
22628
0d6e1189 226292006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
22630
22631 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
22632 grub/machine/linux.h
22633 * loader/i386/pc/linux.c: Likewise.
22634
22635 * include/grub/i386/pc/linux.h: Moved to ...
22636 * include/grub/i386/linux.h: ... here.
22637
22638 * include/grub/i386/linux.h (struct linux_kernel_params): New
22639 struct.
f19dbdb7 22640
31b86e9f 226412006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
22642
22643 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
22644 checking.
22645 (grub_video_vbe_blit_glyph): Likewise.
22646 (grub_video_vbe_blit_bitmap): Likewise.
22647 (grub_video_vbe_blit_render_target): Likewise.
22648
83b984de 226492006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
22650
22651 * configure.ac (--with-platform): Properly quote the square
22652 brackets.
22653
5f0413bd 226542006-05-08 Marco Gerards <marco@gnu.org>
22655
22656 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
22657 this...
22658 (kernel_elf_HEADERS): ...to this. Updated all users.
22659 (grubof_symlist.c): Renamed from this...
22660 (kernel_elf_symlist.c): ...to this. Updated all users.
22661 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
22662 (grubof_SOURCES): Renamed from this...
22663 (kernel_elf_SOURCES): ...to this.
22664 (grubof_HEADERS): Renamed from this...
22665 (kernel_elf_HEADERS): ...to this.
22666 (grubof_CFLAGS): Renamed from this...
22667 (kernel_elf_CFLAGS): ...to this.
22668 (grubof_ASFLAGS): Renamed from this...
22669 (kernel_elf_ASFLAGS): ...to this.
22670 (grubof_LDFLAGS): Renamed from this...
22671 (kernel_elf_LDFLAGS): ...to this.
22672
22673 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
22674 this...
22675 (kernel_elf_HEADERS): ...to this. Updated all users.
22676 (grubof_symlist.c): Renamed from this...
22677 (kernel_elf_symlist.c): ...to this. Updated all users.
22678 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
22679 (grubof_SOURCES): Renamed from this...
22680 (kernel_elf_SOURCES): ...to this.
22681 (grubof_HEADERS): Renamed from this...
22682 (kernel_elf_HEADERS): ...to this.
22683 (grubof_CFLAGS): Renamed from this...
22684 (kernel_elf_CFLAGS): ...to this.
22685 (grubof_ASFLAGS): Renamed from this...
22686 (kernel_elf_ASFLAGS): ...to this.
22687 (grubof_LDFLAGS): Renamed from this...
22688 (kernel_elf_LDFLAGS): ...to this.
22689
22690 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
22691 `kernel.elf' instead of `grubof'.
22692
05568c2e 226932006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
22694
22695 Add --with-platform to configure. Use pkglibdir instead of
22696 pkgdatadir. This is reported by Roger Leigh.
22697
22698 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
22699 (host_vendor): Likewise.
22700 (host_os): Likewise.
22701 (pkgdatadir): Likewise.
22702 (platform): New variable.
22703 (pkglibdir): Likewise.
22704 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 22705
05568c2e 22706 * util/i386/pc/grub-install.in (datadir): Removed.
22707 (host_vendor): Likewise.
22708 (host_os): Likewise.
22709 (pkgdatadir): Likewise.
22710 (platform): New variable.
22711 (pkglibdir): Likewise.
22712 Use PKGLIBDIR instead of PKGDATADIR.
22713
22714 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
22715 instead of GRUB_DATADIR.
22716 (main): Likewise.
22717 * util/i386/pc/grub-mkimage.c (usage): Likewise.
22718 (main): Likewise.
22719 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22720 (main): Likewise.
22721
22722 * configure.ac (--with-platform): New option.
22723 Use PLATFORM instead of HOST_VENDOR to specify a platform.
22724
22725 * Makefile.in: Include a makefile based on PLATFORM instead of
22726 HOST_VENDOR.
22727 (pkgdatadir): Not appended by the machine type.
22728 (pkglibdir): Appended by the machine type.
22729 (host_vendor): Removed.
22730 (platform): New variable.
22731 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
22732 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
22733 (uninstall): Likewise.
22734
4e93851c 227352006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
22736
22737 Use the environment context in the menu. Remove the commands
22738 "default" and "timeout", and use variables instead.
f19dbdb7 22739
4e93851c 22740 * normal/menu.c: Include grub/env.h.
22741 (print_entry): Cast TITLE to silence gcc.
22742 (get_timeout): New function.
22743 (set_timeout): Likewise.
22744 (get_entry_number): Likewise.
22745 (run_menu): Use a default entry, a fallback entry and a timeout
22746 in the environment variables "default", "fallback" and
22747 "timeout". Also, tweak the default entry if it is not within the
22748 current menu entries.
22749 (grub_menu_run): Use a fallback entry in the environment variable
22750 "fallback".
22751
22752 * normal/main.c (read_config_file): Do not initialize
22753 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
22754 NEWMENU->TIMEOUT.
22755 (grub_normal_execute): Use a data slot to store the menu.
22756
22757 * include/grub/normal.h (struct grub_menu): Removed default_entry,
22758 fallback_entry and timeout.
22759 (struct grub_menu_list): Removed.
22760 (grub_menu_list_t): Likewise.
22761 (struct grub_context): Likewise.
22762 (grub_context_t): Likewise.
22763 (grub_context_get): Likewise.
22764 (grub_context_get_current_menu): Likewise.
22765 (grub_context_push_menu): Likewise.
22766 (grub_context_pop_menu): Likewise.
22767 (grub_default_init): Likewise.
22768 (grub_default_fini): Likewise.
22769 (grub_timeout_init): Likewise.
22770 (grub_timeout_fini): Likewise.
22771
22772 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
22773 and timeout.mod.
22774 (normal_mod_SOURCES): Removed normal/context.c.
22775
22776 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
22777 commands/default.c, commands/timeout.c and normal/context.c.
22778 (normal_mod_SOURCES): Removed normal/context.c.
22779
22780 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
22781 commands/timeout.c and normal/context.c.
22782 (normal_mod_SOURCES): Removed normal/context.c.
22783
22784 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
22785 commands/default.c, commands/timeout.c and normal/context.c.
22786 (normal_mod_SOURCES): Removed normal/context.c.
22787
22788 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
22789 timeout.mod.
22790 (default_mod_SOURCES): Removed.
22791 (default_mod_CFLAGS): Likewise.
22792 (default_mod_LDFLAGS): Likewise.
22793 (timeout_mod_SOURCES): Removed.
22794 (timeout_mod_CFLAGS): Likewise.
22795 (timeout_mod_LDFLAGS): Likewise.
22796
22797 * DISTLIST: Removed commands/default.c, commands/timeout.c and
22798 normal/context.c.
22799
22800 * commands/default.c: Removed.
22801 * commands/timeout.c: Likewise.
22802 * normal/context.c: Likewise.
22803
1eb9cc1d 228042006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
22805
22806 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
22807
385bd9c1 228082006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
22809
22810 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
22811 "next" to "prev" for readability.
22812 (struct grub_env_sorted_var): New struct.
22813 (grub_env_context): Renamed to ...
22814 (initial_context): ... this.
22815 (grub_env_var_context): Renamed to ...
22816 (current_context): ... this.
22817 (grub_env_find): Look only at CURRENT_CONTEXT.
22818 (grub_env_context_open): Rewritten to copy exported variables from
22819 previous context.
22820 (grub_env_context_close): Rewritten according to the new
22821 scheme. Also, add an assertion to prevent the initial context from
22822 removed.
22823 (grub_env_insert): Removed the code for the sorted list.
22824 (grub_env_remove): Likewise.
22825 (grub_env_export): Simply mark the variable with
22826 GRUB_ENV_VAR_GLOBAL.
22827 (grub_env_set): A cosmetic change for naming consistency.
22828 (grub_env_get): Likewise.
22829 (grub_env_unset): Likewise.
22830 (grub_env_iterate): Rewritten to sort variables within this
22831 function.
22832 (grub_register_variable_hook): Fixed for naming consistency. Call
22833 grub_env_find again, only if NAME is not found at the first time.
22834 (mangle_data_slot_name): New function.
22835 (grub_env_set_data_slot): Likewise.
22836 (grub_env_get_data_slot): Likewise.
22837 (grub_env_unset_data_slot): Likewise.
22838
22839 * include/grub/env.h (grub_env_var_type): New enum.
22840 (GRUB_ENV_VAR_LOCAL): New constant.
22841 (GRUB_ENV_VAR_GLOBAL): Likewise.
22842 (GRUB_ENV_VAR_DATA): Likewise.
22843 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
22844 "type".
22845 (grub_env_set): Replace VAR with NAME for consistency.
22846 (grub_register_variable_hook): Likewise.
22847 (grub_env_export): Specify the name of the argument.
22848 (grub_env_set_data_slot): New prototype.
22849 (grub_env_get_data_slot): Likewise.
22850 (grub_env_unset_data_slot): Likewise.
22851
7f362539 228522006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22853
22854 Extend the loader so that GRUB can accept a loader which comes
22855 back to GRUB when a loaded image exits. Also, this change adds
22856 support for a chainloader on EFI.
f19dbdb7 22857
7f362539 22858 * term/efi/console.c: Include grub/misc.h.
22859 (grub_console_checkkey): Display a scan code on the top for
22860 debugging. This will be removed once the EFI port gets stable.
22861 Correct the scan code mapping.
22862
22863 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
22864 allocate memory from larger regions, in order to reduce the number
22865 of allocated regions. Otherwise, the MacOSX loader panics.
22866 (filter_memory_map): Avoid less than 1MB for compatibility with
22867 other loaders.
22868 (add_memory_regions): Allocate from the tail of a region, if
22869 possible, to avoid allocating a region near to 1MB, for the MacOSX
22870 loader.
22871
22872 * kern/efi/init.c (grub_efi_set_prefix): Specify
22873 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
22874
22875 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
22876 argument IMAGE_HANDLE and specify it to get a loaded image.
22877 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
22878 grub_efi_get_loaded_image.
fe6b695a 22879 (grub_efi_get_filename): Divide the length by the size of
7f362539 22880 grub_efi_char16_t.
22881 (grub_efi_get_device_path): New function.
22882 (grub_efi_print_device_path): Print End Device Path nodes. Divide
22883 the length by the size of grub_efi_char16_t for a file path device
22884 path node.
22885
22886 * kern/loader.c (grub_loader_noreturn): New variable.
22887 (grub_loader_set): Accept a new argument NORETURN. Set
22888 GRUB_LOADER_NORETURN to NORETURN.
22889 All callers changed.
22890 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
22891 grub_machine_fini.
22892
22893 * include/grub/efi/efi.h (grub_efi_get_device_path): New
22894 prototype.
22895 (grub_efi_get_loaded_image): Take an argument to specify an image
22896 handle.
22897
22898 * include/grub/loader.h (grub_loader_set): Added one more argument
22899 NORETURN.
22900
22901 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
22902 instead of grub_efi_open_protocol.
22903 (grub_efidisk_get_device_name): Likewise.
22904 (grub_efidisk_close): Print a newline.
22905 (grub_efidisk_get_device_handle): Fixed to use
22906 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
22907 GRUB_EFI_DEVICE_PATH_TYPE.
22908
22909 * disk/efi/efidisk.c (device_path_guid): Moved to ...
22910 * kern/efi/efi.c (device_path_guid): ... here.
22911
22912 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
22913 chain.mod.
22914 (kernel_mod_HEADERS): Added efi/disk.h.
22915 (_chain_mod_SOURCES): New variable.
22916 (_chain_mod_CFLAGS): Likewise.
22917 (_chain_mod_LDFLAGS): Likewise.
22918 (chain_mod_SOURCES): Likewise.
22919 (chain_mod_CFLAGS): Likewise.
22920 (chain_mod_LDFLAGS): Likewise.
22921
22922 * DISTLIST: Added include/grub/efi/chainloader.h,
22923 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
22924
22925 * include/grub/efi/chainloader.h: New file.
22926 * loader/efi/chainloader.c: Likewise.
22927 * loader/efi/chainloader_normal.c: Likewise.
22928
c0111d6e 229292006-04-30 Marco Gerards <marco@gnu.org>
22930
22931 * commands/configfile.c (grub_cmd_source): New function.
22932 (GRUB_MOD_INIT): Register the commands `source' and `.'.
22933 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
22934
df5341da 229352006-04-30 Marco Gerards <marco@gnu.org>
22936
22937 * normal/execute.c (grub_script_execute_cmd): Change the return
22938 type to `grub_err_t'. Correctly return the error.
22939 (grub_script_execute_cmdline): In case a command line is not a
22940 command or a function, try to interpret it as an assignment.
22941
f85934bd 229422006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22943
22944 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
22945 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
22946 skip a node whose name is obviously invalid as UTF-16,
22947 i.e. contains a NUL character. Stop the iteration when the last
22948 directory entry is found. Instead of using the return value of
22949 grub_hfsplus_btree_iterate_node, store the value in RET and use
22950 it, because the iterator can be stopped by the last directory
22951 entry.
22952
8f8a2cf8 229532006-04-30 Marco Gerards <marco@gnu.org>
22954
22955 * include/grub/env.h (grub_env_export): New prototype. Reported
22956 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
22957
a27e84ce 229582006-04-30 Marco Gerards <marco@gnu.org>
22959
22960 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
22961 size of the extents in a catalog file record.
22962
eaef0553 229632006-04-29 Marco Gerards <marco@gnu.org>
22964
22965 * commands/configfile.c (grub_cmd_configfile): Execute the
22966 configfile within its own context.
22967
22968 * include/grub/env.h (grub_env_context_open): New prototype.
22969 (grub_env_context_close): Likewise.
22970
22971 * kern/env.c (grub_env): Removed.
22972 (grub_env_sorted): Likewise.
22973 (grub_env_context): New variable.
22974 (grub_env_var_context): Likewise.
22975 (grub_env_find): Search both the active context and the global
22976 context.
22977 (grub_env_context_open): New function.
22978 (grub_env_context_close): Likewise.
22979 (grub_env_insert): Likewise.
22980 (grub_env_remove): Likewise.
22981 (grub_env_export): Likewise.
22982 (grub_env_set): Changed to use helper functions to avoid code
22983 duplication.
22984 (grub_env_iterate): Rewritten so both the current context and the
22985 global context are being used.
22986
22987 * normal/command.c (export_command): New function.
22988 (grub_command_init): Register the `export' function.
22989
7b455f4d 229902006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
22991
22992 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
22993 explicitly to suppress gcc's warnings.
22994 * fs/fat.c (grub_fat_find_dir): Likewise.
22995 (grub_fat_label): Likewise.
22996 * fs/xfs.c (grub_xfs_read_inode): Likewise.
22997 (grub_xfs_mount): Likewise.
22998 (grub_xfs_label): Likewise.
22999 * fs/affs.c (grub_affs_mount): Likewise.
23000 (grub_affs_label): Likewise.
23001 (grub_affs_iterate_dir): Likewise.
23002 * fs/sfs.c (grub_sfs_mount): Likewise.
23003 (grub_sfs_iterate_dir): Likewise.
23004 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
23005 * fs/hfs.c (grub_hfs_mount): Likewise.
23006 (grub_hfs_cmp_catkeys): Likewise.
23007 (grub_hfs_find_dir): Likewise.
23008 (grub_hfs_dir): Likewise.
23009 (grub_hfs_label): Likewise.
23010 * fs/jfs.c (grub_jfs_mount): Likewise.
23011 (grub_jfs_opendir): Likewise.
23012 (grub_jfs_getent): Likewise.
23013 (grub_jfs_lookup_symlink): Likewise.
23014 (grub_jfs_label): Likewise.
23015 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
23016 (grub_hfsplus_iterate_dir): Likewise.
23017 (grub_hfsplus_btree_iterate_node): Made static.
23018
23019 * util/grub-emu.c (prefix): New variable.
23020 (grub_machine_set_prefix): New function.
23021 (main): Do not set the environment variable "prefix" here. Only
23022 set PREFIX, which is used later by grub_machine_set_prefix.
23023
23024 * include/grub/video.h: Do not include grub/symbol.h.
23025 (grub_video_register): Not exported. This symbol is not defined in
23026 the kernel.
23027 (grub_video_unregister): Likewise.
23028 (grub_video_iterate): Likewise.
23029 (grub_video_setup): Likewise.
23030 (grub_video_restore): Likewise.
23031 (grub_video_get_info): Likewise.
23032 (grub_video_get_blit_format): Likewise.
23033 (grub_video_set_palette): Likewise.
23034 (grub_video_get_palette): Likewise.
23035 (grub_video_set_viewport): Likewise.
23036 (grub_video_get_viewport): Likewise.
23037 (grub_video_map_color): Likewise.
23038 (grub_video_map_rgb): Likewise.
23039 (grub_video_map_rgba): Likewise.
23040 (grub_video_fill_rect): Likewise.
23041 (grub_video_blit_glyph): Likewise.
23042 (grub_video_blit_bitmap): Likewise.
23043 (grub_video_blit_render_target): Likewise.
23044 (grub_video_scroll): Likewise.
23045 (grub_video_swap_buffers): Likewise.
23046 (grub_video_create_render_target): Likewise.
23047 (grub_video_delete_render_target): Likewise.
23048 (grub_video_set_active_render_target): Likewise.
23049
23050 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
23051 Undefined.
23052 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
23053
23054 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
23055 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23056 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23057 instead of $(srcdir)/genkernsyms.sh.
23058
23059 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
23060 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23061 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23062 instead of $(srcdir)/genkernsyms.sh.
23063
23064 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
23065 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23066 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23067 instead of $(srcdir)/genkernsyms.sh.
23068
23069 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
23070 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23071 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23072 instead of $(srcdir)/genkernsyms.sh.
23073
23074 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
23075 genkernsyms.sh.
23076
23077 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
23078 genkernsyms.sh.
23079 (gensymlist.sh): New target.
23080 (genkernsyms.sh): Likewise.
23081
23082 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
23083 genkernsyms.sh.in and gensymlist.sh.in.
23084
23085 * genkernsyms.sh: Removed.
23086 * gensymlist.sh: Likewise.
f19dbdb7 23087
7b455f4d 23088 * genkernsyms.sh.in: New file.
23089 * gensymlist.sh.in: Likewise.
23090
1885bb27 230912006-04-25 Hollis Blanchard <hollis@penguinppc.org>
23092
23093 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
23094 clobber "prefix", since we may have already set it manually.
23095
71538dff 230962006-04-25 Hollis Blanchard <hollis@penguinppc.org>
23097
23098 * kern/misc.c (abort): New alias for grub_abort.
23099
2965c7cc 231002006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
23101
23102 A new machine-specific function "grub_machine_set_prefix" is
23103 defined. This is called after loading modules, so that a prefix
23104 initialization can use modules. Also, this change adds an
23105 intensive debugging feature for the memory manager via the
23106 configure option "--enable-mm-debug".
f19dbdb7 23107
2965c7cc 23108 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
23109 PART.LEN.
23110
23111 * kern/sparc64/ieee1275/init.c (abort): Removed.
23112 (grub_stop): Likewise.
23113 (grub_exit): New function.
23114 (grub_set_prefix): Renamed to ...
23115 (grub_machine_set_prefix): ... this.
23116 (grub_machine_init): Do not call grub_set_prefix.
23117
23118 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
23119 (grub_machine_set_prefix): ... this.
23120 (grub_machine_init): Do not call grub_set_prefix.
23121
23122 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
23123 (grub_machine_init): Do not set the prefix here.
23124
23125 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
23126
23127 * kern/efi/init.c: Include grub/mm.h.
23128 (grub_efi_set_prefix): New function.
23129
23130 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
23131 (grub_efi_get_filename): New function.
23132 (grub_print_device_path): Renamed to ...
23133 (grub_efi_print_device_path): ... this.
23134
23135 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
23136 [MM_DEBUG] (grub_realloc): Likewise.
23137 [MM_DEBUG] (grub_free): Likewise.
23138 [MM_DEBUG] (grub_memalign): Likewise.
23139 [MM_DEBUG] (grub_mm_debug): New variable.
23140 [MM_DEBUG] (grub_debug_malloc): New function.
23141 [MM_DEBUG] (grub_debug_free): New function.
23142 [MM_DEBUG] (grub_debug_realloc): New function.
23143 [MM_DEBUG] (grub_debug_memalign): New function.
23144
23145 * kern/misc.c (grub_abort): Print a newline to distinguish
23146 the message.
23147
23148 * kern/main.c (grub_main): Call grub_machine_set_prefix and
23149 grub_set_root_dev after loading modules. This is necessary when
23150 setting a prefix depends on modules.
23151
23152 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
23153 (grub_efi_print_device_path): ... this.
23154 (grub_efi_get_filename): New prototype.
23155 (grub_efi_set_prefix): Likewise.
23156
23157 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
23158 and grub/disk.h.
23159 (grub_efidisk_get_device_handle): New prototype.
23160 (grub_efidisk_get_device_name): Likewise.
23161
23162 * include/grub/mm.h: Include config.h.
23163 (MM_DEBUG): Removed.
23164 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
23165 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
23166 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
23167 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
23168 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
23169 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
23170 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
23171 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
23172 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
23173
23174 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
23175
23176 * disk/efi/efidisk.c: Include grub/partition.h.
23177 (iterate_child_devices): New function.
23178 (add_device): First, compare only last device path nodes, so that
23179 devices are sorted by the types.
23180 (grub_efidisk_get_device_handle): New function.
23181 (grub_efidisk_get_device_name): Likewise.
23182
23183 * configure.ac (--enable-mm-debug): New option to enable the
23184 memory manager debugging feature. This makes the binary much
23185 bigger, so is disabled by default.
23186
9cacaa17 231872006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
23188
23189 Use grub_abort instead of grub_stop, and grub_exit must be
23190 define in each architecture now. Also, this change adds support
23191 for EFI disks.
f19dbdb7 23192
9cacaa17 23193 * util/i386/pc/grub-probefs.c: Include grub/term.h.
23194 (grub_getkey): New function.
23195 (grub_term_get_current): Likewise.
23196
23197 * util/i386/pc/grub-setup.c: Include grub/term.h.
23198 (grub_getkey): New function.
23199 (grub_term_get_current): Likewise.
23200
23201 * util/misc.c (grub_stop): Renamed to ...
23202 (grub_exit): ... this.
23203
23204 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
23205 (grub_exit): ... this.
23206 (grub_machine_init): Use grub_abort instead of abort.
23207 (grub_stop): Removed.
23208
23209 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
23210 abort.
23211
23212 * kern/i386/pc/startup.S (grub_exit): New function.
23213 (cold_reboot): New label.
23214
23215 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
23216 (grub_efi_init): Call grub_efidisk_init.
23217 (grub_efi_fini): Call grub_efidisk_fini.
23218
23219 * kern/efi/efi.c: Include grub/mm.h.
23220 (grub_efi_console_control_guid): Renamed to ...
23221 (console_control_guid): ... this.
23222 (grub_efi_loaded_image_guid): Renamed to ...
23223 (loaded_image_guid): ... this.
23224 (grub_efi_locate_handle): New function.
23225 (grub_efi_open_protocol): Likewise.
23226 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
23227 GRUB_EFI_CONSOLE_CONTROL_GUID.
23228 (grub_efi_exit): Removed.
23229 (grub_stop): Likewise.
23230 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
23231 (grub_exit): New function.
23232 (grub_print_device_path): Likewise.
23233
23234 * kern/rescue.c (grub_rescue_cmd_exit): New function.
23235 (grub_enter_rescue_mode): Register "exit".
23236
23237 * kern/misc.c (grub_real_dprintf): A cosmetic change.
23238 (grub_abort): New function.
23239
23240 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
23241
23242 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
23243
23244 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
23245
23246 * include/grub/efi/efi.h (grub_efi_exit): Removed.
23247 (grub_print_device_path): New prototype.
23248 (grub_efi_locate_handle): Likewise.
23249 (grub_efi_open_protocol): Likewise.
23250
23251 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
23252 * disk/efi/efidisk.c: Likewise.
23253
23254 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
23255
23256 * include/grub/efi/console_control.h
23257 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
23258
23259 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
23260 last 8 bytes as an array.
23261 (GRUB_EFI_DISK_IO_GUID): New macro.
23262 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
23263 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
23264 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
23265 grub_uint8_t.
23266 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
23267 (struct grub_efi_device_path): Rename the member "sub_type" to
23268 "subtype".
23269 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
23270 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
23271 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
23272 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
23273 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
23274 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
23275 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
23276 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
23277 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
23278 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
23279 (struct grub_efi_pci_device_path): New structure.
23280 (grub_efi_pci_device_path_t): New type.
23281 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
23282 (struct grub_efi_pccard_device_path): New structure.
23283 (grub_efi_pccard_device_path_t): New type.
23284 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
23285 (struct grub_efi_memory_mapped_device_path): New structure.
23286 (grub_efi_memory_mapped_device_path_t): New type.
23287 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
23288 (struct grub_efi_vendor_device_path): New structure.
23289 (grub_efi_vendor_device_path_t): New type.
23290 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
23291 (struct grub_efi_controller_device_path): New structure.
23292 (grub_efi_controller_device_path_t): New type.
23293 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
23294 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
23295 (struct grub_efi_acpi_device_path): New structure.
23296 (grub_efi_acpi_device_path_t): New type.
23297 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
23298 (struct grub_efi_expanded_acpi_device_path): New structure.
23299 (grub_efi_expanded_acpi_device_path_t): New type.
23300 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
23301 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
23302 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
23303 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
23304 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
23305 (struct grub_efi_atapi_device_path): New structure.
23306 (grub_efi_atapi_device_path_t): New type.
23307 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
23308 (struct grub_efi_fibre_channel_device_path): New structure.
23309 (grub_efi_fibre_channel_device_path_t): New type.
23310 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
23311 (struct grub_efi_1394_device_path): New structure.
23312 (grub_efi_1394_device_path_t): New type.
23313 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
23314 (struct grub_efi_usb_device_path): New structure.
23315 (grub_efi_usb_device_path_t): New type.
23316 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
23317 (struct grub_efi_usb_class_device_path): New structure.
23318 (grub_efi_usb_class_device_path_t): New type.
23319 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
23320 (struct grub_efi_i2o_device_path): New structure.
23321 (grub_efi_i2o_device_path_t): New type.
23322 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
23323 (struct grub_efi_mac_address_device_path): New structure.
23324 (grub_efi_mac_address_device_path_t): New type.
23325 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
23326 (struct grub_efi_ipv4_device_path): New structure.
23327 (grub_efi_ipv4_device_path_t): New type.
23328 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
23329 (struct grub_efi_ipv6_device_path): New structure.
23330 (grub_efi_ipv6_device_path_t): New type.
23331 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
23332 (struct grub_efi_infiniband_device_path): New structure.
23333 (grub_efi_infiniband_device_path_t): New type.
23334 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
23335 (struct grub_efi_uart_device_path): New structure.
23336 (grub_efi_uart_device_path_t): New type.
23337 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
23338 (struct grub_efi_vendor_messaging_device_path): New structure.
23339 (grub_efi_vendor_messaging_device_path_t): New type.
23340 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
23341 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
23342 (struct grub_efi_hard_drive_device_path): New structure.
23343 (grub_efi_hard_drive_device_path_t): New type.
23344 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
23345 (struct grub_efi_cdrom_device_path): New structure.
23346 (grub_efi_cdrom_device_path_t): New type.
23347 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
23348 (struct grub_efi_vendor_media_device_path): New structure.
23349 (grub_efi_vendor_media_device_path_t): New type.
23350 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
23351 (struct grub_efi_file_path_device_path): New structure.
23352 (grub_efi_file_path_device_path_t): New type.
23353 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
23354 (struct grub_efi_protocol_device_path): New structure.
23355 (grub_efi_protocol_device_path_t): New type.
23356 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
23357 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
23358 (struct grub_efi_bios_device_path): New structure.
23359 (grub_efi_bios_device_path_t): New type.
23360 (struct grub_efi_disk_io): New structure.
23361 (grub_efi_disk_io_t): New type.
23362 (struct grub_efi_block_io_media): New structure.
23363 (grub_efi_block_io_media_t): New type.
23364 (struct grub_efi_block_io): New structure.
23365 (grub_efi_block_io_t): New type.
23366
23367 * include/grub/misc.h (grub_stop): Removed.
23368 (grub_exit): New prototype.
23369 (grub_abort): Likewise.
23370
23371 * include/grub/disk.h (enum grub_disk_dev_id): Added
23372 GRUB_DISK_DEVICE_EFIDISK_ID.
23373
23374 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
23375 disk/efi/efidisk.c.
23376 (kernel_syms.lst): Remove the target if an error occurs.
23377
49986a9f 233782006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
23379
23380 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
23381 as it was simply too buggy.
23382
970d3b8a 233832006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
23384
23385 * kern/misc.c (grub_lltoa): New function.
23386 (grub_vsprintf): Added support for the long long suffix,
23387 i.e. "ll".
23388
ff04ec24 233892006-04-20 Hollis Blanchard <hollis@penguinppc.org>
23390
23391 * Makefile.in (LDFLAGS): Add variable.
23392 (LD): Remove variable.
23393 * configure.ac: Add -m32 to LDFLAGS.
23394 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
23395 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
23396 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
23397 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
23398 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
23399 variables.
23400 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
23401 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
23402 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
23403
37e5e1a4 234042006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
23405
23406 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
23407 length for unknown glyph.
23408
c352d8dd 234092006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
23410
2eab1c0d 23411 Add support for pre-loaded modules into the EFI port.
f19dbdb7 23412
2eab1c0d 23413 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
23414 completely. Accept one more argument DIR. The caller has changed.
23415
23416 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
23417
23418 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
23419 (grub_efi_loaded_image_guid): New variable.
23420 (grub_efi_get_loaded_image): New function.
23421 (grub_arch_modules_addr): Likewise.
23422
23423 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
23424 prototype.
23425
23426 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
23427 (struct grub_efi_loaded_image): New structure.
23428 (grub_efi_loaded_image_t): New type.
23429
234302006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 23431
c352d8dd 23432 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
23433 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
23434 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
23435
6d01d6b4 234362006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
23437
23438 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
23439
976a4ea0 234402006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
23441
23442 * DISTLIST: Added include/grub/efi/console.h,
23443 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
23444 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
23445
23446 * include/grub/efi/console.h: New file.
23447 * include/grub/efi/time.h: Likewise.
23448 * include/grub/i386/efi/kernel.h: Likewise.
23449 * kern/efi/init.c: Likewise.
23450 * kern/efi/mm.c: Likewise.
23451 * term/efi/console.c: Likewise.
f19dbdb7 23452
976a4ea0 23453 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
23454 (grub_stop): Removed.
23455 (grub_get_rtc): Likewise.
23456 (grub_machine_init): Simply call grub_efi_init.
23457 (grub_machine_fini): Call grub_efi_fini.
23458
23459 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
23460 (grub_efi_output_string): Removed.
23461 (grub_efi_stall): New function.
23462 (grub_stop): Likewise.
23463 (grub_get_rtc): Likewise.
23464
23465 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
23466 (grub_efi_stall): New prototype.
23467 (grub_efi_allocate_pages): Likewise.
23468 (grub_efi_free_pages): Likewise.
23469 (grub_efi_get_memory_map): Likewise.
23470 (grub_efi_mm_init): Likewise.
23471 (grub_efi_mm_fini): Likewise.
23472 (grub_efi_init): Likewise.
23473 (grub_efi_fini): Likewise.
23474
23475 * include/grub/i386/efi/time.h: Do not include
23476 grub/symbol.h. Include grub/efi/time.h.
23477 (GRUB_TICKS_PER_SECOND): Removed.
23478 (grub_get_rtc): Likewise.
23479
23480 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
23481 Added padding. The EFI spec is buggy.
23482 (GRUB_EFI_BLACK): New macro.
23483 (GRUB_EFI_BLUE): Likewise.
23484 (GRUB_EFI_GREEN): Likewise.
23485 (GRUB_EFI_CYAN): Likewise.
23486 (GRUB_EFI_RED): Likewise.
23487 (GRUB_EFI_MAGENTA): Likewise.
23488 (GRUB_EFI_BROWN): Likewise.
23489 (GRUB_EFI_LIGHTGRAY): Likewise.
23490 (GRUB_EFI_BRIGHT): Likewise.
23491 (GRUB_EFI_DARKGRAY): Likewise.
23492 (GRUB_EFI_LIGHTBLUE): Likewise.
23493 (GRUB_EFI_LIGHTGREEN): Likewise.
23494 (GRUB_EFI_LIGHTCYAN): Likewise.
23495 (GRUB_EFI_LIGHTRED): Likewise.
23496 (GRUB_EFI_LIGHTMAGENTA): Likewise.
23497 (GRUB_EFI_YELLOW): Likewise.
23498 (GRUB_EFI_WHITE): Likewise.
23499 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
23500 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
23501 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
23502 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
23503 (GRUB_EFI_BACKGROUND_RED): Likewise.
23504 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
23505 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
23506 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
23507 (GRUB_EFI_TEXT_ATTR): Likewise.
23508
23509 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
23510 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
23511 (kernel_mod_HEADERS): Added efi/time.h.
23512
83709125 235132006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
23514
23515 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
23516 include/grub/efi/api.h, include/grub/efi/console_control.h,
23517 include/grub/efi/efi.h, include/grub/efi/pe32.h,
23518 include/grub/i386/efi/time.h, kern/efi/efi.c,
23519 kern/i386/efi/init.c, kern/i386/efi/startup.S,
23520 and util/i386/efi/grub-mkimage.c.
23521
23522 * Makefile.in (RMKFILES): Added i386-efi.rmk.
23523
23524 * genmk.rb (PModule#rule): Do not export symbols if
23525 #{prefix}_EXPORTS is set to "no".
23526
23527 * conf/i386-efi.mk: New file.
23528 * conf/i386-efi.rmk: Likewise.
23529 * include/grub/efi/api.h: Likewise.
23530 * include/grub/efi/console_control.h: Likewise.
23531 * include/grub/efi/efi.h: Likewise.
23532 * include/grub/efi/pe32.h: Likewise.
23533 * include/grub/i386/efi/time.h: Likewise.
23534 * kern/efi/efi.c: Likewise.
23535 * kern/i386/efi/init.c: Likewise.
23536 * kern/i386/efi/startup.S: Likewise.
23537 * util/i386/efi/grub-mkimage.c: Likewise.
23538
235392006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 23540
23541 * include/grub/script.h: Include <grub/parser.h> and
23542 "grub_script.tab.h".
23543 (struct grub_lexer_param): New struct.
23544 (struct grub_parser_param): Likewise.
23545 (grub_script_create_arglist): Pass the state in an argument.
23546 (grub_script_add_arglist): Likewise.
23547 (grub_script_create_cmdline): Likewise.
23548 (grub_script_create_cmdblock): Likewise.
23549 (grub_script_create_cmdif): Likewise.
23550 (grub_script_create_cmdmenu): Likewise.
23551 (grub_script_add_cmd): Likewise.
23552 (grub_script_arg_add): Likewise.
23553 (grub_script_lexer_ref): Likewise.
23554 (grub_script_lexer_deref): Likewise.
23555 (grub_script_lexer_record_start): Likewise.
23556 (grub_script_lexer_record_stop): Likewise.
23557 (grub_script_mem_record): Likewise.
23558 (grub_script_mem_record_stop): Likewise.
23559 (grub_script_malloc): Likewise.
23560 (grub_script_yylex): Likewise.
23561 (grub_script_yyparse): Likewise.
23562 (grub_script_yyerror): Likewise.
23563 (grub_script_yylex): Likewise.
23564 (grub_script_lexer_init): Return the state.
23565
23566 * normal/lexer.c (grub_script_lexer_state): Removed variable.
23567 (grub_script_lexer_done): Likewise.
23568 (grub_script_lexer_getline): Likewise.
23569 (grub_script_lexer_refs): Likewise.
23570 (script): Likewise.
23571 (newscript): Likewise.
23572 (record): Likewise.
23573 (recording): Likewise.
23574 (recordpos): Likewise.
23575 (recordlen): Likewise.
23576 (grub_script_lexer_init): Return the state instead of setting
23577 global variables.
23578 (grub_script_lexer_ref): Use the newly added argument for state
23579 instead of globals.
23580 (grub_script_lexer_deref): Likewise.
23581 (grub_script_lexer_record_start): Likewise.
23582 (grub_script_lexer_record_stop): Likewise.
23583 (recordchar): Likewise.
23584 (nextchar): Likewise.
23585 (grub_script_yylex2): Likewise.
23586 (grub_script_yylex): Likewise.
23587 (grub_script_yyerror): Likewise.
23588
23589 * normal/parser.y (func_mem): Removed variable.
23590 (menu_entry): Likewise.
23591 (err): Likewise.
23592 (%lex-param): New parser option.
23593 (%parse-param): Likewise.
23594 (script): Always return the AST.
23595 (argument): Pass the state around.
23596 (arguments): Likewise.
23597 (grubcmd): Likewise.
23598 (commands): Likewise.
23599 (function): Likewise.
23600 (menuentry): Likewise.
23601 (if_statement): Likewise.
23602 (if): Likewise.
23603
23604 * normal/script.c (grub_script_memused): Removed variable.
23605 (grub_script_parsed): Likewise.
23606 (grub_script_malloc): Added a state argument. Use that instead of
23607 global variables.
23608 (grub_script_mem_record): Likewise.
23609 (grub_script_mem_record_stop): Likewise.
23610 (grub_script_arg_add): Likewise.
23611 (grub_script_add_arglist): Likewise.
23612 (grub_script_create_cmdline): Likewise.
23613 (grub_script_create_cmdif): Likewise.
23614 (grub_script_create_cmdmenu): Likewise.
23615 (grub_script_add_cmd): Likewise.
23616 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 23617
e2a8c904 236182006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 23619
23620 * normal/command.c (grub_command_init): Remove the title command.
23621
23622 * normal/lexer.c (grub_script_yylex): Renamed from this...
23623 (grub_script_yylex2): ... to this.
23624 (grub_script_yylex): New function. Temporary
23625 introduced to filter some tokens.
23626 (grub_script_yyerror): Print a newline.
23627
23628 * normal/main.c (read_config_file): Output information about the
23629 lines that contain errors. Wait for a key after all lines have
23630 been processed. Don't return an empty menu.
23631
23632 * normal/parser.y (func_mem): Don't initialize.
23633 (menu_entry): Likewise.
23634 (err): New variable.
23635 (script): Don't return anything when an error was encountered.
23636 (ws, returns): Removed rules.
23637 (argument): Disabled concatenated variable support.
23638 (arguments): Remove explicit separators.
23639 (grubcmd): Likewise.
23640 (function): Likewise.
23641 (menuentry): Likewise.
23642 (if): Likewise.
23643 (commands): Likewise. Add error handling.
23644
23645 * normal/script.c (grub_script_create_cmdline): If
23646 `grub_script_parsed' is 0, assume the parser encountered an error.
23647
c9a86192 236482006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
23649
23650 * configure.ac: Add support for EFI. Fix the typo
23651 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
23652
70f3b243 236532006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
23654
23655 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
23656 foreign multibyte characters should be shown correctly.
23657
65f201ad 236582006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
23659
23660 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
23661 calculation.
23662 (read_config_file): Made it to close file before returning.
23663
b4b93674 236642006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
23665
23666 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
23667 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
23668 video/i386/pc/vbefill.c.
23669
23670 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
23671 video/i386/pc/vbefill.c.
23672
23673 * include/grub/video.h (grub_video_blit_format): New enum.
23674 (grub_video_mode_info): Added new member blit_format.
23675 (grub_video_get_blit_format): New function prototype.
23676
23677 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
23678 function prototype.
23679 (grub_video_vbe_map_rgb): Likewise.
23680 (grub_video_vbe_unmap_color): Likewise.
23681
23682 * include/grub/i386/pc/vbeblit.h: New file.
23683
23684 * include/grub/i386/pc/vbefill.h: New file.
23685
23686 * video/video.c (grub_video_get_blit_format): New function.
23687 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
23688 (grub_video_vbe_map_rgb): Likewise.
23689 (grub_video_vbe_unmap_color): Likewise.
23690
23691 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
23692 optimized fills.
23693 (grub_video_vbe_blit_render_target): Changed to use more optimized
23694 blits.
23695 (grub_video_vbe_setup): Added detection for optimized settings.
23696 (grub_video_vbe_create_render_target): Likewise.
23697
23698 * video/i386/pc/vbeblit.c: New file.
23699
23700 * video/i386/pc/vbefill.c: New file.
23701
c2379b9c 237022006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
23703
23704 * font/manager.c (grub_font_get_glyph): Removed font fixup from
23705 here...
23706
23707 * util/unifont2pff.rb: ... and moved it to here. Improved argument
23708 parsing to support both hex and dec ranges. If filename was missing
23709 show usage information.
23710
bd0d7896 237112006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
23712
23713 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
23714 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
23715
23716 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
23717 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
23718 (video_mod_SOURCES): Added.
23719 (video_mod_CFLAGS): Likewise.
23720 (video_mod_LDFLAGS): Likewise.
23721 (gfxterm_mod_SOURCES): Likewise.
23722 (gfxterm_mod_CFLAGS): Likewise.
23723 (gfxterm_mod_LDFLAGS): Likewise.
23724 (videotest_mod_SOURCES): Likewise.
23725 (videotest_mod_CFLAGS): Likewise.
23726 (videotest_mod_LDFLAGS): Likewise.
23727 (vesafb_mod_SOURCES): Removed.
23728 (vesafb_mod_CFLAGS): Likewise.
23729 (vesafb_mod_LDFLAGS): Likewise.
23730 (vga_mod_SOURCES): Likewise.
23731 (vga_mod_CFLAGS): Likewise.
23732 (vga_mod_LDFLAGS): Likewise.
23733
23734 * commands/videotest.c: New file.
23735
23736 * font/manager.c (fill_with_default_glyph): Modified to use
23737 grub_font_glyph.
23738 (grub_font_get_glyph): Likewise.
23739 (fontmanager): Renamed from this...
23740 (font_manager): ... to this.
23741
23742 * include/grub/font.h (grub_font_glyph): Added new structure.
23743 (grub_font_get_glyph): Modified to use grub_font_glyph.
23744
23745 * include/grub/misc.h (grub_abs): Added as inline function.
23746
23747 * include/grub/video.h: New file.
23748
23749 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
23750 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
23751 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
23752 (grub_vbe_get_controller_info): Renamed from this...
23753 (grub_vbe_bios_get_controller_info): ... to this.
23754 (grub_vbe_get_mode_info): Renamed from this...
23755 (grub_vbe_bios_get_mode_info): ... to this.
23756 (grub_vbe_set_mode): Renamed from this...
23757 (grub_vbe_bios_set_mode): ... to this.
23758 (grub_vbe_get_mode): Renamed from this...
23759 (grub_vbe_bios_get_mode): ... to this.
23760 (grub_vbe_set_memory_window): Renamed from this...
23761 (grub_vbe_bios_set_memory_window): ... to this.
23762 (grub_vbe_get_memory_window): Renamed from this...
23763 (grub_vbe_bios_get_memory_window): ... to this.
23764 (grub_vbe_set_scanline_length): Renamed from this...
23765 (grub_vbe_set_scanline_length): ... to this.
23766 (grub_vbe_get_scanline_length): Renamed from this...
23767 (grub_vbe_bios_get_scanline_length): ... to this.
23768 (grub_vbe_set_display_start): Renamed from this...
23769 (grub_vbe_bios_set_display_start): ... to this.
23770 (grub_vbe_get_display_start): Renamed from this...
23771 (grub_vbe_bios_get_display_start): ... to this.
23772 (grub_vbe_set_palette_data): Renamed from this...
23773 (grub_vbe_bios_set_palette_data): ... to this.
23774 (grub_vbe_set_pixel_rgb): Removed.
23775 (grub_vbe_set_pixel_index): Likewise.
23776
23777 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
23778 from this...
23779 (grub_vbe_bios_get_controller_info): ... to this.
23780 (grub_vbe_get_mode_info): Renamed from this...
23781 (grub_vbe_bios_get_mode_info): ... to this.
23782 (grub_vbe_set_mode): Renamed from this...
23783 (grub_vbe_bios_set_mode): ... to this.
23784 (grub_vbe_get_mode): Renamed from this...
23785 (grub_vbe_bios_get_mode): ... to this.
23786 (grub_vbe_set_memory_window): Renamed from this...
23787 (grub_vbe_bios_set_memory_window): ... to this.
23788 (grub_vbe_get_memory_window): Renamed from this...
23789 (grub_vbe_bios_get_memory_window): ... to this.
23790 (grub_vbe_set_scanline_length): Renamed from this...
23791 (grub_vbe_set_scanline_length): ... to this.
23792 (grub_vbe_get_scanline_length): Renamed from this...
23793 (grub_vbe_bios_get_scanline_length): ... to this.
23794 (grub_vbe_set_display_start): Renamed from this...
23795 (grub_vbe_bios_set_display_start): ... to this.
23796 (grub_vbe_get_display_start): Renamed from this...
23797 (grub_vbe_bios_get_display_start): ... to this.
23798 (grub_vbe_set_palette_data): Renamed from this...
23799 (grub_vbe_bios_set_palette_data): ... to this.
23800 (grub_vbe_bios_get_controller_info): Fixed problem with registers
23801 getting corrupted after calling it. Added more pushes and pops.
23802 (grub_vbe_bios_set_mode): Likewise.
23803 (grub_vbe_bios_get_mode): Likewise.
23804 (grub_vbe_bios_get_memory_window): Likewise.
23805 (grub_vbe_bios_set_scanline_length): Likewise.
23806 (grub_vbe_bios_get_scanline_length): Likewise.
23807 (grub_vbe_bios_get_display_start): Likewise.
23808 (grub_vbe_bios_set_palette_data): Likewise.
23809
23810 * normal/cmdline.c (cl_set_pos): Refresh the screen.
23811 (cl_insert): Likewise.
23812 (cl_delete): Likewise.
23813
23814 * term/gfxterm.c: New file.
23815
23816 * term/i386/pc/vesafb.c: Removed file.
23817
23818 * video/video.c: New file.
23819
23820 * video/i386/pc/vbe.c (real2pm): Added new function.
23821 (grub_video_vbe_draw_pixel): Likewise.
23822 (grub_video_vbe_get_video_ptr): Likewise.
23823 (grub_video_vbe_get_pixel): Likewise
23824 (grub_video_vbe_init): Likewise.
23825 (grub_video_vbe_fini): Likewise.
23826 (grub_video_vbe_setup): Likewise.
23827 (grub_video_vbe_get_info): Likewise.
23828 (grub_video_vbe_set_palette): Likewise.
23829 (grub_video_vbe_get_palette): Likewise.
23830 (grub_video_vbe_set_viewport): Likewise.
23831 (grub_video_vbe_get_viewport): Likewise.
23832 (grub_video_vbe_map_color): Likewise.
23833 (grub_video_vbe_map_rgb): Likewise.
23834 (grub_video_vbe_map_rgba): Likewise.
23835 (grub_video_vbe_unmap_color): Likewise.
23836 (grub_video_vbe_fill_rect): Likewise.
23837 (grub_video_vbe_blit_glyph): Likewise.
23838 (grub_video_vbe_blit_bitmap): Likewise.
23839 (grub_video_vbe_blit_render_target): Likewise.
23840 (grub_video_vbe_scroll): Likewise.
23841 (grub_video_vbe_swap_buffers): Likewise.
23842 (grub_video_vbe_create_render_target): Likewise.
23843 (grub_video_vbe_delete_render_target): Likewise.
23844 (grub_video_vbe_set_active_render_target): Likewise.
23845 (grub_vbe_set_pixel_rgb): Remove function.
23846 (grub_vbe_set_pixel_index): Likewise.
23847 (index_color_mode): Remove static variable.
23848 (active_mode): Likewise.
23849 (framebuffer): Likewise.
23850 (bytes_per_scan_line): Likewise.
23851 (grub_video_vbe_adapter): Added new static variable.
23852 (framebuffer): Likewise.
23853 (render_target): Likewise.
23854 (initial_mode): Likewise.
23855 (mode_in_use): Likewise.
23856 (mode_list): Likewise.
23857
5f97350b 238582006-03-10 Marco Gerards <marco@gnu.org>
23859
23860 * configure.ac (AC_INIT): Bumped to 1.93.
23861
23862 * DISTLIST: Added `include/grub/hfs.h'.
23863
a3c5c6f8 238642006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
23865
23866 * boot/i386/pc/boot.S (general_error): Before looping, try INT
23867 18H, which might help the BIOS falling back to next boot media.
23868
6de53d26 238692006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
23870
23871 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
23872 Poe Chen <poe.poechen@gmail.com>.
23873
77c4a393 238742006-01-17 Marco Gerards <marco@gnu.org>
23875
23876 * include/grub/normal.h: Include <grub/script.h>.
23877 (grub_command_list): Removed struct.
23878 (grub_command_list_t): Removed type.
23879 (grub_menu_entry): Remove members `num' and `command_list'. Add
23880 members `commands' and `sourcecode'.
23881 * include/grub/script.h: Add inclusion guards.
23882 (grub_script_cmd_menuentry): New struct.
23883 (grub_script_execute_menuentry): New prototype.
23884 (grub_script_lexer_record_start): Likewise.
23885 (grub_script_lexer_record_stop): Likewise.
23886 * normal/execute.c (grub_script_execute_menuentry): New function.
23887 * normal/lexer.c (record, recording, recordpos, recordlen): New
23888 variables.
23889 (grub_script_lexer_record_start): New function.
23890 (grub_script_lexer_record_stop): Likewise.
23891 (recordchar): Likewise.
23892 (nextchar): Likewise.
23893 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
23894 2048 as the buffer size. Add the tokens `menuentry' and `@'.
23895 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
23896 (current_menu): New variable.
23897 (free_menu): Mainly rewritten.
23898 (grub_normal_menu_addentry): New function.
23899 (read_config_file): Rewritten.
23900 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 23901 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 23902 the menu entry.
23903 (run): Mainly rewritten.
23904 * normal/parser.y (menu_entry): New variable.
23905 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
23906 (menuentry): New rule.
23907 (command): Add `menuentry'.
23908 (if_statement): Allow additional returns before `fi'.
23909 * normal/script.c (grub_script_create_cmdmenu): New function.
23910
144f1f98 239112006-01-03 Marco Gerards <marco@gnu.org>
23912
23913 * INSTALL: GNU Bison is required.
23914 * configure.ac: Rewritten the test to detect Bison.
23915 * Makefile.in (YACC): New variable. Reported by Xun Sun
23916 <xun.sun.cn@gmail.com>.
23917
af4b2d89 239182006-01-03 Marco Gerards <marco@gnu.org>
23919
23920 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
23921 the HFS+ filesystem to filesystem blocks.
23922 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
23923 GCC warning is silenced.
23924
15643b71 239252006-01-03 Marco Gerards <marco@gnu.org>
23926
23927 * partmap/apple.c (apple_partition_map_iterate): Convert the data
23928 read from disk from big endian to host byte order.
23929
00905879 239302006-01-03 Hollis Blanchard <hollis@penguinppc.org>
23931
23932 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
23933 documentation.
23934 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
23935 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
23936 embedded HFS+ filesystem.
23937 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
23938 (grub_hfs_sblock): Move from here...
23939 * include/grub/hfs.h: To here... New file.
23940 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
23941 documentation.
23942 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
23943 New macros.
23944 (grub_hfsplus_volheader): Change type of member `magic' to
23945 `grub_uint16_t'.
23946 (grub_hfsplus_data): Add new member `embedded_offset'.
23947 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
23948 returned block.
23949 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
23950 Calculate the offset.
23951
8899bc3e 239522005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23953
23954 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
23955 Removed.
23956 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
23957
ae8c0277 239582005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23959
23960 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
23961 ENV->NAME is NULL after allocating ENV->VALUE.
23962
07084456 239632005-12-25 Marco Gerards <marco@gnu.org>
23964
23965 * kern/env.c (grub_env_set): Rewritten the error handling code.
23966
4750f5f1 239672005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23968
23969 * geninit.sh: Made more robust, and more portable.
23970
50214199 239712005-12-25 Marco Gerards <marco@gnu.org>
23972
23973 Add support for Apple HFS+ filesystems.
f19dbdb7 23974
50214199 23975 * fs/hfsplus.c: New file.
23976
23977 * DISTLIST: Added `fs/hfsplus.c'.
23978
23979 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
23980 (hfsplus_mod_SOURCES): New variable.
23981 (hfsplus_mod_CFLAGS): Likewise.
23982 (hfsplus_mod_LDFLAGS): Likewise.
23983 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
23984 (grub_setup_SOURCES): Likewise.
23985 (grub_mkdevicemap_SOURCES): Likewise.
23986 (grub_emu_SOURCES): Likewise.
23987 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23988
23989 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
23990
23991 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
23992
befaed6c 239932005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23994
23995 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
23996 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
23997 include/grub/parser.h, include/grub/script.h, kern/parser.c,
23998 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
23999 normal/lexer.c, normal/parser.y, normal/script.c, and
24000 partmap/gpt.c.
24001 Removed kern/sparc64/cache.c.
24002
24003 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
24004 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
24005 grub_emu_init.c.
24006
24007 * configure.ac (AC_INIT): Bumped to 1.92.
24008
6a124103 240092005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
24010
24011 * kern/err.c (grub_error_push): Added new function to support error
24012 stacks.
24013 (grub_error_pop): Likewise.
24014 (grub_error_stack_items): New local variable to support error stacks.
24015 (grub_error_stack_pos): Likewise.
24016 (grub_error_stack_assert): Likewise.
24017 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
24018 stack depth.
24019 (grub_print_error): Added support to print errors from error stack.
24020
24021 * include/grub/err.h (grub_error_push): Added function prototype.
24022 (grub_error_pop): Likewise.
24023
be973c1b 240242005-12-09 Hollis Blanchard <hollis@penguinppc.org>
24025
24026 * configure.ac: Accept `powerpc64' as host_cpu.
24027 (amd64): Rename to `biarch32'.
24028
24029 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
24030 non-cacheline-aligned addresses.
24031
24032 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
24033 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
24034 if `size' is non-zero.
24035
b04216ab 240362005-12-03 Marco Gerards <mgerards@xs4all.nl>
24037
24038 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
24039 and `cd' to make sure the filename is not prefixed with a
24040 directory name.
24041 (pkgdata_MODULES): Add `gpt.mod'.
24042 (gpt_mod_SOURCES): New variable.
24043 (gpt_mod_CFLAGS): Likewise.
24044 (gpt_mod_LDFLAGS): Likewise.
24045
24046 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
24047
24048 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
24049 New macro.
24050
24051 * partmap/gpt.c: New file.
24052
24053 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
24054 GPT partition map is detected.
24055
41730ed9 240562005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
24057
24058 * commands/i386/pc/play.c: New file.
24059 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
24060 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
24061 macros.
f19dbdb7 24062
95dc3643 240632005-11-27 Marco Gerards <mgerards@xs4all.nl>
24064
24065 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
24066 ((unused))' to silence gcc warning.
24067
1569ec51 240682005-11-26 Hollis Blanchard <hollis@penguinppc.org>
24069
24070 * configure.ac: Correct `AC_PROG_YACC' test.
24071
9abde152 240722005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24073
24074 * util/powerpc/ieee1275/grub-install.in: Run the mount point
24075 check before installing files.
24076
44b83271 240772005-11-22 Mike Small <smallm@panix.com>
24078
24079 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
24080 number regex so multidigit numbers are recognized correctly.
24081
240822005-11-22 Mike Small <smallm@panix.com>
24083
24084 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
24085 debugging message before attempting to claim memory.
24086 (grub_rescue_cmd_initrd): Add a claim debugging message and try
24087 multiple addresses in case of failure.
24088
9c12956b 240892005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24090
24091 * term/tparm.c (get_space): Remove empty `if' statement.
24092
24093 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
24094
24095 * kern/parser.c (check_varstate): Rename `state' to 's'.
24096
aeaf81d9 240972005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24098
24099 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
24100 variable definitions to the beginning of each function. Sort stack
24101 variables by size.
24102 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
24103 `buf' argument to `char *'.
24104
79bbb63f 241052005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24106
24107 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
24108 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 24109 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 24110 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
24111 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
24112 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
24113 configfile.mod, search.mod, gzio.mod and test.mod.
24114 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
24115 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
24116 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
24117 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
24118 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
24119 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
24120 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
24121 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
24122 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
24123 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
24124 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24125 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24126 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
24127 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
24128 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
24129 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
24130 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24131 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
24132 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
24133 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
24134 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
24135 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
24136 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
24137
24138 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
24139 `grep --include'.
24140 (pkgdata_MODULES): Add test.mod.
24141
233b1628 241422005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24143
24144 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
24145 appending to variables with "+=".
24146 (PModule): Use full pathname to generate *.lst filenames.
24147
24148 * Makefile.in: Fixed list rules moved from genmk.rb.
24149 (.DELETE_ON_ERROR): New special target.
24150 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
24151
24152 * conf/i386-pc.rmk: Include conf/common.mk.
24153 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 24154 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 24155 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
24156 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
24157 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
24158 configfile.mod, search.mod, gzio.mod and test.mod.
24159 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
24160 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
24161 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
24162 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
24163 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
24164 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
24165 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
24166 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
24167 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
24168 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
24169 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24170 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24171 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
24172 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
24173 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
24174 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
24175 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24176 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
24177 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
24178 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
24179 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
24180 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
24181 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
24182 here...
24183 * conf/common.rmk: ... to here. New file.
24184
24185 * conf/common.mk: New file.
24186
16f820c8 241872005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
24188
24189 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
24190 (grub_script.tab.c): ... here.
24191
24192 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
24193 (grub_script.tab.c): ... here.
24194
24195 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
24196 (grub_script.tab.c): ... here.
24197
24198 * normal/command.c (grub_command_find): Fixed a memory leak of
24199 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
24200
63ba1554 242012005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24202
24203 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
24204 "@" which marks the start of a comment on ARM.
24205 (VARIABLE): Likewise.
24206
7f67dc13 242072005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24208
79bbb63f 24209 Add support for Linux/ADFS partition tables.
7f67dc13 24210
24211 * partmap/acorn.c: New file.
24212
24213 * include/grub/acorn_filecore.h: Likewise.
24214
24215 * DISTLIST: Added `partmap/acorn.c' and
24216 `include/grub/acorn_filecore.h'.
f19dbdb7 24217
7f67dc13 24218 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24219 `partmap/acorn.c'.
24220 (pkgdata_MODULES): Add `acorn.mod'.
24221 (acorn_mod_SOURCES): New variable.
24222 (acorn_mod_CFLAGS): Likewise.
24223
24224 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
24225 `partmap/acorn.c'.
24226 (pkgdata_MODULES): Add `acorn.mod'.
24227 (acorn_mod_SOURCES): New variable.
24228 (acorn_mod_CFLAGS): Likewise.
24229
24230 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
24231 (pkgdata_MODULES): Add `acorn.mod'.
24232 (acorn_mod_SOURCES): New variable.
24233 (acorn_mod_CFLAGS): Likewise.
24234 (acorn_mod_LDFLAGS): Likewise.
24235
24236 * include/types.h (grub_disk_addr_t): New typedef.
24237
6d099807 242382005-11-13 Marco Gerards <mgerards@xs4all.nl>
24239
24240 * geninit.sh: New file.
24241
24242 * geninitheader.sh: Likewise.
24243
24244 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
24245 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
24246 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
24247 * commands/configfile.c (grub_configfile_init)
24248 (grub_configfile_fini): Likewise.
24249 * commands/default.c (grub_default_init, grub_default_fini):
24250 Likewise.
24251 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
24252 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
24253 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
24254 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
24255 Likewise.
24256 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
24257 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
24258 Likewise.
24259 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 24260 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 24261 Likewise.
24262 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
24263 Likewise.
fe6b695a 24264 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 24265 Likewise.
24266 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
24267 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
24268 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
24269 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
24270 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
24271 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
24272 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
24273 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
24274 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
24275 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
24276 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
24277 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
24278 * partmap/amiga.c (grub_amiga_partition_map_init)
24279 (grub_amiga_partition_map_fini): Likewise.
24280 * partmap/apple.c (grub_apple_partition_map_init)
24281 (grub_apple_partition_map_fini): Likewise.
24282 * partmap/pc.c (grub_pc_partition_map_init)
24283 (grub_pc_partition_map_fini): Likewise.
24284 * partmap/sun.c (grub_sun_partition_map_init,
24285 grub_sun_partition_map_fini): Likewise.
24286 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
24287 Likewise.
24288
24289 * util/grub-emu.c: Include <grub_modules_init.h>.
24290 (main): Don't initialize and de-initialize any modules directly,
24291 use `grub_init_all' and `grub_fini_all' instead.
24292
24293 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
24294 `grub_vesafb_mod_init'.
24295 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
24296 all users.
24297 * term/i386/pc/vga.c (grub_vga_init): Renamed to
24298 `grub_vga_mod_init'. Updated all users.
24299 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 24300
6d099807 24301 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
24302 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
24303 rules.
24304
24305 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
24306 Generate a function to initialize the module in utilities.
24307 Updated all callers.
24308 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
24309 initialize the module in utilities. Updated all callers.
24310
9046bcf0 243112005-11-09 Hollis Blanchard <hollis@penguinppc.org>
24312
24313 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
24314 escape sequence and a literal ^L to clear the screen.
24315
24316 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
24317 when returning from Open Firmware.
24318
d13ea639 243192005-11-09 Hollis Blanchard <hollis@penguinppc.org>
24320
24321 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
24322 (grub_ofconsole_height): Likewise.
24323 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
24324 manually insert a '\n'.
24325 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
24326 `grub_ofconsole_height'. Return early if these are already set.
24327
a8fcf206 243282005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
24329
24330 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
24331 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
24332 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
24333 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
24334 and `normal/script.c'.
24335 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24336 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24337 (test_mod_SOURCES): New variable.
24338 (test_mod_CFLAGS): Likewise.
24339 (test_mod_LDFLAGS): Likewise.
24340 (pkgdata_MODULES): Add `test.mod'.
24341 (grub_script.tab.c): New rule.
24342 (grub_script.tab.h): Likewise.
24343
b6b32745 243442005-11-07 Marco Gerards <mgerards@xs4all.nl>
24345
24346 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24347 `commands/test.c', `normal/execute.c', `normal/lexer.c',
24348 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24349 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24350 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24351 (test_mod_SOURCES): New variable.
24352 (test_mod_CFLAGS): Likewise.
24353 (pkgdata_MODULES): Add `test.mod'.
24354 (grub_script.tab.c): New rule.
24355 (grub_script.tab.h): Likewise.
24356
daac212a 243572005-11-06 Marco Gerards <mgerards@xs4all.nl>
24358
24359 Add initial scripting support.
24360
24361 * commands/test.c: New file.
24362 * include/grub/script.h: Likewise.
24363 * normal/execute.c: Likewise.
24364 * normal/function.c: Likewise.
24365 * normal/lexer.c: Likewise.
24366 * normal/parser.y: Likewise.
24367 * normal/script.c: Likewise.
24368
24369 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 24370
daac212a 24371 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
24372 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
24373 `normal/function.c' and `normal/script.c'.
24374 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24375 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 24376 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
24377 variables.
daac212a 24378 (pkgdata_MODULES): Add `test.mod'.
24379 (grub_script.tab.c): New rule.
24380 (grub_script.tab.h): Likewise.
24381
24382 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
24383
24384 * include/grub/normal.h (grub_test_init): New prototype.
24385 (grub_test_fini): Likewise.
f19dbdb7 24386
daac212a 24387 * normal/command.c: Include <grub/script.h>.
24388 (grub_command_execute): Rewritten.
f19dbdb7 24389
daac212a 24390 * util/grub-emu.c (main): Call `grub_test_init' and
24391 `grub_test_fini'.
24392
77500b2b 243932005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24394
24395 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
24396 to 0.
24397 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
24398 there are no pending characters.
24399
e45deb9e 244002005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24401
24402 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
24403 `grub_strndup' to drop device arguments. Replace unnecessary
24404 `grub_strndup' with `grub_strdup'.
24405
4ce32619 244062005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24407
24408 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
24409 `debug' environment variable has been set.
24410
244112005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 24412
4ce32619 24413 * Makefile.in (install-local): Use $(DATA).
24414 (uninstall): Likewise.
24415 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
24416 (sbin_UTILITIES): ... to here.
24417 (sbin_SCRIPTS): New variable.
24418 (grub_install_SOURCES): New variable.
24419 * util/powerpc/ieee1275/grub-install.in: New file.
24420 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
24421 variable.
24422 (add_segments): Call `grub_util_get_path'.
24423
25fe6f03 244242005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
24425
24426 From Timothy Baldwin:
24427 * commands/ls.c (grub_ls_list_files): Close FILE with
24428 grub_file_close.
24429 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
24430
04ccf3ec 244312005-10-24 Marco Gerards <mgerards@xs4all.nl>
24432
24433 * include/grub/parser.h: New file.
24434
24435 * kern/parser.c: Likewise.
24436
24437 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
24438 (grub_setup_SOURCES): Likewise.
24439 (grub_probefs_SOURCES): Likewise.
24440 (grub_emu_SOURCES): Likewise.
24441 (kernel_img_HEADERS): Add `parser.h'.
24442
24443 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
24444 (grub_emu_SOURCES): Add `kern/parser.c'.
24445 (grubof_SOURCES): Likewise.
24446
24447 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
24448 (grubof_SOURCES): Add `kern/parser.c'.
24449
24450 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
24451
24452 * kern/misc.c (grub_split_cmdline): Removed function.
24453
24454 * kern/rescue.c: Include <grub/parser.h>.
24455 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
24456 of `grub_split_cmdline'.
24457
24458 * normal/command.c: Include <grub/parser.h>.
24459 (grub_command_execute): Use `grub_parser_split_cmdline' instead
24460 of `grub_split_cmdline'.
24461
24462 * normal/completion.c: Include <grub/parser.h>.
24463 (cmdline_state): New variable.
24464 (iterate_dir): End the filename with a quote depending on the
24465 command line state.
24466 (get_state): new function.
24467 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
24468 split the arguments and determine the current argument. When the
24469 argument string is not quoted, escape all spaces.
24470
6d8f4b0e 244712005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24472
24473 * normal/sparc64/setjmp.S: New file.
24474
15cf03ed 244752005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24476
24477 * include/grub/sparc64/libgcc.h: New file.
24478 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
24479 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
24480 normal/sparc64/setjmp.c.
24481
03e8661a 244822005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24483
24484 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
24485 * kern/sparc64/cache.S: New file.
24486 * kern/sparc64/cache.c: Removed.
24487 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
24488 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
24489 -mtune=ultrasparc.
24490 (COMMON_LDFLAGS): Add -melf64_sparc.
24491 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
24492 (grubof_SOURCES): Use cache.S instead of cache.c.
24493 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
24494 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
24495 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
24496 commented though.
24497 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
24498 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
24499 (linux_mod_CFLAGS): Commented out.
24500 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
24501 out because module isn't built.
24502 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
24503 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
24504 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
24505 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
24506 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
24507 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
24508 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
24509 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
24510 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
24511 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
24512 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24513 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24514 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
24515 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
24516
34eeec8a 245172005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
24518
24519 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
24520 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
24521 longer, because HFS should not be used on PC.
24522
708367a3 245232005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24524
24525 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
24526 consistently within the loop.
24527
6fa1251a 245282005-10-15 Marco Gerards <mgerards@xs4all.nl>
24529
24530 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
24531 directory can not be read.
24532
4801580b 245332005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24534
24535 * configure.ac (AC_INIT): Increase the version number to 1.91.
24536
24537 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
24538 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
24539 term/i386/pc/serial.c.
24540
219ad426 245412005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24542
24543 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
24544 file size must be permitted.
24545
24546 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
24547 between %ah and %al.
24548
688e5699 245492005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24550
24551 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
24552 grub_uint64_t.
24553 Call the hook with a NUL-terminated filename.
24554 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
24555 grub_cpu_to_be32.
24556
24557 * kern/term.c (cursor_state): New variable.
24558 (grub_term_set_current): Reset the cursor state on a new
24559 terminal.
24560 (grub_setcursor): Rewritten to use CURSOR_STATE.
24561 (grub_getcursor): New function.
24562
24563 * include/grub/term.h (grub_getcursor): New prototype.
24564
24565 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
24566 integers on ARM. Reported by Timothy Baldwin
24567 <T.E.Baldwin99@members.leeds.ac.uk>.
24568
bb34586c 245692005-10-11 Marco Gerards <mgerards@xs4all.nl>
24570
24571 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
24572 allocated.
24573 (grub_sfs_dir): Likewise.
24574
9a909877 245752005-10-09 Marco Gerards <mgerards@xs4all.nl>
24576
24577 Add support for the SFS filesystem.
24578
24579 * fs/sfs.c: New file.
24580
24581 * DISTLIST: Added `fs/sfs.c'.
24582
24583 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
24584 (grub_probefs_SOURCES): Likewise.
24585 (grub_emu_SOURCES): Likewise.
24586 (pkgdata_MODULES): Add `sfs.mod'.
24587 (sfs_mod_SOURCES): New variable.
24588 (sfs_mod_CFLAGS): Likewise.
24589 (sfs_mod_LDFLAGS): Likewise.
24590
24591 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
24592 (pkgdata_MODULES): Add `sfs.mod'.
24593 (sfs_mod_SOURCES): New variable.
24594 (sfs_mod_CFLAGS): Likewise.
24595
24596 * util/grub-emu.c (main): Call `grub_sfs_init' and
24597 `grub_sfs_fini'.
24598
24599 * include/grub/fs.h (grub_sfs_init): New prototype.
24600 (grub_sfs_fini): Likewise.
24601
57bdbde3 246022005-10-07 Marco Gerards <mgerards@xs4all.nl>
24603
24604 Add support for the AFFS filesystem.
24605
24606 * fs/affs.c: New file.
24607
24608 * DISTLIST: Added `fs/affs.c'.
24609
24610 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
24611 (grub_probefs_SOURCES): Likewise.
24612 (grub_emu_SOURCES): Likewise.
24613 (pkgdata_MODULES): Add `affs.mod'.
24614 (affs_mod_SOURCES): New variable.
24615 (affs_mod_CFLAGS): Likewise.
24616 (affs_mod_LDFLAGS): Likewise.
24617
24618 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
24619 (pkgdata_MODULES): Add `affs.mod'.
24620 (affs_mod_SOURCES): New variable.
24621 (affs_mod_CFLAGS): Likewise.
24622
24623 * util/grub-emu.c (main): Call `grub_affs_init' and
24624 `grub_affs_fini'.
24625
24626 * include/grub/fs.h (grub_affs_init): New prototype.
24627 (grub_affs_fini): Likewise.
24628
047b67e0 246292005-10-01 Marco Gerards <mgerards@xs4all.nl>
24630
24631 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
24632
59b8208a 246332005-10-01 Marco Gerards <mgerards@xs4all.nl>
24634
24635 * configure.ac: Accept `x86_64' as host_cpu. In that case add
24636 `-m32' to CFLAGS.
24637
24638 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
24639 linking.
f19dbdb7 24640
59b8208a 24641 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
24642 (COMMON_LDFLAGS): New variable.
24643 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
24644 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
24645 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
24646 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
24647 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
24648 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
24649 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
24650 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
24651 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
24652 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
24653 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
24654 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
24655 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
24656 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
24657 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
24658 variables.
24659 (normal_mod_ASFLAGS): Add `-m32'.
24660
24661 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
24662 (grub_host_size_t, grub_host_ssize_t): New types.
24663 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 24664 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 24665 `GRUB_HOST_SIZEOF_VOID_P'.
24666
24667 * include/grub/kernel.h (struct grub_module_header): Type of
24668 member offset changed to `grub_host_off_t'. Type of member size
24669 changed to `grub_host_size_t'.
24670 (struct grub_module_info): Type of member offset changed to
24671 `grub_host_off_t'. Type of member size changed to
24672 `grub_host_size_t'.
24673
b4093103 246742005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
24675
24676 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 24677
b4093103 24678 * kern/i386/pc/startup.S (multiboot_header): New label.
24679 (multiboot_entry): Likewise.
24680 (multiboot_trampoline): Likewise.
24681
24682 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24683 Increased to 0x4A0.
24684
24685 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
24686 put parentheses after a question mark.
24687 [!GRUB_UTIL] (my_mod): New variable.
24688
24689 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
24690
b2499b29 246912005-09-28 Marco Gerards <mgerards@xs4all.nl>
24692
24693 Adds support for the XFS filesystem. Btrees are not supported
24694 yet.
24695
24696 * fs/xfs.c: New file.
24697
24698 * DISTLIST: Added `fs/xfs.c'.
24699
24700 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
24701 (grub_probefs_SOURCES): Likewise.
24702 (grub_emu_SOURCES): Likewise.
24703 (pkgdata_MODULES): Add `xfs.mod'.
24704 (xfs_mod_SOURCES): New variable.
24705 (xfs_mod_CFLAGS): Likewise.
24706
24707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
24708 (pkgdata_MODULES): Add `xfs.mod'.
24709 (xfs_mod_SOURCES): New variable.
24710 (xfs_mod_CFLAGS): Likewise.
24711
24712 * util/grub-emu.c (main): Call `grub_xfs_init' and
24713 `grub_xfs_fini'.
24714
24715 * include/grub/fs.h (grub_xfs_init): New prototype.
24716 (grub_xfs_fini): Likewise.
24717
f19dbdb7 24718
83d37a62 247192005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
24720
24721 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
24722 color modes, allow greater than 16 colors to be configured as
24723 a default palette.
24724
47d2d65e 247252005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
24726
24727 * normal/completion.c (complete_arguments): Add the qualifier
24728 const into OPTIONS.
24729
24730 From Omniflux <omniflux+lists@omniflux.com>:
24731 * include/grub/terminfo.h: New file.
24732 * include/grub/tparm.h: Likewise.
24733 * include/grub/i386/pc/serial.h: Likewise.
24734 * term/terminfo.c: Likewise.
24735 * term/tparm.c: Likewise.
24736 * term/i386/pc/serial.c: Likewise.
24737 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
24738 serial.mod.
24739 (terminfo_mod_SOURCES): New variable.
24740 (terminfo_mod_CFLAGS): Likewise.
24741 (serial_mod_SOURCES): Likewise.
24742 (serial_mod_CFLAGS): Likewise.
24743
48b671ff 247442005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
24745
24746 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
24747 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
24748 and kern/powerpc/ieee1275/cmain.c, respectively.
24749
24750 * boot/powerpc/ieee1275/crt0.S: Moved to ...
24751 * kern/powerpc/ieee1275/crt0.S: ... here.
24752
24753 * boot/powerpc/ieee1275/cmain.c: Moved to ...
24754 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 24755
48b671ff 24756 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
24757 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
24758 instead of boot/powerpc/ieee1275/crt0.S and
24759 boot/powerpc/ieee1275/cmain.c, respectively.
24760
24761 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
24762 sectors. It was not used anyway.
24763
09fc77a7 247642005-08-30 Hollis Blanchard <hollis@penguinppc.org>
24765
24766 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
24767 `unused parameter' warning.
24768
003789c7 247692005-08-30 Hollis Blanchard <hollis@penguinppc.org>
24770
24771 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
24772 function.
24773 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
24774 getcharwidth.
24775
67f44c86 247762005-08-28 Marco Gerards <metgerards@student.han.nl>
24777
24778 * include/grub/normal.h (enum grub_completion_type): Added
24779 `GRUB_COMPLETION_TYPE_ARGUMENT'.
24780
24781 * normal/cmdline.c (print_completion): Handle
24782 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
24783 * normal/menu_entry.c (store_completion): Likewise.
24784
24785 * normal/completion.c (complete_arguments): New function.
24786 (grub_normal_do_completion): Call `complete_arguments' when the
24787 current words start with a dash.
24788
0b5abe02 247892005-08-27 Marco Gerards <metgerards@student.han.nl>
24790
24791 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
24792 `gzio.mod' instead of `io.mod').
24793
d9864ee1 247942005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
24795
24796 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
24797 (DISTDIRS): Added io and video.
24798 Rewrite the search routine to make an output consistently.
24799
24800 * DISTLIST: Added conf/sparc64-ieee1275.mk,
24801 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
24802 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
24803 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
24804 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
24805 util/powerpc/ieee1275/misc.c.
f19dbdb7 24806
d9864ee1 24807 * include/grub/gzio.h: New file.
24808 * io/gzio.c: Likewise.
f19dbdb7 24809
d9864ee1 24810 * kern/file.c (grub_file_close): Call grub_device_close only if
24811 FILE->DEVICE is not NULL.
24812
24813 * include/grub/mm.h [!NULL] (NULL): New macro.
24814
24815 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
24816
24817 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
24818 (pkgdata_MODULES): Added gzio.mod.
24819 (gzio_mod_SOURCES): New variable.
24820 (gzio_mod_CFLAGS): Likewise.
24821
24822 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
24823 (pkgdata_MODULES): Added gzio.mod.
24824 (gzio_mod_SOURCES): New variable.
24825 (gzio_mod_CFLAGS): Likewise.
24826
24827 * commands/cat.c: Include grub/gzio.h.
24828 (grub_cmd_cat): Use grub_gzfile_open instead of
24829 grub_file_open.
f19dbdb7 24830
d9864ee1 24831 * commands/cmp.c: Include grub/gzio.h.
24832 (grub_cmd_cmp): Use grub_gzfile_open instead of
24833 grub_file_open.
24834
24835 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
24836 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
24837 grub_file_open.
24838 (grub_rescue_cmd_module): Likewise.
24839
fa46f4b5 248402005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
24841
24842 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
24843 kern/sparc64/ieee1275/init.c because it contains _start.
24844 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
24845
e9211b5d 248462005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
24847
24848 * configure.ac: Add support for sparc64 host with ieee1275
24849 firmware.
24850 * configure: Generated from configure.ac.
24851 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
24852 instead of int.
24853 (grub_ofdisk_read): Likewise.
24854 (grub_ofdisk_open): Use %p to print pointer values, and cast the
24855 pointers as (void *) to remove a warning.
24856 (grub_ofdisk_close): Likewise.
24857 (grub_ofdisk_read): Likewise.
24858 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
24859 returns, so make it return void to remove a warning.
24860 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
24861 Corresponding prototype change.
24862 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
24863 values, and cast the pointers as (void *) to remove a warning.
24864 (grub_mm_dump): Likewise.
24865 * conf/sparc64-ieee1275.mk: New file.
24866 * conf/sparc64-ieee1275.rmk: Likewise.
24867 * include/grub/sparc64/setjmp.h: Likewise.
24868 * include/grub/sparc64/types.h: Likewise.
24869 * include/grub/sparc64/ieee1275/console.h: Likewise.
24870 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24871 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24872 * include/grub/sparc64/ieee1275/time.h: Likewise.
24873 * kern/sparc64/cache.c: Likewise.
24874 * kern/sparc64/dl.c: Likewise.
24875 * kern/sparc64/ieee1275/init.c: Likewise.
24876 * kern/sparc64/ieee1275/openfw.c: Likewise.
24877
385c6a92 248782005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
24879
24880 * util/console.c (grub_ncurses_putchar): If C is greater than
24881 0x7f, set C to a question mark.
24882 (grub_ncurses_getcharwidth): New function.
24883 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
24884 getcharwidth.
24885
24886 * normal/menu.c (print_entry): Made aware of Unicode. First,
24887 convert TITLE to UCS-4, and predict the cursor position by
24888 grub_getcharwidth.
24889
24890 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
24891 const to SRC.
24892 * kern/misc.c (grub_utf16_to_utf8): Likewise.
24893
16ccb8b1 248942005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24895
24896 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
24897 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24898 grub_strcat.
24899
24900 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
24901 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24902 grub_strcpy and grub_strlen. Take it into account that a space
24903 character is inserted as a delimiter.
24904
6a85ce79 249052005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24906
24907 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 24908 invalid magic in the error.
6a85ce79 24909
24910 * commands/search.c: New file.
f19dbdb7 24911
6a85ce79 24912 * util/grub-emu.c (main): Call grub_search_init and
24913 grub_search_fini.
24914
24915 * kern/rescue.c (grub_rescue_print_disks): Removed.
24916 (grub_rescue_print_devices): New function.
24917 (grub_rescue_cmd_ls): Use grub_device_iterate with
24918 grub_rescue_print_devices instead of grub_disk_dev_iterate with
24919 grub_rescue_print_disks.
24920
24921 * kern/partition.c (grub_partition_iterate): Return the result of
24922 PARTMAP->ITERATE instead of GRUB_ERRNO.
24923
24924 * kern/device.c: Include grub/partition.h.
24925 (grub_device_iterate): New function.
24926
24927 * include/grub/partition.h (grub_partition_iterate): Return int
24928 instead of grub_err_t.
24929
24930 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
24931 prototype.
24932 [GRUB_UTIL] (grub_search_fini): Likewise.
24933
24934 * include/grub/device.h (grub_device_iterate): New prototype.
24935
24936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24937 commands/search.c.
24938 (pkgdata_MODULES): Added search.mod.
24939 (search_mod_SOURCES): New variable.
24940 (search_mod_CFLAGS): Likewise.
24941
24942 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
24943 (pkgdata_MODULES): Added search.mod.
24944 (search_mod_SOURCES): New variable.
24945 (search_mod_CFLAGS): Likewise.
24946
24947 * commands/ls.c (grub_ls_list_disks): Renamed to ...
24948 (grub_ls_list_devices): ... this, and use grub_device_iterate.
24949 All callers changed.
24950
24951 * DISTLIST: Added commands/search.c.
24952
ef095434 249532005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24954
24955 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
24956 conversion.
24957 (grub_getcharwidth): New function.
24958
24959 * kern/misc.c (grub_utf8_to_ucs4): New function.
24960
24961 * include/grub/term.h (struct grub_term): Added a new member
24962 "getcharwidth".
24963 (grub_getcharwidth): New prototype.
24964
24965 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
24966
24967 * term/i386/pc/console.c (map_char): New function. Segregated from
24968 grub_console_putchar.
24969 (grub_console_putchar): Use map_char.
24970 (grub_console_getcharwidth): New function.
24971 (grub_console_term): Specified grub_console_getcharwidth as
24972 getcharwidth.
24973
24974 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
24975 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
24976
24977 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
24978 GRUB_ERRNO.
24979 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
24980 on grub_strtoul completely.
24981 (write_char): Declare local variables in the beginning of the
24982 function.
24983 (grub_vesafb_getcharwidth): New function.
24984 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
24985 getcharwidth.
24986
1f0a95e4 249872005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
24988
24989 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
24990 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
24991 commands/i386/pc/vbetest.c.
24992
24993 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
24994 call grub_vbe_get_controller_info again, because the returned
24995 information is volatile.
24996 (grub_vbe_set_video_mode): Mostly rewritten.
24997 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
24998 grub_vbe_status_t correctly.
24999 (grub_vbe_get_video_mode_info): Likewise.
25000 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
25001 several if statements.
25002
25003 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
25004 * commands/i386/pc/vbeinfo.c: ... this.
25005
25006 * commands/i386/pc/vbe_test.c: Renamed to ...
25007 * commands/i386/pc/vbetest.c: ... this.
25008
25009 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
25010 ...
25011 (grub_cmd_vbeinfo): ... this. Save video modes before
25012 iterating. Skip a video mode, if it is not available, not enough
25013 information is given or it is monochrome. Show the memory
25014 model. Leave the interpretation of MODEVAR to grub_strtoul
25015 completely.
25016 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
25017 (GRUB_MOD_FINI): Likewise.
25018
25019 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
25020 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
25021 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
25022 duplicated grub_env_get. Leave the interpretation of MODEVAR to
25023 grub_strtoul completely.
25024 (real2pm): Removed.
25025 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
25026 (GRUB_MOD_FINI): Likewise.
25027
25028 * normal/misc.c: Include grub/mm.h.
25029
25030 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
25031 vbe_list_modes with vbetest.mod and vbeinfo.mod.
25032 (vbe_list_modes_mod_SOURCES): Removed.
25033 (vbe_list_modes_mod_CFLAGS): Likewise.
25034 (vbe_test_mod_SOURCES): Likewise.
25035 (vbe_test_mod_CFLAGS): Likewise.
25036 (vbeinfo_mod_SOURCES): New variable.
25037 (vbeinfo_mod_CFLAGS): Likewise.
25038 (vbetest_mod_SOURCES): Likewise.
25039 (vbetest_mod_CFLAGS): Likewise.
25040
992ffbbe 250412005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
25042
25043 * normal/misc.c: New file.
25044
25045 * DISTLIST: Added normal/misc.c.
f19dbdb7 25046
992ffbbe 25047 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
25048 DISK to HOOK. Call HOOK with DISK.
25049 * partmap/apple.c (apple_partition_map_iterate): Likewise.
25050 * partmap/pc.c (pc_partition_map_iterate): Likewise.
25051 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25052
25053 * normal/menu_entry.c (struct screen): Added a new member
25054 "completion_shown".
25055 (completion_buffer): New global variable.
25056 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
25057 (store_completion): New function.
25058 (complete): Likewise.
25059 (clear_completions): Likewise.
25060 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
25061 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
25062 a tab, call complete.
25063
25064 * normal/completion.c (disk_dev): Removed.
25065 (print_simple_completion): Likewise.
25066 (print_partition_completion): Likewise.
25067 (print_func): New global variable.
25068 (add_completion): Do not take the arguments WHAT or PRINT any
25069 longer. Added a new argument TYPE. Instead of printing directly,
25070 call PRINT_FUNC if not NULL.
25071 All callers changed.
25072 (complete_device): Use a local variable DEV instead of
25073 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
25074 (grub_normal_do_completion): Take a new argument HOOK. Do not
25075 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
25076 empty string, return NULL instead.
25077 All callers changed.
25078
25079 * normal/cmdline.c (print_completion): New function.
25080
25081 * kern/partition.c (grub_partition_iterate): Add an argument DISK
25082 to HOOK.
25083 All callers changed.
25084
25085 * kern/disk.c (grub_print_partinfo): Removed.
25086
25087 * include/grub/partition.h (struct grub_partition_map): Add a new
25088 argument DISK into HOOK of ITERATE.
25089 (grub_partition_iterate): Add a new argument DISK to HOOK.
25090
25091 * include/grub/normal.h (enum grub_completion_type): New enum.
25092 (grub_completion_type_t): New type.
25093 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
25094 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
25095 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
25096 (GRUB_COMPLETION_TYPE_FILE): Likewise.
25097 (grub_normal_do_completion): Added a new argument HOOK.
25098 (grub_normal_print_device_info): New prototype.
25099
25100 * include/grub/disk.h (grub_print_partinfo): Removed.
25101
25102 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
25103 (normal_mod_SOURCES): Likewise.
25104 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25105 (normal_mod_SOURCES): Likewise.
25106
25107 * commands/ls.c (grub_ls_list_disks): Use
25108 grub_normal_print_device_info instead of grub_print_partinfo. Free
25109 PNAME.
25110 (grub_ls_list_files): Use grub_normal_print_device_info instead of
25111 duplicating the code.
25112
0bd41162 251132005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
25114
25115 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 25116 follow GCS more precisely.
25117 * commands/i386/pc/vbe_test.c: Likewise.
25118 * include/grub/i386/pc/vbe.h: Likewise.
25119 * term/i386/pc/vesafb.c: Likewise.
25120 * video/i386/pc/vbe.c: Likewise.
0bd41162 25121
6323696a 251222005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
25123
25124 * DISTLIST: Added term/i386/pc/vesafb.c
25125 DISTLIST: Added video/i386/pc/vbe.c
25126 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
25127 DISTLIST: Added commands/i386/pc/vbe_test.c.
25128 * commands/i386/pc/vbe_list_modes.c: New file.
25129 * commands/i386/pc/vbe_test.c: Likewise.
25130 * term/i386/pc/vesafb.c: Likewise.
25131 * video/i386/pc/vbe.c: Likewise.
25132 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
25133 (grub_vbe_probe) Added prototype.
25134 (grub_vbe_set_video_mode) Likewise.
25135 (grub_vbe_get_video_mode) Likewise.
25136 (grub_vbe_get_video_mode_info) Likewise.
25137 (grub_vbe_set_pixel_rgb) Likewise.
25138 (grub_vbe_set_pixel_index) Likewise.
25139 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
25140 (pkgdata_MODULES): Added vesafb.mod.
25141 (pkgdata_MODULES): Added vbe_list_modes.mod.
25142 (pkgdata_MODULES): Added vbe_test.mod.
25143 (vbe_mod_SOURCES): Added.
25144 (vbe_mod_CFLAGS): Likewise.
25145 (vesafb_mod_SOURCES): Likewise.
25146 (vesafb_mod_CFLAGS): Likewise.
25147 (vbe_list_modes_mod_SOURCES): Likewise.
25148 (vbe_list_modes_mod_CFLAGS): Likewise.
25149 (vbe_test_mod_SOURCES): Likewise.
25150 (vbe_test_mod_CFLAGS): Likewise.
25151
0a74e62f 251522005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
25153
0a74e62f 25154 * normal/command.c (grub_command_execute): If INTERACTIVE is
25155 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
25156 CMDLINE. Disable the pager if INTERACTIVE is true.
25157 All callers are changed.
25158
25159 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
25160 before reading a config file.
25161 * normal/main.c (read_config_file): Even if a command is not
25162 found, register it if it is within an entry.
25163
25164 * util/grub-emu.c: Include sys/types.h and unistd.h.
25165 (options): Added --hold.
25166 (struct arguments): Added a new member "hold".
25167 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
25168 missing.
25169 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
25170 cleared by a debugger, if it is not zero.
25171
25172 * include/grub/normal.h (grub_command_execute): Add an argument
25173 INTERACTIVE.
25174
e51f85ae 251752005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
25176
25177 * DISTLIST: Added include/grub/i386/pc/vbe.h.
25178
e9c6f39b 251792005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
25180
25181 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
25182 program with another one, because the old one didn't detect a bug
25183 in gcc-3.4. Always use regparm 2, because the new test is still
25184 not enough for gcc-4.0. Someone must investigate a simple test
25185 case which detects a bug in gcc-4.0.
25186
8de3495c 251872005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
25188
25189 * DISTLIST: Added normal/completion.c.
25190
25191 * normal/completion.c: New file.
f19dbdb7 25192
8de3495c 25193 * term/i386/pc/console.c (grub_console_getwh): New function.
25194 (grub_console_term): Assign grub_console_getwh to getwh.
25195
25196 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
25197 function is defined in normal/completion.c as
25198 grub_normal_do_completion.
25199 (grub_cmdline_get): Use grub_normal_do_completion instead of
25200 grub_tab_complete.
25201
25202 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
25203 returns non-zero, otherwise return 0.
25204 (grub_partition_iterate): First, probe the partition map. Then,
25205 call ITERATE only for this partition map.
25206
25207 * kern/misc.c (grub_strncmp): Rewritten.
25208
25209 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
25210 returns non-zero. Otherwise return 0.
25211
25212 * include/grub/partition.h (grub_partition_map_iterate): Return
25213 int instead of void.
25214
25215 * include/grub/normal.h (grub_normal_do_completion): New prototype.
25216
25217 * include/grub/misc.h (grub_strncmp): Change the type of N to
25218 grub_size_t.
25219
25220 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
25221 of void.
25222
25223 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 25224 unsigned explicitly before comparing it with I.
8de3495c 25225
25226 * kern/main.c (grub_env_write_root): Add the attribute unused into
25227 VAR.
25228
25229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25230 normal/completion.c.
25231 (normal_mod_SOURCES): Likewise.
25232 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25233 (normal_mod_SOURCES): Likewise.
25234
25235 * normal/command.c (grub_iterate_commands): If ITERATE returns
25236 non-zero, return one immediately.
25237
e85e144b 252382005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
25239
25240 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
25241 * kern/i386/pc/startup.S: Updated Global Descriptor table's
25242 descriptions.
25243 (grub_vbe_get_controller_info): New function.
25244 (grub_vbe_get_mode_info): Likewise.
25245 (grub_vbe_set_mode): Likewise.
25246 (grub_vbe_get_mode): Likewise.
25247 (grub_vbe_set_memory_window): Likewise.
25248 (grub_vbe_get_memory_window): Likewise.
25249 (grub_vbe_set_scanline_length): Likewise.
25250 (grub_vbe_get_scanline_length): Likewise.
25251 (grub_vbe_set_display_start): Likewise.
25252 (grub_vbe_get_display_start): Likewise.
25253 (grub_vbe_set_palette_data): Likewise.
25254 * include/grub/i386/pc/vbe.h: New file.
25255
c46153d2 252562005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25257
25258 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
25259 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
25260 * DISTLIST: Likewise.
25261 * kern/ieee1275/of.c: Moved to ...
25262 * kern/ieee1275/ieee1275.c: ... here.
25263
0cb90c45 252642005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25265
25266 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
25267 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
25268 Pass 0 as `end' parameter to grub_strtoul().
25269
a19fb360 252702005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25271
25272 * include/grub/powerpc/ieee1275/console.h: Do not include
25273 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
25274 ifdef.
25275 (grub_console_cur_color): Remove i386-specific prototype.
25276 (grub_console_real_putchar): Likewise.
25277 (grub_console_checkkey): Likewise.
25278 (grub_console_getkey): Likewise.
25279 (grub_console_getxy): Likewise.
25280 (grub_console_gotoxy): Likewise.
25281 (grub_console_cls): Likewise.
25282 (grub_console_setcursor): Likewise.
25283 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
25284 Include <grub/machine/console.h>.
25285 * term/ieee1275/ofconsole.c: Likewise.
25286
4ac9bd04 252872005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
25288
25289 * Makefile.in (LIBLZO): New variable.
25290
25291 * configure.ac: Check for LZO version 2.
25292
25293 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
25294 lzo/lzo1x.h instead of lzo1x.h.
25295
25296 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
25297 of -llzo.
25298
25299 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
25300 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
25301
25302 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
25303 copying the data from PARTITION to P.
25304
f4917dfd 253052005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25306
25307 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
25308 negative, unload the module.
25309
25310 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
25311 map is "pc_partition_map" but not "pc".
25312 (usage): Fix the description. The options are --boot-image and
25313 --core-image but not --boot-file or --core-file.
25314 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
25315 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
25316 DEFAULT_DIRECTORY.
25317
25318 * util/i386/pc/grub-install.in: Do not specify --boot-file or
25319 --core-file. Specify INSTALL_DEVICE as an argument.
25320
25321 * util/console.c: Include config.h.
25322 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
25323 [HAVE_NCURSES_H]: Include ncurses.h.
25324 [HAVE_CURSES_H]: Include curses.h.
25325 [!A_NORMAL] (A_NORMAL): Defined as zero.
25326 [!A_STANDOUT] (A_STANDOUT): Likewise.
25327
25328 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
25329 -lncurses.
25330 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
25331
25332 * configure.ac: Check for curses libraries and headers.
25333
25334 * Makefile.in (LIBCURSES): New variable.
25335
25336 * genmk.rb (Script::rule): Set the executable bits.
25337
25338 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
25339 name of the PC partition map is "pc_partition_map" but not "pc".
25340
0e143073 253412005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25342
25343 * util/i386/pc/grub-install.in (grub_probefs): New variable.
25344 (modules): Likewise.
25345 (usage): Added descriptions for --modules and --grub-probefs.
25346 Handle --modules and --grub-probefs. Save the arguments in MODULES
25347 and GRUB_PROBEFS, respectively.
25348 Auto-detect a filesystem module against GRUBDIR. If the result is
25349 empty and modules are not specified explicitly, abort the
25350 installation. Add the result to MODULES.
25351
25352 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
25353 disk/powerpc/ieee1275/ofdisk.c,
25354 include/grub/powerpc/ieee1275/init.h and
25355 term/powerpc/ieee1275/ofconsole.c.
25356 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
25357 term/ieee1275/ofconsole.c.
25358
25359 * include/grub/powerpc/ieee1275/console.h: Resurrected.
25360
25361 * COPYING: Upgraded to the latest version. Only the address of the
25362 FSF office has changed.
f19dbdb7 25363
efd6e6d5 253642005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25365
25366 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
25367 kern/ieee1275.c with kern/ieee1275/of.c.
25368
25369 * kern/ieee1275.c: Moved to ...
25370 * kern/ieee1275/of.c: ... here.
25371
8ceafda2 253722005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
25373
25374 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 25375 readability.
8ceafda2 25376
25377 * config.guess: Updated to the latest version from gnulib.
25378 * config.sub: Likewise.
25379 * install.sh: Likewise.
25380 * mkinstalldirs: Likewise.
25381
25382 * include/grub/console.h: Removed. This file is arch-specific. Do
25383 not put this in include/grub.
25384
25385 * include/grub/i386/pc/console.h: Resurrected.
25386
25387 * util/console.c: Include grub/machine/console.h instead of
25388 grub/console.h.
25389 * util/grub-emu.c: Likewise.
25390
267f6cd9 253912005-08-04 Marco Gerards <metgerards@student.han.nl>
25392
25393 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
25394 hardcoded value.
f19dbdb7 25395
267f6cd9 25396 From Vincent Pelletier <subdino2004@yahoo.fr>
25397 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
25398 Redefined to use grub_getwh.
25399 (grub_term): New member named getwh.
25400 (grub_getwh): New prototype.
25401 * kern/term.c (grub_getwh): New function.
25402 * term/i386/pc/console.c (grub_console_getwh): New function.
25403 (grub_console_term): New member `getwh'.
25404 * term/i386/pc/vga.c (grub_vga_getwh): New function.
25405 (grub_vga_term): New member `getwh'.
0b5abe02 25406 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 25407 grub_ssize_t.
25408 (grub_ofconsole_getw): New function.
25409 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
25410 (grub_ofconsole_term): New field named getwh and new initial
25411 value.
25412
3be7266d 254132005-08-03 Hollis Blanchard <hollis@penguinppc.org>
25414
25415 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
25416 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
25417 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
25418 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
25419 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
25420 of <grub/machine/ieee1275.h>.
25421 * commands/ieee1275/reboot.c: Likewise.
25422 * boot/powerpc/ieee1275/ieee1275.c: Move ...
25423 * kern/ieee1275.c: ... to here. All users updated. Change all
25424 parameter structs to use new type `grub_ieee1275_cell_t'.
25425 * term/powerpc/ieee1275/ofconsole.c: Move ...
25426 * term/ieee1275/ofconsole.c: ... to here. All users updated.
25427 * disk/powerpc/ieee1275/ofdisk.c: Move ...
25428 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
25429 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
25430 to return int.
25431 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
25432 Remove unused prototypes. All users updated.
25433 * include/grub/powerpc/ieee1275/console.h: Removed.
25434 * include/grub/powerpc/ieee1275/ieee1275.h: Define
25435 `grub_ieee1275_cell_t'.
25436 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
25437 Cast comparisons with -1 to the correct type.
25438 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
25439 type to match `grub_ieee1275_entry_fn'.
25440
8b5f3938 254412005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
25442
25443 * DISTLIST: Added util/i386/pc/grub-probefs.c.
25444
25445 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
25446 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
25447 partmap/sun.c.
25448 (grub_probefs_SOURCES): New variable.
25449
25450 * util/i386/pc/grub-probefs.c: New file.
25451
25452 * util/i386/pc/grub-setup.c (main): Call
25453 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
25454 grub_hfs_init and grub_jfs_init to initialize the system. Call
25455 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
25456 grub_pc_partition_map_fini to finish the system.
25457
ea409713 254582005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
25459
25460 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
25461 function.
25462 (grub_multiboot_load_elf32): Likewise.
25463 (grub_multiboot_is_elf64): Likewise.
25464 (grub_multiboot_load_elf64): Likewise.
25465 (grub_multiboot_load_elf): Likewise.
25466 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
25467 an ELF32 or ELF64 file.
25468 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
25469
25470 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
25471 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
25472 NULL before calling FS->LABEL.
25473 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
25474 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
25475 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
25476 before calling FS->LABEL.
25477
141a288b 254782005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
25479
25480 * util/i386/pc/grub-install.in (datadir): New variable.
25481 (libdir): Removed.
25482 (pkgdatadir): New variable.
25483 (pkglibdir): Removed.
25484
0d5f8a54 254852005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
25486
25487 * DISTLIST: Added util/i386/pc/grub-install.in.
25488
25489 * util/i386/pc/grub-install.in: New file.
25490
25491 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
25492 (grub_install_SOURCES): Likewise.
25493
25494 * genmk.rb: Added support for scripts.
25495 (Script): New class.
25496 (scripts): New variable.
25497
25498 * Makefile.in (install-local): Install sbin_SCRIPTS by
25499 INSTALL_SCRIPT.
25500 (uninstall): Remove sbin_SCRIPTS.
25501
25502 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
25503 device, try to get a GRUB device by
25504 grub_util_biosdisk_get_grub_dev.
25505 Free DEST_DEV.
25506
25507 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
25508 description for --device-map.
25509
5f968e1e 255102005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
25511
25512 Change the semantics of variable hooks. They now return strings
25513 instead of error values.
f19dbdb7 25514
5f968e1e 25515 * util/i386/pc/grub-setup.c: Include grub/env.h.
25516 (setup): Use grub_device_set_root instead of grub_env_set.
25517
25518 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
25519 grub_env_get instead of grub_device_set_root and
25520 grub_device_get_root, respectively.
25521
25522 * kern/main.c (grub_env_write_root): New function.
25523 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
25524 grub_env_set instead of grub_device_set_root.
25525
25526 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
25527 many variables.
25528 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
25529 rather than calling ENV->WRITE_HOOK afterwards.
25530 (grub_env_get): Return the result of ENV->READ_HOOK rather than
25531 passing a pointer of a pointer.
25532 (grub_register_variable_hook): Change the types of "read_hook" and
25533 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
25534 respectively.
25535 Allocate the default empty string on the heap, because this string
25536 may be freed later.
25537
25538 * kern/device.c: Include grub/env.h.
25539 (grub_device_set_root): Removed.
25540 (grub_device_get_root): Likewise.
25541 (grub_device_open): Use grub_env_get instead of
25542 grub_device_get_root.
25543
25544 * include/grub/env.h (grub_env_read_hook_t): New type.
25545 (grub_env_write_hook_t): Likewise.
25546 (grub_env_var): Change the types of "read_hook" and "write_hook"
25547 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
25548 (grub_register_variable_hook): Likewise.
25549
25550 * include/grub/device.h (grub_device_set_root): Removed.
25551 (grub_device_set_root): Likewise.
25552
25553 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
25554 make sure that DIRNAME terminates with '/', so that
25555 grub_fat_find_dir will fail if PATH is not a directory.
25556
25557 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
25558 from DIRNAME.
25559 Use the qualifier auto for print_files and print_files_long.
25560 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
25561 as a regular file.
25562 Put a newline only if there is no error.
25563 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
25564 used.
25565
896f0afd 255662005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
25567
25568 * kern/partition.c (grub_partition_probe): Initialize PART to
25569 NULL. Otherwise, when no partition map is registered, this returns
25570 a garbage.
25571
b28b81b2 255722005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
25573
25574 * partmap/apple.c (apple_partition_map_iterate): Check if POS
25575 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
25576 valid.
25577
5f3607e0 255782005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
25579
25580 * commands/ls.c (grub_ls_list_disks): Print the filesystem
25581 information on each device, if it does not have partitions. Print
25582 "Device" instead of "Disk", because this function is not specific
25583 to disk devices.
25584
25585 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
25586 static to ensure that it is put on the memory rather than a
25587 register.
25588
502c87e8 255892005-07-17 Yoshinori Okuji <okuji@enbug.org>
25590
25591 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
25592 (grub_cat_init): Likewise.
25593 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
25594 (options): Likewise.
25595 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
25596 (grub_configfile_init): Likewise.
25597 * font/manager.c (GRUB_MOD_INIT): Likewise.
25598 * commands/help.c (GRUB_MOD_INIT): Likewise.
25599 (grub_help_init): Likewise.
25600 * normal/command.c (grub_command_init): Likewise.
25601 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
25602 * disk/loopback.c (grub_loop_init): Likewise.
25603 (GRUB_MOD_INIT): Likewise.
25604 * commands/ls.c (grub_ls_init): Likewise.
25605 (GRUB_MOD_INIT): Likewise.
25606 (options): Likewise.
25607 * commands/boot.c (grub_boot_init): Likewise.
25608 (GRUB_MOD_INIT): Likewise.
25609 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
25610 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
25611 (GRUB_MOD_INIT): Likewise.
25612 * commands/cmp.c (grub_cmp_init): Likewise.
25613 (GRUB_MOD_INIT): Likewise.
25614
25615 * normal/arg.c: Use <> instead of "" to include header files.
25616 (SHORT_ARG_HELP): New macro.
25617 (SHORT_ARG_USAGE): Likewise.
25618 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
25619 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
25620 descriptions.
25621 (find_short): Check if C is 'h' or 'u' explicitly.
25622 (grub_arg_show_help): Use space characters instead of tabs. Treat
25623 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
25624 are shown with --help and --usage only if they are not used for
25625 the command itself.
25626 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
25627 'h' and 'u'.
25628
25629 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
25630 const into "longarg". Change the type of "shortarg" to int.
25631
f806d18e 256322005-07-17 Yoshinori Okuji <okuji@enbug.org>
25633
25634 * boot/i386/pc/boot.S (boot_drive_check): New label.
25635
25636 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
25637 macro.
25638
25639 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
25640 which do not pass a boot drive correctly. Copied from GRUB Legacy.
25641
e293232b 256422005-07-17 Yoshinori Okuji <okuji@enbug.org>
25643
25644 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
25645 When turning off Gate A20, skip the check and return immediately,
25646 because this is not fatal usually.
25647
ebedfd00 256482005-07-17 Yoshinori Okuji <okuji@enbug.org>
25649
25650 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
25651 be 0x7C00 instead of 0x8000.
25652
25653 * boot/i386/pc/pxeboot.S: Rewritten.
25654
25655 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
25656 EXT_C.
25657 (gate_a20_check_state): Read a byte from 0x108000. Invert the
25658 result.
25659
654fc59f 256602005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
25661
25662 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
25663 robustness. This routine now supports a BIOS call and System
25664 Control Port A to modify the gate A20.
25665
25666 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25667 Increased to 0x440.
25668
09f9923f 256692005-07-12 Hollis Blanchard <hollis@penguinppc.org>
25670
25671 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
25672 device path and resulting ihandle.
25673 (grub_ofdisk_close): dprintf the ihandle being closed.
25674 (grub_ofdisk_read): dprintf function parameters.
25675 * kern/mm.c (grub_mm_init_region): Likewise.
25676 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
25677 (grub_linux_boot): dprintf the Linux entry point, initrd address and
25678 size, and boot arguments.
25679 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
25680 before loading into memory.
25681 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
25682 before loading into memory.
25683
7ef504d8 256842005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
25685
25686 * kern/mm.c: Added much documentation.
25687 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
25688 8, set to 5 instead of 8.
25689
e0f050c2 256902005-07-10 Yoshinori Okuji <okuji@enbug.org>
25691
25692 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
25693
25694 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
25695 (grub_mkdevicemap_SOURCES): New variable.
25696
25697 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
25698 lib/device.c of GRUB Legacy.
25699
7224189a 257002005-07-10 Yoshinori Okuji <okuji@enbug.org>
25701
25702 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
25703 instead of PATH is NULL.
25704
68c864eb 257052005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
25706
25707 * commands/cmp.c (BUFFER_SIZE): New macro.
25708 (grub_cmd_cmp): Close the right file at the right time. Compare
25709 only data just read. Don't report files of different size as
25710 identical. Dynamically allocate buffers. Move variable
25711 declarations at the beginning of function.
25712
e6f3e614 257132005-07-09 Yoshinori Okuji <okuji@enbug.org>
25714
25715 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
25716 reverse.
25717
f8f1559a 257182004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
25719
25720 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
25721 when backspace is pressed at beginning of line.
25722
39c9d41d 257232005-07-03 Yoshinori Okuji <okuji@enbug.org>
25724
25725 * DISTLIST: Added genfslist.sh.
25726
25727 * normal/main.c (fs_module_list): New variable.
25728 (autoload_fs_module): New function.
25729 (read_fs_list): Likewise.
25730 (grub_normal_execute): Call read_fs_list.
25731
25732 * kern/fs.c (grub_fs_autoload_hook): New variable.
25733 (grub_fs_probe): Added support for auto-loading.
25734
25735 * include/grub/normal.h (struct grub_fs_module_list): New struct.
25736 (grub_fs_module_list_t): New type.
25737
25738 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
25739 (grub_fs_autoload_hook): New prototype.
25740
25741 * genfslist.sh: New file.
f19dbdb7 25742
39c9d41d 25743 * genmk.rb: Added a rule to generate a filesystem list.
25744
121c1d83 257452005-06-30 Marco Gerards <metgerards@student.han.nl>
25746
25747 * configure.ac: Fix the test for cross-compiling.
25748
25749 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
25750 define GRUB_UTIL anymore.
25751
25752 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
25753 so this function works on other systems than just big endian.
25754 (load_modules): Likewise.
25755 (add_segments): Likewise.
25756
e75d76e1 257572005-06-23 Hollis Blanchard <hollis@penguinppc.org>
25758
25759 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
25760 contains `l' modifier, get a long from va_arg().
25761
50b5a0a7 257622005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
25763
25764 * kern/mm.c (grub_free): If the next free block which is being
25765 merged is the first free block, set the first block to the block
25766 being freed.
25767 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
25768
89371b20 257692005-05-08 Hollis Blanchard <hollis@penguinppc.org>
25770
25771 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
25772 `grub_ieee1275_chosen'.
25773
168d6e58 257742005-05-08 Hollis Blanchard <hollis@penguinppc.org>
25775
25776 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
25777 (grub_ieee1275_chosen): New variable.
25778 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
25779 `chosen'.
25780 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
25781 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
25782 Rename first argument to `phandle' for consistency.
25783 (grub_ieee1275_get_property_length): Likewise.
25784 (grub_ieee1275_next_property): Likewise. Change type of first argument
25785 to grub_ieee1275_phandle_t.
25786 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
25787 Move export next to declaration.
25788 (grub_ieee1275_chosen): New variable.
25789 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
25790 Correct cosmetic typo.
25791 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
25792 `grub_ieee1275_chosen'.
25793 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
25794 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
25795 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
25796 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
25797 `grub_ieee1275_chosen'.
25798
ca5baa3f 257992005-05-10 Hollis Blanchard <hollis@penguinppc.org>
25800
25801 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
25802 /chosen/bootargs.
25803 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
25804 /chosen/bootargs as "variable=value" pairs.
25805
708b345f 258062005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
25807
25808 * include/grub/misc.h (grub_dprintf): New macro.
25809 (grub_real_dprintf): New prototype.
25810 (grub_strword): Likewise.
25811 (grub_iswordseparator): Likewise.
25812 * kern/misc.c (grub_real_dprintf): New function.
25813 (grub_strword): Likewise.
25814 (grub_iswordseparator): Likewise.
25815
f4c5e67c 258162005-04-30 Hollis Blanchard <hollis@penguinppc.org>
25817
25818 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
25819 (roundup): Remove macro.
25820 (grub_ieee1275_flags): Make static.
25821 (grub_ieee1275_realmode): Remove.
25822 (grub_ieee1275_test_flag): New function.
25823 (grub_ieee1275_set_flag): Likewise.
25824 (find_options): Rename to `grub_ieee1275_find_options'; update
25825 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
25826 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
25827 (cmain): New prototype.
25828 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
25829 `grub_ieee1275_flags' directly.
25830 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
25831 machine/biosdisk.h.
25832 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
25833 Don't include grub/machine/init.h.
25834 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
25835 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
25836 Remove prototype.
25837 (grub_ieee1275_realmode): Likewise.
25838 (grub_ieee1275_flag): New enum.
25839 (grub_ieee1275_test_flag): New prototype.
25840 (grub_ieee1275_set_flag): New prototype.
25841 * include/grub/powerpc/ieee1275/init.h: Remove file.
25842 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
25843 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
25844 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
25845 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
25846 comment.
25847 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
25848 `grub_ieee1275_test_flag'.
25849 (grub_ieee1275_encode_devname): Likewise.
25850
ed16607e 258512005-04-21 Hollis Blanchard <hollis@penguinppc.org>
25852
25853 * include/grub/powerpc/ieee1275/ieee1275.h
25854 (grub_ieee1275_encode_devname): New prototype.
25855 (grub_ieee1275_get_filename): Likewise.
25856 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
25857 function.
25858 (grub_set_prefix): Likewise.
25859 (grub_machine_init): Call grub_set_prefix.
25860 * kern/powerpc/ieee1275/openfw.c: Fix typos.
25861 (grub_parse_type): New enum.
25862 (grub_ieee1275_get_devargs): New function.
25863 (grub_ieee1275_get_devname): Likewise.
25864 (grub_ieee1275_parse_args): Likewise.
25865 (grub_ieee1275_get_filename): Likewise.
25866 (grub_ieee1275_encode_devname): Likewise.
25867
be369920 258682005-03-30 Marco Gerards <metgerards@student.han.nl>
25869
25870 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
25871 `grub_loader_unset'.
25872
a5ce3a4a 258732005-03-26 Hollis Blanchard <hollis@penguinppc.org>
25874
25875 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
25876 instead of grub_ieee1275_interpret.
25877 (grub_halt_init): New function.
25878 (grub_halt_fini): Likewise.
25879 (GRUB_MOD_INIT): Correct message grammar.
25880 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
25881 instead of grub_ieee1275_interpret.
25882 (grub_reboot_init): New function.
25883 (grub_reboot_fini): Likewise.
25884 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
25885 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
25886 util/i386/pc/misc.c with commands/ieee1275/halt.c,
25887 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
25888 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
25889 function.
25890 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
25891 Add prototype.
25892 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
25893 prototype.
25894 (grub_halt): Likewise.
25895 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
25896 (cmain): Remove __attribute__((unused)).
25897 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
25898 (grub_heap_len): Likewise.
25899 (grub_machine_fini): New function.
25900 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
25901 (grub_halt): Likewise.
25902 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
25903 function.
25904 * util/powerpc/ieee1275/misc.c: New file.
25905
0058f771 259062005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
25907
25908 * DISTLIST: New file.
25909 * gendistlist.sh: Likewise.
f19dbdb7 25910
0058f771 25911 * Makefile.in (COMMON_DISTFILES): Removed.
25912 (BOOT_DISTFILES): Likewise.
25913 (CONF_DISTFILES): Likewise.
25914 (DISK_DISTFILES): Likewise.
25915 (FS_DISTFILES): Likewise.
25916 (INCLUDE_DISTFILES): Likewise.
25917 (KERN_DISTFILES): Likewise.
25918 (LOADER_DISTFILES): Likewise.
25919 (TERM_DISTFILES): Likewise.
25920 (UTIL_DISTFILES): Likewise.
25921 (DISTFILES): Likewise.
25922 (uninstall): Uninstall files in $(pkgdata_DATA).
25923 (DISTLIST): New target.
25924 (distdir): Use the contents of the file DISTLIST to get a list of
25925 distributed files.
25926
46b3b8a5 259272005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
25928
25929 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
25930 descriptor. This is ported from GRUB Legacy.
25931
25932 * gencmdlist.sh: Added an extra semicolon to make it work with
25933 old sed versions. Reported by Robert Bihlmeyer
25934 <robbe@orcus.priv.at>.
25935
5822ff87 259362005-03-08 Yoshinori Okuji <okuji@enbug.org>
25937
25938 Automatic loading of commands is supported.
f19dbdb7 25939
5822ff87 25940 * normal/main.c (read_command_list): New function.
25941 (grub_normal_execute): Call read_command_list.
25942
25943 * normal/command.c (grub_register_command): Return zero or CMD.
25944 Allocate CMD->NAME from the heap.
25945 Initialize CMD->MODULE_NAME to zero.
25946 Find the same name as well. If the same command is found and it is
25947 a dummy command, overwrite members. If it is not a dummy command,
25948 return zero.
25949 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
25950 (grub_command_find): If a dummy command is found, load a module
25951 and retry to find a command only once.
25952
25953 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
25954 make sure that each command is loaded.
25955
25956 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
25957 macro.
25958 (struct grub_command): Remove const from the member `name'.
25959 Add a new member `module_name'.
25960 (grub_register_command): Return grub_command_t.
25961
25962 * commands/help.c (grub_cmd_help): Call grub_command_find to make
25963 sure that each command is loaded.
25964
25965 * genmk.rb (PModule::rule): Specify a module name without the
25966 suffix ".mod" to gencmdlist.sh.
25967
7b1f4b57 259682005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25969
25970 * gencmdlist.sh: New file.
f19dbdb7 25971
7b1f4b57 25972 * genmk.rb (PModule::rule): Generate a rule for a command list.
25973 Clean command.lst.
25974 Generate command.lst from $(COMMANDFILES).
25975
25976 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
25977 (DATA): Added $(pkgdata_DATA).
25978 (install-local): Install files in $(pkgdata_DATA).
25979
062aaf39 259802005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25981
25982 * term/i386/pc/vga.c (debug_command): Removed.
25983 (GRUB_MOD_INIT): Do not register the command "debug".
25984
25985 From Hollis Blanchard:
25986 * commands/configfile.c: New file.
25987 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25988 commands/configfile.c.
25989 (pkgdata_MODULES): Added configfile.mod.
25990 (configfile_mod_SOURCES): New variable.
25991 (configfile_mod_CFLAGS): Likewise.
25992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25993 commands/configfile.c.
25994 (pkgdata_MODULES): Added configfile.mod.
25995 (configfile_mod_SOURCES): New variable.
25996 (configfile_mod_CFLAGS): Likewise.
25997 * util/grub-emu.c (main): Call grub_configfile_init and
25998 grub_configfile_fini.
25999 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
26000 prototype.
26001 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 26002
cee01aa6 260032005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26004
26005 * normal/arg.c (grub_arg_show_help): Do not show the bug report
26006 address.
26007
26008 * commands/help.c (grub_cmd_help): Do not print newlines after
26009 the last command in print_command_help.
26010
93f3a1d8 260112005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26012
26013 * commands/default.h: New file.
26014 * commands/timeout.h: Likewise.
26015 * normal/context.c: Likewise.
f19dbdb7 26016
93f3a1d8 26017 * util/misc.c: Do not include sys/times.h.
26018 Include sys/time.h and grub/machine/time.h.
26019 (grub_get_rtc): Rewritten with gettimeofday.
26020
26021 * util/grub-emu.c (main): Call grub_default_init and
26022 grub_timeout_init before grub_normal_init, and call
26023 grub_timeout_fini and grub_default_fini after grub_main.
26024
26025 * util/console.c (grub_ncurses_checkkey): Return the read
26026 character or -1.
26027
26028 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
26029 timeouts.
26030
26031 * normal/main.c (read_config_file): Push MENU. If this fails,
26032 print an error and wait for a user input.
26033 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
26034 If a menu is empty or an error occurs, pop MENU.
26035 (grub_normal_execute): Pop and free MENU after grub_menu_run
26036 returns.
26037
26038 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
26039
26040 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
26041 include time.h.
26042 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26043 without GRUB_UTIL.
26044 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
26045 time.h.
26046 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26047 without GRUB_UTIL.
26048
26049 * include/grub/normal.h (struct grub_menu_list): New struct.
26050 (grub_menu_list_t): New type.
26051 (struct grub_context): New struct.
26052 (grub_context_t): New type.
26053 (grub_register_command): Got rid of EXPORT_FUNC.
26054 (grub_unregister_command): Likewise.
26055 (grub_context_get): New prototype.
26056 (grub_context_get_current_menu): Likewise.
26057 (grub_context_push_menu): Likewise.
26058 (grub_context_pop_menu): Likewise.
26059 [GRUB_UTIL] (grub_default_init): Likewise.
26060 [GRUB_UTIL] (grub_default_fini): Likewise.
26061 [GRUB_UTIL] (grub_timeout_init): Likewise.
26062 [GRUB_UTIL] (grub_timeout_fini): Likewise.
26063
26064 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
26065 commands/timeout.c and normal/context.c.
26066 (pkgdata_MODULES): Added default.mod and timeout.mod.
26067 (normal_mod_SOURCES): Added normal/context.c.
26068 (default_mod_SOURCES): New variable.
26069 (default_mod_CFLAGS): Likewise.
26070 (timeout_mod_SOURCES): Likewise.
26071 (timeout_mod_CFLAGS): Likewise.
26072 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
26073 conf/i386-pc.rmk.
26074 (pkgdata_MODULES): Added default.mod and timeout.mod.
26075 (normal_mod_SOURCES): Added normal/context.c.
26076 (default_mod_SOURCES): New variable.
26077 (default_mod_CFLAGS): Likewise.
26078 (timeout_mod_SOURCES): Likewise.
26079 (timeout_mod_CFLAGS): Likewise.
26080
26081 * Makefile.in (all-local): Added $(MKFILES).
26082
4ed2e1dd 260832005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
26084
26085 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
26086 (grub_emu_SOURCES): Likewise.
26087 (pkgdata_MODULES): Add `sun.mod'.
26088 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
26089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26090 `partmap/sun.c'.
26091 (pkgdata_MODULES): Add `sun.mod'.
26092 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
26093 * include/grub/partition.h (grub_sun_partition_map_init): New
26094 prototype.
26095 (grub_sun_partition_map_fini): Likewise.
26096 * partmap/sun.c: New file.
26097 * util/grub-emu.c (main): Initialize and de-initialize the sun
26098 partitionmap support.
26099
4d4e372e 261002005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
26101
26102 This implements an Emacs-like menu entry editor.
f19dbdb7 26103
4d4e372e 26104 * normal/menu_entry.c: New file.
f19dbdb7 26105
4d4e372e 26106 * util/console.c (grub_ncurses_putchar): Translate some Unicode
26107 characters to ASCII.
26108 (saved_char): New variable.
26109 (grub_ncurses_checkkey): Rewritten completely.
26110 (grub_ncurses_getkey): Likewise.
26111 (grub_ncurses_init): Call raw instead of cbreak.
26112
26113 * normal/menu.c (print_entry): Do not put a space.
26114 (init_page): Renamed to ...
26115 (grub_menu_init_page): ... this. All callers changed.
26116 (edit_menu_entry): Removed.
26117 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
26118
26119 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
26120
26121 * kern/misc.c (grub_vprintf): Call grub_refresh.
26122
26123 * normal/menu.c (DISP_LEFT): Renamed to ...
26124 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
26125 * normal/menu.c (DISP_UP): Renamed to ...
26126 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
26127 * normal/menu.c (DISP_RIGHT): Renamed to ...
26128 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
26129 * normal/menu.c (DISP_DOWN): Renamed to ...
26130 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
26131 * normal/menu.c (DISP_HLINE): Renamed to ...
26132 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
26133 * normal/menu.c (DISP_VLINE): Renamed to ...
26134 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
26135 * normal/menu.c (DISP_UL): Renamed to ...
26136 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
26137 * normal/menu.c (DISP_UR): Renamed to ...
26138 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
26139 * normal/menu.c (DISP_LL): Renamed to ...
26140 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
26141 * normal/menu.c (DISP_LR): Renamed to ...
26142 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
26143 * normal/menu.c (TERM_WIDTH): Renamed to ...
26144 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
26145 * normal/menu.c (TERM_HEIGHT): Renamed to ...
26146 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
26147 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
26148 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
26149 * normal/menu.c (TERM_MARGIN): Renamed to ...
26150 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
26151 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
26152 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
26153 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
26154 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
26155 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
26156 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
26157 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
26158 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
26159 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
26160 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
26161 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
26162 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
26163 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
26164 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
26165 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
26166 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
26167 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
26168 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
26169 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
26170 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
26171 All callers changed.
26172
26173 * include/grub/normal.h: New prototype.
26174
26175 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26176 normal/menu_entry.c.
26177 (normal_mod_SOURCES): Likewise.
26178 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26179 (normal_mod_SOURCES): Likewise.
26180
e6b92c8a 261812005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
26182
26183 * include/grub/normal.h (grub_halt_init): New prototype.
26184 (grub_halt_fini): Likewise.
26185 (grub_reboot_init): Likewise.
26186 (grub_reboot_fini): Likewise.
26187
26188 * util/grub-emu.c: Include signal.h.
26189 (main_env): New global variable.
26190 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
26191 catch C-c.
26192 (grub_machine_fini): New function.
26193 (main): Call grub_halt_init and grub_reboot_init before
26194 grub_main, and grub_reboot_fini and grub_halt_fini after it.
26195 Call setjmp with MAIN_ENV to go back afterwards.
26196 Call grub_machine_fini right before return.
26197
26198 * include/grub/util/misc.h: Include setjmp.h.
26199 (main_env): New prototype.
26200
26201 * include/grub/kernel.h (grub_machine_fini): New prototype.
26202 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
26203 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
26204
26205 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
26206 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
26207 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 26208
e6b92c8a 26209 * util/i386/pc/misc.c: New file.
f19dbdb7 26210
e6b92c8a 26211 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26212 util/i386/pc/misc.c, commands/i386/pc/halt.c and
26213 commands/i386/pc/reboot.c.
26214
c642636f 262152005-02-14 Guillem Jover <guillem@hadrons.org>
26216
26217 * include/grub/dl.h (grub_dl_check_header): New prototype.
26218 (grub_arch_dl_check_header): Change return type to grub_err_t,
26219 remove size parameter and export function. Update all callers.
26220 * kern/dl.c (grub_dl_check_header): New function.
26221 (grub_dl_load_core): Use `grub_dl_check_header' instead of
26222 `grub_arch_dl_check_header'. Check ELF type. Check if sections
26223 are inside the core.
26224 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
26225 independent ELF header checks.
26226 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
26227 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
26228 `grub_dl_check_header' instead of explicit checks. Check for the
26229 ELF type.
26230 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
26231 `grub_dl_check_header' instead of explicit checks. Remove arch
26232 specific ELF header checks.
26233
e6b92c8a 26234 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
26235 argument SIZE.
26236
5eabe94b 262372005-02-13 Hollis Blanchard <hollis@penguinppc.org>
26238
26239 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
26240 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
26241
1b14a681 262422005-02-12 Hollis Blanchard <hollis@penguinppc.org>
26243
26244 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 26245 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 26246 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 26247 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 26248 * partmap/amiga.c (amiga_partition_map_iterate): Return
26249 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
26250 * partmap/apple.c (apple_partition_map_iterate): Likewise.
26251
aca108aa 262522005-02-01 Guillem Jover <guillem@hadrons.org>
26253
26254 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
26255 help info.
26256
c9f9c556 262572005-01-31 Marco Gerards <metgerards@student.han.nl>
26258
26259 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
26260 Removed prototype.
26261 (grub_rescue_cmd_linux): New prototype.
26262 (grub_rescue_cmd_initrd): Likewise.
26263 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
26264 `bi_rec'.
26265 (grub_linux_release_mem): Release the memory for the initrd.
26266 (grub_load_linux): Renamed from this...
26267 (grub_rescue_cmd_linux): ...To this. Changed all callers.
26268 Changed `entry' not to be static. Loop over memory regions to
26269 find another one when the default fails.
26270 (grub_rescue_cmd_initrd): New function.
26271 (grub_linux_init): Remove function.
26272 (grub_linux_fini): Likewise.
26273 (GRUB_MOD_INIT): Register `initrd'.
26274 (GRUB_MOD_FINI): Unregister `initrd'.
26275 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
26276 Function removed.
26277 (grub_linux_normal_fini): Likewise.
26278 (GRUB_MOD_INIT): Register `initrd'.
26279 (GRUB_MOD_FINI): Unregister `initrd'.
26280
990cf3aa 262812005-01-31 Marco Gerards <metgerards@student.han.nl>
26282
26283 * commands/help.c: New file.
26284 * normal/arg.c (show_help): Renamed to...
26285 (grub_arg_show_help): ... this.
26286 * commands/i386/pc/halt.c: New file.
26287 * commands/i386/pc/reboot.c: Likewise.
26288 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
26289 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
26290 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
26291 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
26292 variables.
26293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26294 `commands/help.c'.
26295 (pkgdata_MODULES): Add `help.mod'.
26296 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
26297 * grub/i386/pc/init.h (grub_reboot): New prototype.
26298 (grub_halt): Likewise.
26299 * include/grub/normal.h (grub_arg_show_help): New prototype.
26300 (grub_help_init): Likewise.
26301 (grub_help_fini): Likewise.
26302 * util/grub-emu.c (main): Initialize and deinitialize the help
26303 command.
26304
26305 * normal/cmdline.c (grub_cmdline_get): Doc fix.
26306
26307 * normal/command.c (grub_command_init): Fixed the description of
26308 the `set' and `unset' commands.
26309
263102005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 26311
26312 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
26313 function.
26314 * commands/ieee1275/halt.c: New file.
26315 * commands/ieee1275/reboot.c: Likewise.
26316 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
26317 `__attribute__ ((unused))'. Some GCS related fixed.
26318 (grub_suspend_init) [GRUB_UTIL]: Function removed.
26319 (grub_suspend_fini): Likewise.
26320 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
26321 and `halt.mod'.
26322 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
26323 (halt_mod_CFLAGS): New variables.
26324 * include/grub/powerpc/ieee1275/ieee1275.h
26325 (grub_ieee1275_interpret): New prototype.
26326
1ab09cc7 263272005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
26328
26329 * include/grub/misc.h (memmove): New prototype.
26330 (memcpy): Likewise.
26331
8b8cbdb2 263322005-01-22 Hollis Blanchard <hollis@penguinppc.org>
26333
26334 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
26335 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
26336
e3741a27 263372005-01-22 Marco Gerards <metgerards@student.han.nl>
26338
26339 * kern/misc.c (grub_strndup): Function rewritten.
26340
776bd780 263412005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
26342
26343 * normal/menu.c (TERM_WIDTH): Macro redefined.
26344 (TERM_TOP_BORDER_Y): Likewise.
26345 (draw_border): Replaced while-loop by a for-loop. Make the number
26346 of lines consistent with the number of lines displayed in
26347 print_entries. Added a margin below the rectangle.
26348 (print_entry): Make the entry fit in the rectangle.
26349 (print_entries): Display the scroll arrows next to the right
26350 border.
26351
78026bce 263522005-01-21 Marco Gerards <metgerards@student.han.nl>
26353
26354 * fs/minix.c (grub_minix_find_file): Reserve more space for
26355 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
26356 `grub_strncpy' to copy `path' into it.
26357
67bbaf0f 263582005-01-21 Marco Gerards <metgerards@student.han.nl>
26359
26360 Add the loopback device, a device via which files can be accessed
26361 as devices.
f19dbdb7 26362
67bbaf0f 26363 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
26364 (pkgdata_MODULES): Add loopback.mod.
26365 (loopback_mod_SOURCES): New variable.
26366 (loopback_mod_CFLAGS): Likewise.
26367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26368 `disk/loopback.c'.
26369 (pkgdata_MODULES): Add loopback.mod.
26370 (loopback_mod_SOURCES): New variable.
26371 (loopback_mod_CFLAGS): Likewise.
26372 * disk/loopback.c: new file.
26373 * include/grub/normal.h (grub_loop_init): New prototype.
26374 (grub_loop_fini): New prototype.
26375 * util/grub-emu.c (main): Initialize and de-initialize loopback
26376 support.
26377 * include/grub/disk.h (grub_disk_dev_id): Add
26378 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
26379
6f1c18bd 263802005-01-20 Hollis Blanchard <hollis@penguinppc.org>
26381
26382 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
26383 function.
26384 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
26385 (suspend_mod_SOURCES): New variable.
26386 (suspend_mod_CFLAGS): Likewise.
26387 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
26388 New prototype.
26389 * commands/ieee1275/suspend.c: New file.
26390
b38551da 263912005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
26392
26393 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 26394 ((unused))' to `__attribute__ ((used))'.
b38551da 26395 (GRUB_MOD_FINI): Likewise.
26396 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
26397 * genmk.rb (PModule): Assign space to common symbols when linking
26398 modules.
26399
777aff39 264002005-01-20 Marco Gerards <metgerards@student.han.nl>
26401
26402 * include/grub/mm.h (grub_mm_init_region): Change the type of the
26403 `unsigned' arguments to `grub_size_t'.
26404 (grub_malloc): Likewise.
26405 (grub_realloc): Likewise.
26406 (grub_memalign): Likewise.
26407 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
26408 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
26409 * util/misc.c (grub_malloc): Likewise.
26410 (grub_realloc): Likewise.
26411 * kern/mm.c (get_header_from_pointer): Change the casts to
26412 `unsigned' into a cast to `grub_size_t'.
26413
26414 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
26415 point to `currnode' when `currnode' is changed.
26416
26417 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
26418 Schottelius <nico-linux@schottelius.org>.
26419
d0ff18e1 264202005-01-09 Hollis Blanchard <hollis@penguinppc.org>
26421
26422 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
26423 (note_path): Remove variable.
26424 (GRUB_IEEE1275_NOTE_NAME): New macro.
26425 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
26426 (grub_ieee1275_note_hdr): New structure.
26427 (grub_ieee1275_note_desc): Likewise.
26428 (grub_ieee1275_note): Likewise.
26429 (load_note): Remove `dir' argument. All callers updated. Remove
26430 `note_img' and `path'. Do not load a file from `note_path'.
26431 Initialize a struct grub_ieee1275_note and write that to `out'.
26432 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
26433
4ca7004c 264342005-01-05 Marco Gerards <metgerards@student.han.nl>
26435
26436 * util/misc.c (grub_util_read_image): Revert last change. It
26437 called `grub_util_read_at', which seeks from the beginning of the
26438 file.
26439
0b412211 264402005-01-04 Hollis Blanchard <hollis@penguinppc.org>
26441
26442 * TODO: Add note about endianness in grub-mkimage.
26443 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
26444 section.
26445 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
26446 (grub_mkimage_SOURCES): New target.
26447 * include/grub/kernel.h (grub_start_addr): Remove variable.
26448 (grub_end_addr): Likewise.
26449 (grub_total_module_size): Likewise.
26450 (grub_kernel_image_size): Likewise.
26451 (GRUB_MODULE_MAGIC): New constant.
26452 (grub_module_info): New structure.
26453 (grub_arch_modules_addr): New prototype.
26454 (grub_get_end_addr): Remove prototype.
26455 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
26456 * include/grub/powerpc/ieee1275/kernel.h: New file.
26457 * include/grub/util/misc.h (grub_util_get_fp_size): New
26458 prototype.
26459 (grub_util_read_at): Likewise.
26460 (grub_util_write_image_at): Likewise.
26461 * kern/main.c (grub_get_end_addr): Remove function.
26462 (grub_load_modules): Call grub_arch_modules_addr instead of using
26463 grub_end_addr. Look for a grub_module_info struct in memory. Use
26464 the grub_module_info fields instead of calling grub_get_end_addr
26465 as loop conditions. Move grub_add_unused_region code here.
26466 (grub_add_unused_region): Remove function.
26467 * kern/i386/pc/init.c: Include grub/cache.h.
26468 (grub_machine_init): Remove call to grub_get_end_addr. Remove
26469 one call to add_mem_region.
26470 (grub_arch_modules_addr): New function.
26471 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
26472 (grub_total_module_size): Likewise.
26473 Include grub/machine/kernel.h.
26474 (grub_arch_modules_addr): New function.
26475 * util/grub-emu.c (grub_end_addr): Remove variable.
26476 (grub_total_module_size): Likewise.
26477 (grub_arch_modules_addr): New function.
26478 * util/misc.c: Include unistd.h.
26479 (grub_util_get_fp_size): New function.
26480 (grub_util_read_at): Likewise.
26481 (grub_util_write_image_at): Likewise.
26482 (grub_util_read_image): Call grub_util_read_at.
26483 (grub_util_write_image): Call grub_util_write_image_at.
26484 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
26485 additional memory in kernel_img for a struct grub_module_info.
26486 Fill in that grub_module_info.
26487 * util/powerpc/ieee1275/grub-mkimage.c: New file.
26488
458786f8 264892005-01-03 Hollis Blanchard <hollis@penguinppc.org>
26490
26491 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
26492 New function.
26493 * include/grub/powerpc/ieee1275/ieee1275.h
26494 (grub_ieee1275_milliseconds): New prototype.
26495 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
26496 Change to 1000.
26497 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
26498 grub_ieee1275_milliseconds.
26499
ac507d1b 265002005-01-03 Hollis Blanchard <hollis@penguinppc.org>
26501
26502 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
26503 variable.
26504 (find_options): New function.
26505 (cmain): Call find_options.
26506 * include/grub/powerpc/ieee1275/ieee1275.h
26507 (grub_ieee1275_realmode): New extern variable.
26508 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
26509 grub_map if grub_ieee1275_realmode is false.
26510
6b8fd1c4 265112004-12-29 Marco Gerards <metgerards@student.han.nl>
26512
26513 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
26514 lines are inserted and make it work like readline. Reported by
26515 Vincent Pelletier <subdino2004@yahoo.fr>.
26516
8514a1e0 265172004-12-28 Marco Gerards <metgerards@student.han.nl>
26518
26519 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
26520
26521 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
26522 `kern/powerpc/cache.S'.
26523
924b6140 265242004-12-27 Marco Gerards <metgerards@student.han.nl>
26525
26526 * genmk.rb: Handle the `Program' class in the main loop. Written
26527 by Johan Rydberg <jrydberg@gnu.org>.
26528 (Program): New class.
26529 (programs): New variable.
26530 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
26531 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
26532 instead of "grub/kernel.h". Include <grub/machine/init.h>.
26533 (help_arch): Function removed.
26534 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
26535 `powerpc/libgcc.h' and `loader.h'.
26536 (pkgdata_PROGRAMS): New variable.
26537 (sbin_UTILITIES): Variable removed.
26538 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
26539 (grubof_SOURCES): Variable re-defined so it only includes the
26540 core functionality.
26541 (grubof_CFLAGS): Remove `-DGRUBOF'.
26542 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
26543 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
26544 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
26545 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
26546 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
26547 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
26548 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
26549 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
26550 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
26551 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
26552 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
26553 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
26554 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
26555 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
26556 (pc_mod_CFLAGS): New variables.
26557 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
26558 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
26559 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
26560 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
26561 Moved from here...
26562 * include/grub/i386/pc/init.h (grub_os_area_addr)
26563 (rub_os_area_size): ... to here.
26564 * include/grub/powerpc/ieee1275/ieee1275.h
26565 (grub_ieee1275_entry_fn): Export symbol.
26566 * include/grub/powerpc/ieee1275/init.h: New file.
26567 * include/grub/powerpc/libgcc.h: Likewise.
26568 * include/grub/cache.h: Likewise.
26569 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
26570 <hollis@penguinppc.org>.
26571 * kern/dl.c: Include <grub/cache.h>.
26572 (grub_dl_flush_cache): New function.
26573 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
26574 for this module.
26575 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
26576 (grub_console_init): Removed prototypes.
26577 (grub_machine_init): Don't initialize the modules anymore.
26578 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
26579 static.
26580 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
26581 Macro undef removed.
26582 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
26583 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
26584 relocation `R_PPC_REL32'. Return an error when the relocation is
26585 unknown.
26586 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
26587 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
26588 * util/misc.c (grub_arch_sync_caches): Likewise.
26589
e4b47e0c 265902004-12-19 Marco Gerards <metgerards@student.han.nl>
26591
26592 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
26593 `symlist.c', add `grubof_symlist.c'.
26594 (symlist.c): Variable removed.
26595 (grubof_HEADERS): Variable added.
26596 (grubof_symlist.c): New target.
26597 (kernel_syms.lst): Use `grubof_HEADERS' instead of
26598 `kernel_img_HEADERS'.
26599 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
26600 * kern/powerpc/dl.c: New file.
26601 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
26602 Function removed.
26603 (grub_arch_dl_relocate_symbols): Likewise.
26604 (grub_register_exported_symbols): Likewise.
26605
4ceb3636 266062004-12-13 Marco Gerards <metgerards@student.han.nl>
26607
26608 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
26609 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
26610 to fail instead. Reported by Vincent Pelletier
26611 <subdino2004@yahoo.fr>.
26612
26613 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
26614 it is not allocated. Reported by Vincent Pelletier
26615 <subdino2004@yahoo.fr>.
26616
26617 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
26618 output so the output looks better.
f19dbdb7 26619
3f1578fe 266202004-12-04 Marco Gerards <metgerards@student.han.nl>
26621
26622 Modulize the partition map support and add support for the amiga
26623 partition map.
f19dbdb7 26624
3f1578fe 26625 * commands/ls.c: Include <grub/partition.h> instead of
26626 <grub/machine/partition.h>.
26627 * kern/disk.c: Likewise.
26628 * kern/rescue.c: Likewise.
26629 * loader/i386/pc/chainloader.c: Likewise.
26630 * normal/cmdline.c: Likewise.
26631 * kern/powerpc/ieee1275/init.c: Likewise.
26632 (grub_machine_init): Call `grub_pc_partition_map_init',
26633 `grub_amiga_partition_map_init' and
26634 `grub_apple_partition_map_init'.
26635 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
26636 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
26637 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
26638 `partition.h' and `pc_partition.h'.
26639 (grub_setup_SOURCES): Remove
26640 `disk/i386/pc/partition.c'. Add `kern/partition.c',
26641 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
26642 (grub_emu_SOURCES): Likewise.
26643 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
26644 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
26645 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
26646 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
26647 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
26648 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
26649 (grubof_SOURCES): Likewise.
26650 * disk/i386/pc/partition.c: File removed.
26651 * disk/powerpc/ieee1275/partition.c: Likewise.
26652 * include/grub/powerpc/ieee1275/partition.h: Likewise.
26653 * include/grub/i386/pc/partition.h: Likewise.
26654 * kern/partition.c: New file.
26655 * partmap/amiga.c: Likewise.
26656 * partmap/apple.c: Likewise.
26657 * partmap/pc.c: Likewise.
26658 * include/grub/partition.h: Likewise..
26659 * include/grub/pc_partition.h: Likewise.
26660 * util/grub-emu.c: Include <grub/partition.h> instead of
26661 <grub/machine/partition.h>.
26662 (main): Call `grub_pc_partition_map_init',
26663 `grub_amiga_partition_map_init' and
26664 `grub_apple_partition_map_init' and deinitialize afterwards.
26665 * util/i386/pc/biosdisk.c: Include `#include
26666 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
26667 `<grub/machine/partition.h>'.
26668 * util/i386/pc/grub-setup.c: Likewise.
26669 * util/i386/pc/biosdisk.c: Likewise.
26670 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
26671 partition information in case of a PC partition.
26672 * util/i386/pc/grub-setup.c: Include `#include
26673 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
26674 `<grub/machine/partition.h>'.
26675 (setup): Only access the PC specific partition information in case
26676 of a PC partition.
26677
0ef4ced9 266782004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 26679
0ef4ced9 26680 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
26681 (grub_longjmp): Likewise.
26682 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
26683 20.
26684 * normal/powerpc/setjmp.S: New file.
26685 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
26686 `normal/powerpc/setjmp.S'.
26687 (grubof_CFLAGS): Add `-DGRUBOF'.
26688 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
26689 [GRUB_UTIL && !GRUBOF].
f19dbdb7 26690
19950e29 266912004-11-16 Marco Gerards <metgerards@student.han.nl>
26692
26693 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
26694 property named `name'. Correctly handle the error returned by
26695 `grub_ieee1275_finddevice' if a device can not be opened.
26696
a2fea427 266972004-11-02 Hollis Blanchard <hollis@penguinppc.org>
26698
26699 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
26700 `actual' for negativity.
26701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
26702 kern/fshelp.c.
26703
41ea0ea3 267042004-11-01 Marco Gerards <metgerards@student.han.nl>
26705
26706 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
26707 (PAGE_OFFSET): New macro.
26708 (CRTC_ADDR_PORT): Likewise.
26709 (CRTC_DATA_PORT): Likewise.
26710 (START_ADDR_HIGH_REGISTER): Likewise.
26711 (START_ADDR_LOW_REGISTER): Likewise.
26712 (GRAPHICS_ADDR_PORT): Likewise.
26713 (GRAPHICS_DATA_PORT): Likewise.
26714 (READ_MAP_REGISTER): Likewise.
26715 (INPUT_STATUS1_REGISTER): Likewise.
26716 (INPUT_STATUS1_VERTR_BIT): Likewise.
26717 (page): New variable.
26718 (wait_vretrace): New function.
26719 (set_read_map): Likewise.
26720 (set_start_address): Likewise.
26721 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
26722 the right page.
26723 (check_vga_mem): Take the page into account.
26724 (write_char): Likewise.
26725 (write_cursor): Likewise.
26726 (scroll_up): Likewise. Copy the page to the page that is not
26727 shown and switch between both pages.
26728 (grub_vga_putchar): Fix off by one error.
26729 (grub_vga_cls): Wait for the vertical retrace. Take the page into
26730 account.
26731
ad0bd20b 267322004-11-01 Marco Gerards <metgerards@student.han.nl>
26733
26734 Add support for iso9660 (including rockridge).
f19dbdb7 26735
ad0bd20b 26736 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
26737 (iso9660_mod_SOURCES): New variable.
26738 (iso9660_mod_CFLAGS): Likewise.
26739 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
26740 * include/grub/fs.h (grub_iso9660_init): New prototype.
26741 * util/grub-emu.c (main): Call `grub_iso9660_init'.
26742 * fs/iso9660.c: New file.
26743
26744 * include/grub/misc.h (grub_strncat): New prototype.
26745 * kern/misc.c (grub_strncat): New function.
f19dbdb7 26746
ad0bd20b 26747 * fs/hfs.c (grub_hfs_mount): Translate the error
26748 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
26749 * fs/jfs.c (grub_jfs_mount): Likewise.
26750 * fs/ufs.c (grub_ufs_mount): Likewise.
26751
a5477a59 267522004-10-28 Hollis Blanchard <hollis@penguinppc.org>
26753
26754 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
26755 which initialized BAT registers.
26756 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
26757 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
26758 Move from here...
26759 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
26760 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
26761 ... to here.
26762 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
26763 (grub_mapclaim): Likewise.
26764 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
26765 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
26766 hand.
26767
9304c1f8 267682004-10-19 Hollis Blanchard <hollis@penguinppc.org>
26769
26770 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
26771 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
26772 -ffreestanding and -msoft-float.
26773
86f4ae25 267742004-10-15 Hollis Blanchard <hollis@penguinppc.org>
26775
26776 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
26777 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
26778 set in grub_ieee1275_flags.
26779
38912228 267802004-10-14 Hollis Blanchard <hollis@penguinppc.org>
26781
26782 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
26783 prototype.
26784 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
26785 grub_console_init first.
26786 Change the memory range used for grub_ieee1275_claim and
26787 grub_mm_init_region.
26788 Print an error message if the claim fails.
26789 Include <grub/misc.h>.
26790
d1923dc8 267912004-10-13 Hollis Blanchard <hollis@penguinppc.org>
26792
26793 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
26794 Call grub_children_iterate for device nodes of type `scsi',
26795 `ide', or `ata'.
26796 (grub_ofdisk_open): Remove manual device alias resolution.
26797 Fix memory leak when device cannot be opened.
f19dbdb7 26798 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 26799 (grub_children_iterate): New prototype.
26800 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
26801 New function.
26802 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26803 Return -1 if args.size was -1.
26804
4512e4f3 268052004-10-11 Hollis Blanchard <hollis@penguinppc.org>
26806
26807 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
26808 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
26809 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
26810 Open Firmware's memory for it; claim memory from _start to _end.
26811 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
26812 (_end): New extern.
26813 (_start): Zero BSS from __bss_start to _end.
26814 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
26815 New extern.
26816 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
26817
4d61feb0 268182004-10-11 Hollis Blanchard <hollis@penguinppc.org>
26819
ad0bd20b 26820 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
26821 -1 if args.base was -1.
4d61feb0 26822
026fa2f9 268232004-10-08 Hollis Blanchard <hollis@penguinppc.org>
26824
26825 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
26826 escape sequence instead of a literal ^L. Also call
26827 grub_ofconsole_gotoxy.
26828
9f2220ef 268292004-10-03 Hollis Blanchard <hollis@penguinppc.org>
26830
26831 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
26832 void * arguments to grub_addr_t. All callers updated. Also make
26833 the `result' argument optional.
26834 (grub_ieee1275_release): change void * arguments to grub_addr_t.
26835 All callers updated.
26836
8a572cd7 268372004-09-22 Hollis Blanchard <hollis@penguinppc.org>
26838
26839 * commands/ls.c (grub_ls_list_files): Use the string following the
26840 initial ')', if present, as the filesystem path.
26841 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
26842
26843 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
26844
18aa81f2 268452004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
26846
26847 Make the source code of the menu interface more readable.
f19dbdb7 26848
18aa81f2 26849 * normal/menu.c: Include grub/mm.h.
26850 (TERM_WIDTH): New macro.
26851 (TERM_HEIGHT): Likewise.
26852 (TERM_INFO_HEIGHT): Likewise.
26853 (TERM_MARGIN): Likewise.
26854 (TERM_SCROLL_WIDTH): Likewise.
26855 (TERM_TOP_BORDER_Y): Likewise.
26856 (TERM_LEFT_BORDER_X): Likewise.
26857 (TERM_BORDER_WIDTH): Likewise.
26858 (TERM_MESSAGE_HEIGHT): Likewise.
26859 (TERM_BORDER_HEIGHT): Likewise.
26860 (TERM_NUM_ENTRIES): Likewise.
26861 (TERM_FIRST_ENTRY_Y): Likewise.
26862 (TERM_ENTRY_WIDTH): Likewise.
26863 (TERM_CURSOR_X): Likewise.
26864 (draw_border): Use macros instead of magic numbers.
26865 (print_entry): Likewise.
26866 (print_entries): Likewise.
26867 (run_menu): Likewise. Also, handle the key 'e'.
26868 (run_menu_entry): Ignore empty command lines.
26869 (print_message): Added a new argument EDIT. If EDIT is true,
26870 print a different message.
26871 (init_page): Likewise.
26872 (edit_menu_entry): New function. Not implemented yet.
26873
b47efe30 268742004-09-17 Marco Gerards <metgerards@student.han.nl>
26875
26876 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
26877 can be loaded from normal mode.
f19dbdb7 26878
b47efe30 26879 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
26880 `multiboot.mod'.
26881 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
26882 (multiboot_mod_CFLAGS): New variables.
26883 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 26884 * loader/i386/pc/multiboot_normal.c: Likewise.
26885
b47efe30 26886 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
26887 attribute `unused'.
f19dbdb7 26888
b47efe30 26889 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
26890 `fdiro' to read the mode information from instead of `diro'.
26891
26892 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
26893 looking up a symlink.
26894
26895 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
26896 macro.
26897 * normal/command.c (grub_command_execute): Don't parse the
26898 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
26899 flags of the command.
26900
26901 * normal/menu.c (grub_menu_run): Fix typo.
26902
da75ac71 269032004-09-14 Hollis Blanchard <hollis@penguinppc.org>
26904
26905 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
26906
26907 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
26908 `y + 1' instead of `y - 1'.
26909
26910 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 26911
062b24c2 269122004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
26913
26914 From Hollis Blanchard <hollis@penguinppc.org>:
26915 * kern/misc.c (memmove): New alias for grub_memmove.
26916 (memcmp): New alias for grub_memcmp.
26917 (memset): New alias for grub_memset.
f19dbdb7 26918 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 26919 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 26920 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 26921 (grub_ieee1275_get_property): Likewise.
f19dbdb7 26922
8ddad845 269232004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
26924
26925 Added normal mode command `chainloader' as module chain.mod, which
26926 depends on normal.mod and _chain.mod.
f19dbdb7 26927
8ddad845 26928 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
26929 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
26930 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
26931 Deleted prototype.
26932 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
26933 but arguments parsing moved to ...
26934 (grub_chainloader_cmd): ... here. New function.
26935 * include/grub/i386/pc/chainloader.h: New file.
26936 * loader/i386/pc/chainloader_normal.c: Likewise.
26937
2c1f4ce3 269382004-09-11 Marco Gerards <metgerards@student.han.nl>
26939
26940 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
26941 (grub_mkimage_LDFLAGS): Likewise.
26942 (grub_emu_SOURCES): Likewise.
26943 (kernel_img_HEADERS): Added fshelp.h.
26944 * fs/ext2.c: Include <grub/fshelp.h>.
26945 (FILETYPE_REG): New macro.
26946 (FILETYPE_INO_REG): Likewise.
26947 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
26948 Changed all users.
26949 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
26950 all users.
26951 (grub_fshelp_node): New struct.
26952 (grub_ext2_data): Added member `diropen'. Changed member `inode'
26953 to a pointer.
26954 (grub_ext2_get_file_block): Removed function.
26955 (grub_ext2_read_block): New function.
26956 (grub_ext2_read_file): Replaced parameter `data' by `node'.
26957 This function was written.
26958 (grub_ext2_mount): Read the root inode. Create a diropen struct.
26959 (grub_ext2_find_file): Removed function.
26960 (grub_ext2_read_symlink): New function.
26961 (grub_ext2_iterate_dir): Likewise.
26962 (grub_ext2_open): Rewritten.
26963 (grub_ext2_dir): Rewritten.
26964 * include/grub/fshelp.h: New file.
26965 * fs/fshelp.c: Likewise.
26966
3c52136a 269672004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
26968
26969 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
26970 (print_message): Add a missing newline.
26971 (run_menu): Added timeout support.
26972 (run_menu_entry): New local function.
26973 (grub_menu_run): Added support for booting.
26974
26975 * kern/loader.c (grub_loader_is_loaded): New function.
26976
26977 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
26978 (grub_get_rtc): Exported.
26979
26980 * include/grub/i386/pc/time.h: Include grub/symbol.h.
26981 (grub_get_rtc): Exported.
26982
26983 * include/grub/normal.h (struct grub_command_list): Remove
26984 constant from the member `command'.
26985
26986 * include/grub/loader.h (grub_loader_is_loaded): Declared.
26987
26988 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
26989
26990 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
26991
aa033560 269922004-08-28 Marco Gerards <metgerards@student.han.nl>
26993
26994 Add support for the JFS filesystem.
26995
26996 * fs/jfs.c: New file.
26997 * include/grub/fs.h (grub_jfs_init): New prototype.
26998 (grub_jfs_fini): New prototype.
26999 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
27000 (grub_emu_SOURCES): Likewise.
27001 (pkgdata_MODULES): Add jfs.mod.
27002 (jfs_mod_SOURCES): New variable.
27003 (jfs_mod_CFLAGS): Likewise.
27004 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
27005 (grubof_SOURCES): Likewise.
27006 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
27007
27008 * fs/fat.c (grub_fat_find_dir): Convert the filename little
27009 endian to the host endian.
27010 (grub_fat_utf16_to_utf8): Move function from there...
27011 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 27012 the endianness of the source string anymore.
aa033560 27013 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
27014
94bc45af 270152004-08-24 Marco Gerards <metgerards@student.han.nl>
27016
27017 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
27018 (grub_boot_fini) [GRUB_UTIL]: Likewise.
27019 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
27020 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 27021
94bc45af 27022 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
27023 (grub_hfs_iterate_dir): Make the function static. Add prototypes
27024 for `node_found' and `it_dir'.
27025 (grub_hfs_dir): Add prototype for `dir_hook'.
27026
27027 * fs/minix.c (grub_minix_get_file_block): Add prototype for
27028 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
27029 and `indir32' to silence a gcc warning.
27030
27031 * include/grub/fs.h (grub_hfs_init): New prototype.
27032 (grub_hfs_fini): Likewise.
f19dbdb7 27033
27034
97543f08 270352004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
27036
27037 Each disk device has its own id now. This is useful to make use
27038 of multiple disk devices.
f19dbdb7 27039
97543f08 27040 * include/grub/disk.h (grub_disk_dev_id): New enum.
27041 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
27042 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
27043
27044 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
27045 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27046
27047 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
27048 GRUB_DISK_DEVICE_OFDISK_ID as an id.
27049
27050 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
27051 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27052
27053 * include/grub/disk.h (struct grub_disk_dev): Added a new member
27054 "id" which is used by the cache manager.
27055
27056 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
27057 of just "GRUB".
27058
64372eb4 270592004-08-18 Marco Gerards <metgerards@student.han.nl>
27060
27061 * fs/hfs.c: New file.
27062 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
27063 (grub_emu_SOURCES): Likewise.
27064 (pkgdata_MODULES): Add hfs.mod.
27065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
27066 (grubof_SOURCES): Likewise.
27067 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
27068
27069 * include/grub/misc.h (grub_strncasecmp): Add prototype.
27070 * kern/misc.c (grub_strncasecmp): Add function.
27071
cc61b58f 270722004-08-14 Marco Gerards <metgerards@student.han.nl>
27073
27074 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
27075 with parentheses.
27076
27077 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
27078 (grub_ext2_dir): In case the directory entry type is unknown, read
27079 it from the inode.
27080
0ef123f6 270812004-08-02 Peter Bruin <pjbruin@dds.nl>
27082
27083 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
27084 grub_load_linux instead of grub_rescue_cmd_linux as second
27085 argument of grub_rescue_register_command.
27086
27087 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
27088
a447c5df 270892004-07-27 Marco Gerards <metgerards@student.han.nl>
27090
27091 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
27092 function.
27093 * commands/boot.c: Remove the check for `GRUB_UTIL'.
27094 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27095 `loader/powerpc/ieee1275/linux.c',
27096 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
27097 * include/grub/powerpc/ieee1275/ieee1275.h
27098 (grub_ieee1275_release): New prototype.
27099 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
27100 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
27101 normal, boot, linux and linux_normal.
27102 * loader/powerpc/ieee1275/linux.c: New file.
27103 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27104
5a9e3546 271052004-07-12 Marco Gerards <metgerards@student.han.nl>
27106
27107 * normal/arg.c (grub_arg_parse): Correct error handling after
27108 reallocating the argumentlist (check if `argl' is not null instead
27109 of checking if `args' is not null).
27110 * kern/mm.c (grub_realloc): Return the same pointer when using the
27111 same region, instead of returning the header address.
27112
e15199cb 271132004-07-11 Marco Gerards <metgerards@student.han.nl>
27114
27115 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
27116 one block instead of two when looking for the initial partition.
27117 (grub_partition_probe): Initialize the local variable `p' with 0.
27118 Use base 10 for the grub_strtoul call.
27119 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
27120 need for one local variable.
27121 (grub_strtoul): Don't add the new value to `num', instead of that
27122 just assign it.
27123
020616c2 271242004-07-11 Marco Gerards <metgerards@student.han.nl>
27125
27126 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
27127 (pxeboot_img_SOURCES): New variable.
27128 (pxeboot_img_ASFLAGS): Likewise.
27129 (pxeboot_img_LDFLAGS): Likewise.
27130 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
27131 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
27132 <lode_leroy@hotmail.com>.
27133
6c51eb64 271342004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27135
27136 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
27137 there was no input.
27138
cfb12aff 271392004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27140
27141 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
27142 the history buffer logic.
27143
6eabba74 271442004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27145
27146 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
27147 (FILETYPE_INO_SYMLINK): New macros.
27148 (grub_ext2_find_file): Check if the node is a directory using the
27149 inode stat information instead of using the filetype in the
27150 dirent. Exclude the first character of an absolute symlink.
27151 (grub_ext2_dir): Mask out the filetype part of the mode member of
27152 the inode.
27153
66e19ef8 271542004-05-24 Marco Gerards <metgerards@student.han.nl>
27155
27156 Add support for UFS version 1 and 2. Add support for the minix
27157 filesystem version 1 and 2, both the variants with 14 and 30 long
27158 filenames.
f19dbdb7 27159
66e19ef8 27160 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
27161 fs/minix.c.
27162 (grub_emu_SOURCES): Likewise.
27163 (pkgdata_MODULES): Add ufs.mod and minix.mod.
27164 (ufs_mod_SOURCES): New variable.
27165 (ufs_mod_CFLAGS): Likewise.
27166 (minix_mod_SOURCES): Likewise.
27167 (minix_mod_CFLAGS): Likewise.
27168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
27169 fs/minix.c.
27170 (grubof_SOURCES): Likewise.
27171 * fs/ufs.c: New file.
27172 * fs/minix.c: New file.
27173 * include/grub/fs.h (grub_ufs_init): New prototype.
27174 (grub_ufs_fini): Likewise.
27175 (grub_minix_init): Likewise.
27176 (grub_minix_fini): Likewise.
27177 * util/grub-emu.c (main): Initialize and deinitialize UFS and
27178 minix fs.
27179
cc2e748a 271802004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
27181
27182 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
27183 commands/ls.c, commands/terminal.c, commands/boot.c,
27184 commands/cmp.c and commands/cat.c.
27185 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
27186
27187 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
27188 "env.h"
27189
4b13b216 271902004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27191
27192 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
27193 and grub_, respectively. Because the conversion is trivial and
27194 mechanical, I omit the details here. Please refer to the CVS
27195 if you need more information.
27196
6a142551 271972004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27198
27199 * include/pupa: Renamed to ...
27200 * include/grub: ... this.
27201 * util/i386/pc/pupa-mkimage.c: Renamed to ...
27202 * util/i386/pc/grub-mkimage.c: ... this.
27203 * util/i386/pc/pupa-setup.c: Renamed to ...
27204 * util/i386/pc/grub-setup.c: ... this.
27205 * util/pupa-emu.c: Renamed to ...
27206 * util/grub-emu.c: ... this.
27207
e56cdf21 272082004-03-29 Marco Gerards <metgerards@student.han.nl>
27209
27210 Add support for the newworld apple macintosh (PPC). This has been
27211 tested on the powerbook 2000 only. It only adds support for
27212 generic ieee1275 functions, console and disk support. This should
27213 be easy to port to other architectures with support for Open
27214 Firmware.
f19dbdb7 27215
e56cdf21 27216 * configure.ac: Accept the powerpc as host_cpu. In the case of
27217 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
27218 specific tests are only executed while building for the i386.
27219 Inverse test for crosscompile.
27220 * genmk.rb (Utility): Allow assembler files.
27221 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
27222 * conf/powerpc-ieee1275.rmk: New file.
27223 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
27224 * disk/powerpc/ieee1275/partition.c: Likewise.
27225 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
27226 * include/pupa/powerpc/ieee1275/console.h: Likewise.
27227 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
27228 * include/pupa/powerpc/ieee1275/time.h: Likewise.
27229 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
27230 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
27231 * include/pupa/powerpc/ieee1275/loader.h
27232 * include/pupa/powerpc/setjmp.h: Likewise.
27233 * include/pupa/powerpc/types.h: Likewise.
27234 * kern/powerpc/ieee1275/init.c: Likewise.
27235 * kern/powerpc/ieee1275/openfw.c: Likewise.
27236 * term/powerpc/ieee1275/ofconsole.c: Likewise.
27237
27238 These files were written by Johan Rydberg
27239 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 27240
e56cdf21 27241 * boot/powerpc/ieee1275/cmain.c: New file.
27242 * boot/powerpc/ieee1275/crt0.S: Likewise.
27243 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
27244 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
27245
8c8cc205 272462004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
27247
27248 * Makefile.in: Update copyright.
27249 * genmodsrc.sh: Likewise.
27250 * gensymlist.sh: Likewise.
27251 * term/i386/pc/vga.c: Indent correctly.
27252
27253 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
27254 bugreporting address.
27255 * util/i386/pc/pupa-setup.c (usage): Likewise,
27256 (main): Call pupa_ext2_init and pupa_ext2_fini.
27257
f19dbdb7 27258 * fs/fat.c (log2): Renamed to ...
8c8cc205 27259 (fat_log2): ... this.
27260 All callers changed.
27261 * kern/misc.c (memcpy): Alias to pupa_memmove.
27262 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
27263 lvalue cast.
27264 * util/console.c (pupa_ncurses_fini): Return 0.
27265
27266 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
27267 Move fail label here.
27268 [__GNU__]: Don't warn when using stat.
27269 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
27270 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
27271 long int. Use strtol instead of strtoul.
f19dbdb7 27272
db1771cf 272732004-03-14 Marco Gerards <metgerards@student.han.nl>
27274
27275 * commands/boot.c: New file.
27276 * commands/cat.c: Likewise.
27277 * commands/cmp.c: Likewise.
27278 * commands/ls.c: Likewise.
27279 * commands/terminal.c: Likewise.
27280 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
27281 (pupa_register_command): Changed interface to match the new
27282 argument parser.
27283 (pupa_command_execute): Changed (almost rewritten) so it uses
27284 pupa_split_command. Added support for setting variables using the
27285 syntax `foo=bar'.
27286 (rescue_command): Changed to work with the new argument parser.
27287 (terminal_command): Moved from here to commands/terminal.c.
27288 (set_command): New function.
27289 (unset_command): New function.
27290 (insmod_command): New function.
27291 (rmmod_command): New function.
27292 (lsmod_command): New function.
27293 (pupa_command_init): Don't initialize the command terminal
27294 anymore. Initialize the commands set, unset, insmod, rmmod and
27295 lsmod.
27296 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
27297 (kernel_img_HEADERS): Add arg.h and env.h.
27298 (pupa_mkimage_LDFLAGS): Add kern/env.c.
27299 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
27300 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
27301 normal/arg.c.
27302 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
27303 terminal.mod.
27304 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
27305 (boot_mod_SOURCES): New variable.
27306 (terminal_mod_SOURCES): Likewise.
27307 (ls_mod_SOURCES): Likewise.
27308 (cmp_mod_SOURCES): Likewise.
27309 (cat_mod_SOURCES): Likewise.
27310
27311 * normal/arg.c: New file.
27312 * kern/env.c: Likewise.
27313 * include/pupa/arg.h: Likewise.
27314 * include/pupa/env.h: Likewise.
27315 * font/manager.c (font_command): Changed to match argument parsing
27316 interface changes.
27317 (PUPA_MOD_INIT): Likewise.
27318 * hello/hello.c (pupa_cmd_hello): Likewise.
27319 (PUPA_MOD_INIT): Likewise.
27320 * include/pupa/disk.h: Include <pupa/device.h>.
27321 (pupa_print_partinfo): New prototype.
27322 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
27323 (pupa_dl_get_prefix): Likewise.
27324 * include/pupa/misc.h: Include <pupa/err.h>.
27325 (pupa_isgraph): New prototype.
27326 (pupa_isdigit): Likewise.
27327 (pupa_split_cmdline): Likewise.
27328 * include/pupa/normal.h: Include <pupa/arg.h>.
27329 (pupa_command): Changed the prototype of the member `func' to
27330 match the argument parsing interface. Added member `options'.
27331 (pupa_register_command): Updated to match function.
27332 (pupa_arg_parse): New prototype.
27333 (pupa_hello_init) [PUPA_UTIL]: New prototype.
27334 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
27335 (pupa_ls_init) [PUPA_UTIL]: Likewise.
27336 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
27337 (pupa_cat_init) [PUPA_UTIL]: Likewise.
27338 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
27339 (pupa_boot_init) [PUPA_UTIL]: Likewise.
27340 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
27341 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
27342 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
27343 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
27344 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
27345 * kern/disk.c: Include <pupa/file.h>.
27346 (pupa_print_partinfo): New function.
27347 * kern/dl.c: Include <pupa/env.h>.
27348 (pupa_dl_dir): Variable removed.
27349 (pupa_dl_load): Use the environment variable `prefix' instead of
27350 the variable pupa_dl_dir.
27351 (pupa_dl_set_prefix): Function removed.
27352 (pupa_dl_get_prefix): Likewise.
27353 * kern/i386/pc/init.c: Include <pupa/env.h>.
27354 (pupa_machine_init): Use the environment variable `prefix' instead of
27355 using pupa_dl_set_prefix to set the prefix.
27356 * kern/main.c: Include <pupa/env.h>.
27357 (pupa_set_root_dev): Use the environment variable `prefix' instead of
27358 using pupa_dl_get_prefix to get the prefix.
27359 * kern/misc.c: Include <pupa/env.h>.
27360 (pupa_isdigit): New function.
27361 (pupa_isgraph): Likewise.
27362 (pupa_ftoa): Likewise.
27363 (pupa_vsprintf): Added support for printing values of the type
27364 `double'. Make it possible to format variable output when using
27365 formatting like `%1.2%f'.
27366 (pupa_split_cmdline): New function.
27367 * kern/rescue.c: Include <pupa/env.h>.
27368 (next_word): Removed function.
27369 (pupa_rescue_cmd_prefix): Likewise.
27370 (pupa_rescue_cmd_set): New function.
27371 (pupa_rescue_cmd_unset): New function.
27372 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
27373 split the command line instead of splitting it here. Added
27374 support for setting variables using the syntax `foo=bar'. Don't
27375 initialize the prefix command anymore. Initialized the set and
27376 unset commands.
27377 * normal/cmdline.c: Include <pupa/env.h>.
27378 (pupa_tab_complete): Added prototypes for print_simple_completion,
27379 print_partition_completion, add_completion, iterate_commands,
27380 iterate_dev, iterate_part and iterate_dir. Moved code to print
27381 partition information from here to kern/disk.c.
fe6b695a 27382 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 27383 * normal/main.c: Include <pupa/env.h>.
27384 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
27385 instead of using pupa_dl_get_prefix to get the prefix.
27386 * term/i386/pc/vga.c: Include <pupa/arg.h>.
27387 (check_vga_mem): Cast pointers to `void *' to silence a gcc
27388 warning.
27389 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
27390 (pupa_vga_setcolor): Declare unused variables with `__attribute__
27391 ((unused))' to silence a gcc warning.
27392 (pupa_vga_setcolor): Likewise.
27393 (debug_command): Changed to match argument parsing
27394 interface changes.
27395 * util/pupa-emu.c: Include <pupa/env.h>.
27396 (options): Added 0's for unused fields to silence a gcc warning.
27397 (argp): Likewise.
27398 (main): Use the environment variable `prefix' instead of using
27399 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
27400 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
27401 and terminal.
27402
27403 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
27404 * util/misc.c: Include <malloc.h>.
27405 (pupa_malloc): Rewritten so errors are correctly reported.
27406 (pupa_realloc): Likewise.
27407 (pupa_memalign): Likewise.
27408 (pupa_mm_init_region): Declare unused variables with
27409 `__attribute__ ((unused))' to silence a gcc warning.
27410 * normal/i386/setjmp.S: Remove tab at the end of the file to
27411 silence a gcc warning.
27412 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
27413 variables with `__attribute__ ((unused))' to silence a gcc
27414 warning.
27415 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
27416 local variable i unsigned to silence a gcc warning.
27417
27418 * kern/term.c: Include <pupa/misc.h>.
27419 (pupa_more_lines): New variable.
27420 (pupa_more): Likewise.
27421 (pupa_putcode): When the pager is active pause at the end of every
27422 screen.
27423 (pupa_set_more): New function.
27424 * include/pupa/term.h (pupa_set_more): New prototype.
27425
27426
3b1139cb 274272004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
27428
27429 Now this project is GRUB 2 rather than PUPA. The location of
27430 the CVS repository was moved to GRUB's.
f19dbdb7 27431
3b1139cb 27432 * configure.ac: Use bug-grub as the reporting address.
27433 Use GRUB instead of PUPA.
27434 Change the version number to 1.90.
27435
8367695c 274362004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
27437
27438 * genkernsyms.sh: Updated copyright information.
27439 * genmk.rb: Likewise.
27440 * genmodsrc.sh: Likewise.
27441 * gensymlist.sh: Likewise.
27442 * boot/i386/pc/boot.S: Likewise.
27443 * boot/i386/pc/diskboot.S: Likewise.
27444 * disk/i386/pc/biosdisk.c: Likewise.
27445 * disk/i386/pc/partition.c: Likewise.
27446 * font/manager.c: Likewise.
27447 * fs/ext2.c: Likewise.
27448 * fs/fat.c: Likewise.
27449 * include/pupa/boot.h: Likewise.
27450 * include/pupa/device.h: Likewise.
27451 * include/pupa/disk.h: Likewise.
27452 * include/pupa/dl.h: Likewise.
27453 * include/pupa/elf.h: Likewise.
27454 * include/pupa/err.h: Likewise.
27455 * include/pupa/file.h: Likewise.
27456 * include/pupa/font.h: Likewise.
27457 * include/pupa/fs.h: Likewise.
27458 * include/pupa/kernel.h: Likewise.
27459 * include/pupa/loader.h: Likewise.
27460 * include/pupa/misc.h: Likewise.
27461 * include/pupa/mm.h: Likewise.
27462 * include/pupa/net.h: Likewise.
27463 * include/pupa/normal.h: Likewise.
27464 * include/pupa/rescue.h: Likewise.
27465 * include/pupa/setjmp.h: Likewise.
27466 * include/pupa/symbol.h: Likewise.
27467 * include/pupa/term.h: Likewise.
27468 * include/pupa/types.h: Likewise.
27469 * include/pupa/i386/setjmp.h: Likewise.
27470 * include/pupa/i386/types.h: Likewise.
27471 * include/pupa/i386/pc/biosdisk.h: Likewise.
27472 * include/pupa/i386/pc/boot.h: Likewise.
27473 * include/pupa/i386/pc/console.h: Likewise.
27474 * include/pupa/i386/pc/init.h: Likewise.
27475 * include/pupa/i386/pc/kernel.h: Likewise.
27476 * include/pupa/i386/pc/linux.h: Likewise.
27477 * include/pupa/i386/pc/loader.h: Likewise.
27478 * include/pupa/i386/pc/memory.h: Likewise.
27479 * include/pupa/i386/pc/multiboot.h: Likewise.
27480 * include/pupa/i386/pc/partition.h: Likewise.
27481 * include/pupa/i386/pc/time.h: Likewise.
27482 * include/pupa/i386/pc/vga.h: Likewise.
27483 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
27484 * include/pupa/util/getroot.h: Likewise.
27485 * include/pupa/util/misc.h: Likewise.
27486 * include/pupa/util/resolve.h: Likewise.
27487 * kern/device.c: Likewise.
27488 * kern/disk.c: Likewise.
27489 * kern/dl.c: Likewise.
27490 * kern/err.c: Likewise.
27491 * kern/file.c: Likewise.
27492 * kern/fs.c: Likewise.
27493 * kern/loader.c: Likewise.
27494 * kern/main.c: Likewise.
27495 * kern/misc.c: Likewise.
27496 * kern/mm.c: Likewise.
27497 * kern/rescue.c: Likewise.
27498 * kern/term.c: Likewise.
27499 * kern/i386/dl.c: Likewise.
27500 * kern/i386/pc/init.c: Likewise.
27501 * kern/i386/pc/lzo1x.S: Likewise.
27502 * kern/i386/pc/startup.S: Likewise.
27503 * loader/i386/pc/chainloader.c: Likewise.
27504 * loader/i386/pc/linux.c: Likewise.
27505 * loader/i386/pc/multiboot.c: Likewise.
27506 * normal/cmdline.c: Likewise.
27507 * normal/command.c: Likewise.
27508 * normal/main.c: Likewise.
27509 * normal/menu.c: Likewise.
27510 * normal/i386/setjmp.S: Likewise.
27511 * term/i386/pc/console.c: Likewise.
27512 * term/i386/pc/vga.c: Likewise.
27513 * util/console.c: Likewise.
27514 * util/genmoddep.c: Likewise.
27515 * util/misc.c: Likewise.
27516 * util/pupa-emu.c: Likewise.
27517 * util/resolve.c: Likewise.
27518 * util/unifont2pff.rb: Likewise.
27519 * util/i386/pc/biosdisk.c: Likewise.
27520 * util/i386/pc/getroot.c: Likewise.
27521 * util/i386/pc/pupa-mkimage.c: Likewise.
27522 * util/i386/pc/pupa-setup.c: Likewise.
27523
e6eced71 275242004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
27525
27526 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
27527 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
27528 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
27529 reading and reset it after reading.
27530 (pupa_ext2_close): Return PUPA_ERR_NONE.
27531
27532 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
27533 Correct value.
27534 (struct linux_kernel_header): Add kernel_version and
27535 initrd_addr_max.
27536 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
27537 pupa_file_read succeeds.
27538 (pupa_rescue_cmd_initrd): Implement.
27539
5aded270 275402003-12-03 Marco Gerards <metgerards@student.han.nl>
27541
27542 * fs/ext2.c (pupa_ext2_label): New function.
27543 (pupa_ext2_fs): Added label.
27544 * fs/fat.c (pupa_fat_label): New function.
27545 (pupa_fat_fs): Added label.
27546 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
27547
27548 * kern/misc.c (pupa_strndup): New function.
27549 * include/pupa/misc.h (pupa_strndup): New prototype.
27550
27551 * include/pupa/normal.h: Include <pupa/err.h>.
27552 (pupa_set_history): New prototype.
27553 (pupa_iterate_commands): New prototype.
27554 * normal/cmdline.c: Include <pupa/machine/partition.h>,
27555 <pupa/disk.h>, <pupa/file.h>.
27556 (hist_size): New variable.
27557 (hist_lines): Likewise.
27558 (hist_end): Likewise.
27559 (hist_used): Likewise.
27560 (pupa_set_history): New function.
27561 (pupa_history_get): Likewise.
27562 (pupa_history_add): Likewise.
27563 (pupa_history_replace): Likewise.
27564 (pupa_tab_complete): Likewise.
27565 (pupa_cmdline_run): Added tab completion and history buffer. Tab
27566 completion shows partitionnames while completing partitions, this
27567 feature was suggested by Jeff Bailey.
27568 * normal/command.c (pupa_iterate_commands): New function.
27569 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
27570 (pupa_normal_init): Initialize history buffer.
27571 (PUPA_MOD_INIT): Likewise.
27572 (pupa_normal_fini): Free the history buffer.
27573 (PUPA_MOD_FINI): Likewise.
27574
27575 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
27576 key.
27577
27578 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
27579 * configure.ac [i386]: Check for regparam bug.
27580 (NESTED_FUNC_ATTR) [! i386]: Defined.
27581
1f7315a3 275822003-11-17 Marco Gerards <metgerards@student.han.nl>
27583
27584 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
27585 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
27586 (pupa_emu_SOURCES): New variable.
27587 (pupa_emu_LDFLAGS): Likewise.
27588 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
27589 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
27590 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
27591 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
27592 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
27593 (pupa_jmp_buf): New typedef.
27594 (pupa_setjmp) [PUPA_UTIL]: New macro.
27595 (pupa_longjmp) [PUPA_UTIL]: Likewise.
27596 * include/pupa/term.h (struct pupa_term): New member `refresh'.
27597 (pupa_refresh): New prototype.
27598 * include/pupa/util/getroot.h: New file.
27599 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
27600 it.
27601 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
27602 (pupa_rescue_cmd_cat): Likewise.
27603 (pupa_rescue_cmd_ls): Likewise.
27604 (pupa_rescue_cmd_testload): Likewise.
27605 (pupa_rescue_cmd_lsmod): Likewise.
27606 * normal/cmdline.c (pupa_cmdline_get): Likewise.
27607 * normal/menu.c (run_menu): Likewise.
27608 * kern/term.c (pupa_cls): Likewise.
27609 (pupa_refresh): New function.
27610 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
27611 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
27612 * util/console.c: New file.
f19dbdb7 27613
1f7315a3 27614 * util/i386/pc/getroot.c: New file.
27615 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
27616 (pupa_putchar): New function.
27617 (pupa_refresh): Likewise.
27618 (xgetcwd): Function moved to ...
27619 (strip_extra_slashes): Likewise.
27620 (get_prefix): Likewise.
f19dbdb7 27621 * util/i386/pc/getroot.c: ... here.
1f7315a3 27622 (find_root_device): Function moved and renamed to...
27623 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
27624 Changed all callers.
27625 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
27626 and renamed to...
27627 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
27628 Changed all callers.
27629 * util/misc.c (pupa_memalign): New function.
27630 (pupa_mm_init_region): Likewise.
27631 (pupa_register_exported_symbols): Likewise.
27632 (pupa_putchar): Function removed.
27633 * util/pupa-emu.c: New file.
27634
9a5c1ade 276352003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
27636
27637 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
27638 (_multiboot_mod_SOURCES): New variable.
27639 (_multiboot_mod_CFLAGS): Likewise.
27640 * loader/i386/pc/multiboot.c: New file.
27641 * include/pupa/i386/pc/multiboot.h: Likewise.
27642 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
27643 (pupa_multiboot_real_boot): New function.
27644 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
27645 (pupa_multiboot_real_boot): New prototype.
27646 (pupa_rescue_cmd_multiboot): Likewise
27647 (pupa_rescue_cmd_module): Likewise.
27648
27649 * kern/loader.c (pupa_loader_set): Continue when
27650 pupa_loader_unload_func() fails.
27651 (pupa_loader_unset): New function.
27652 * include/pupa/loader.h (pupa_loader_unset): New prototype.
27653
27654 * kern/misc.c (pupa_stpcpy): New function.
27655 * include/pupa/misc.h (pupa_stpcpy): New prototype.
27656
8e72a9c0 276572003-11-12 Marco Gerards <metgerards@student.han.nl>
27658
27659 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
27660 for available extensions.
27661
27662 * include/pupa/i386/pc/time.h: New file.
27663 * kern/disk.c: Include <pupa/machine/time.h>.
27664 (PUPA_CACHE_TIMEOUT): New macro.
27665 (pupa_last_time): New variable.
27666 (pupa_disk_open): Flush the cache when there was a timeout.
27667 (pupa_disk_close): Reset the timer.
27668 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
27669 pupa_currticks.
27670 * util/misc.c: Include <sys/times.h>
27671 (pupa_get_rtc): New function.
27672
c4adbd32 276732003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
27674
27675 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
27676 as blocks.
27677 (pupa_ext2_get_file_block): Use blocks member.
27678
27679 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
27680 first block. Return -1 instead of pupa_errno on error.
27681
bfd30f06 276822003-10-27 Marco Gerards <metgerards@student.han.nl>
27683
27684 * README: In the pupa-mkimage example use _chain instead of chain
27685 and ext2 instead of fat.
27686 * TODO: Replace ext2fs with jfs as an example. Add an item for
27687 adding journal playback for ext2fs.
27688 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
27689 (pkgdata_MODULES): Added ext2.mod.
27690 (ext2_mod_SOURCES): New variable.
27691 (ext2_mod_CFLAGS): Likewise.
27692 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
27693 * include/pupa/misc.h (pupa_strncpy): New prototype.
27694 (pupa_strcat): Likewise.
27695 (pupa_strncmp): Likewise.
27696 * kern/misc.c (pupa_strcat): Enable function.
27697 (pupa_strncpy): New function.
27698 (pupa_strncmp): Likewise.
27699 * fs/ext2.c: New file.
f19dbdb7 27700
bfd30f06 27701 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
27702 when the read failed before retrying.
27703 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
27704 (_FILE_OFFSET_BITS): Likewise.
27705 * configure.ac: Added AC_SYS_LARGEFILE.
27706
98d15063 277072003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
27708
27709 * genmk.rb (PModule#rule): Make sure to get only symbol names
27710 from the output of nm.
59cad637 27711 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 27712
18d9c7cd 277132003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
27714
27715 I forgot to check in these changes for a long time. This adds
27716 incomplete support for VGA console, and this is still very
27717 buggy. Also, a lot of consideration is required for I18N,
27718 UNICODE, and VGA font issues. Therefore, assume that this is
27719 such that "better than nothing".
f19dbdb7 27720
18d9c7cd 27721 * font/manager.c: New file.
27722 * include/pupa/font.h: Likewise.
27723 * include/pupa/i386/pc/vga.h: Likewise.
27724 * term/i386/pc/vga.c: Likewise.
27725 * util/unifont2pff.rb: Likewise.
27726
27727 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
27728 (pkgdata_MODULES): Added vga.mod and font.mod.
27729 (vga_mod_SOURCES): New variables.
27730 (vga_mod_CFLAGS): Likewise.
27731 (font_mod_SOURCES): Likewise.
27732 (font_mod_CFLAGS): Likewise.
27733
27734 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
27735
27736 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 27737 (struct pupa_term): Added init and fini.
18d9c7cd 27738 Changed the argument of putchar to pupa_uint32_t.
27739
27740 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
27741 (pupa_console_real_putchar): New prototype.
27742 (pupa_console_putchar): Removed.
27743 (pupa_console_checkkey): Exported.
27744 (pupa_console_getkey): Likewise.
27745
27746 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
27747 characters.
27748
27749 * kern/term.c (pupa_term_set_current): Rewritten.
27750 (pupa_putchar): Likewise.
27751 (pupa_putcode): New function.
27752
27753 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
27754 (pupa_console_real_putchar): ... this.
27755 (pupa_vga_set_mode): New function.
27756 (pupa_vga_get_font): Likewise.
27757
27758 * normal/command.c: Include pupa/term.h.
27759 (terminal_command): New function.
27760 (pupa_command_init): Register the command "terminal".
27761
27762 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
27763 (DISP_UP): Likewise.
27764 (DISP_RIGHT): Likewise.
27765 (DISP_DOWN): Likewise.
27766 (DISP_HLINE): Likewise.
27767 (DISP_VLINE): Likewise.
27768 (DISP_UL): Likewise.
27769 (DISP_UR): Likewise.
27770 (DISP_LL): Likewise.
27771 (DISP_LR): Likewise.
27772
27773 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 27774
977329f5 277752003-02-08 NIIBE Yutaka <gniibe@m17n.org>
27776
27777 * util/resolve.c (pupa_util_resolve_dependencies): BUG
27778 FIX. Reverse the path_list.
27779
27780 * include/pupa/normal.h: Export pupa_register_command and
27781 pupa_unregister_command.
27782
27783 * hello/hello.c (pupa_cmd_hello): New module.
27784 * conf/i386-pc.rmk: Added hello.mod.
27785
1f5ab428 277862003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
27787
27788 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 27789
1f5ab428 27790 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
27791 (compress_kernel): New variable.
27792 (generate_image): Heavily modified to support compressing a
27793 large part of the core image.
27794
27795 * util/misc.c (pupa_util_read_image): Fix a file descriptor
27796 leak.
27797 (pupa_util_load_image): New function.
27798
27799 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
27800 (pupa_compressed_size): New variable.
27801 (codestart): Enable Gate A20 here.
27802 Decompress the compressed part of the core image.
27803 Rearrange the code to put functions and variables which are
27804 required for initialization in the non-compressed part.
27805 Include lzo1x.S.
27806
27807 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
27808 here.
27809
27810 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
27811
f19dbdb7 27812 * include/pupa/i386/pc/kernel.h
1f5ab428 27813 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
27814 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
27815 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
27816 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
27817 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
27818
27819 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
27820
27821 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
27822 (Utility#rule): Likewise.
27823
27824 * configure.ac: Check if LZO is available.
27825
ce5bf700 278262003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
27827
27828 * include/pupa/normal.h: New file.
27829 * include/pupa/setjmp.h: Likewise.
27830 * include/pupa/i386/setjmp.h: Likewise.
27831 * normal/cmdline.c: Likewise.
27832 * normal/command.c: Likewise.
27833 * normal/main.c: Likewise.
27834 * normal/menu.c: Likewise.
27835 * normal/i386/setjmp.S: Likewise.
f19dbdb7 27836
ce5bf700 27837 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
27838 (pupa_rescue_cmd_initrd): Likewise.
27839
27840 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
27841 Likewise.
27842
27843 * kern/i386/pc/startup.S (translation_table): New variable.
27844 (translate_keycode): New function.
27845 (pupa_console_getkey): Call translate_keycode.
27846
27847 * kern/rescue.c (attempt_normal_mode): New function.
27848 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
27849 it failed, print a message.
27850
27851 * kern/mm.c (pupa_real_malloc): Print more information when a
27852 free magic is broken.
27853 (pupa_free): If the first free header is not free actually, set
27854 it to P.
27855
27856 * kern/main.c (pupa_load_normal_mode): Just load the module
27857 "normal".
27858 (pupa_main): Don't print the message
27859 "Entering into rescue mode..." here.
27860
27861 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
27862 Declared.
27863 (pupa_rescue_cmd_initrd): Likewise.
27864 (pupa_rescue_cmd_initrd): Likewise.
27865
27866 * include/pupa/symbol.h (FUNCTION): Specify the type.
27867 (VARIABLE): Likewise.
27868
27869 * include/pupa/err.h (pupa_err_t): Added
27870 PUPA_ERR_UNKNOWN_COMMAND.
27871
27872 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
27873 (pupa_dl_get_prefix): Likewise.
27874
27875 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
27876 Added _chain.mod and _linux.mod instead of chain.mod and
27877 linux.mod.
27878 (chain_mod_SOURCES): Renamed to ...
27879 (_chain_mod_SOURCES): ... this.
27880 (chain_mod_CFLAGS): Renamed to ...
27881 (_chain_mod_CFLAGS): ... this.
27882 (linux_mod_SOURCES): Renamed to ...
27883 (_linux_mod_SOURCES): ... this.
27884 (linux_mod_CFLAGS): Renamed to ...
27885 (_linux_mod_CFLAGS): ... this.
27886 (normal_mod_SOURCES): New variable.
27887 (normal_mod_CFLAGS): Likewise.
27888 (normal_mod_ASFLAGS): Likewise.
27889
278902003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
27891
27892 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
27893 possible.
27894
fe6b695a 27895 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 27896 recursively.
27897 (pupa_dl_unref): Unrefer depending modules recursively.
27898 Don't call pupa_dl_unload implicitly, because PUPA can crash if
27899 a module is unloaded before one depending on that module is
27900 unloaded.
27901 (pupa_dl_unload): Unload depending modules explicitly,
27902 if possible.
27903
c04da074 279042003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
27905
27906 * include/pupa/i386/pc/linux.h: New file.
27907 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 27908
c04da074 27909 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
27910 Removed.
27911 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
27912 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
27913 of PUPA_CHAINLOADER_BOOT_SECTOR.
27914
27915 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
27916 (pupa_linux_prot_size): New variable.
27917 (pupa_linux_tmp_addr): Likewise.
27918 (pupa_linux_real_addr): Likewise.
27919 (pupa_linux_boot_zimage): New function.
27920 (pupa_linux_boot_bzimage): Likewise.
27921
27922 * kern/i386/pc/init.c (struct mem_region): New structure.
27923 (MAX_REGIONS): New macro.
27924 (mem_regions): New variable.
27925 (num_regions): Likewise.
27926 (pupa_os_area_addr): Likewise.
27927 (pupa_os_area_size): Likewise.
27928 (pupa_lower_mem): Likewise.
27929 (pupa_upper_mem): Likewise.
27930 (add_mem_region): New function.
27931 (compact_mem_regions): Likewise.
27932 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
27933 the size of the conventional memory and that of so-called upper
27934 memory (before the first memory hole).
27935 Instead of adding each found region to free memory, use
27936 add_mem_region and add them after removing overlaps.
27937 Also, add only 1/4 of the upper memory to free memory. The rest
27938 is used for loading OS images. Maybe this is ad hoc, but this
27939 makes it much easier to relocate OS images when booting.
27940
27941 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
27942 (pupa_enter_rescue_mode): Don't register initrd and module.
27943
27944 * kern/mm.c: Include pupa/dl.h.
27945
27946 * kern/main.c: Include pupa/file.h and pupa/device.h.
27947
27948 * kern/loader.c (pupa_loader_load_module_func): Removed.
27949 (pupa_loader_load_module): Likewise.
27950
27951 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
27952 ``.o''.
27953
27954 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
27955 (pupa_linux_tmp_addr): Likewise.
27956 (pupa_linux_real_addr): Likewise.
27957 (pupa_linux_boot_zimage): Likewise.
27958 (pupa_linux_boot_bzimage): Likewise.
27959
27960 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
27961 (pupa_upper_mem): Likewise.
27962 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
27963 module is too dangerous.
27964
27965 * include/pupa/loader.h (pupa_os_area_addr): Declared.
27966 (pupa_os_area_size): Likewise.
27967 (pupa_loader_set): Remove the first argument. Loader doesn't
27968 manage modules or initrd any longer.
27969 (pupa_loader_load_module): Removed.
27970
27971 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
27972 (linux_mod_SOURCES): New variable.
27973 (linux_mod_CFLAGS): Likewise.
27974
a13f9237 279752003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
27976
27977 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
27978 the length of a blocklist correctly.
27979
27980 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
27981 Use ioctl only if the OS file is a block device.
27982 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
27983 not very useful for normal files.
27984
27985 * kern/main.c (pupa_set_root_dev): New function.
27986 (pupa_load_normal_mode): Likewise.
27987 (pupa_main): Call those above.
27988
27989 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
27990 pupa_uint16_t.
27991
27992 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
27993
a5ffe966 279942003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
27995
27996 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
27997 (setup): Configure the installed partition information and the
27998 dl prefix.
27999
28000 * loader/i386/pc/chainloader.c (my_mod): New variable.
28001 (pupa_chainloader_unload): New function.
28002 (pupa_rescue_cmd_chainloader): Refer itself.
28003 (PUPA_MOD_INIT): Save its own module in MY_MOD.
28004
28005 * kern/i386/pc/startup.S (install_partition): Removed.
28006 (version_string): Likewise.
28007 (config_file): Likewise.
28008 (pupa_install_dos_part): New variable.
28009 (pupa_install_bsd_part): Likewise.
28010 (pupa_prefix): Likewise.
28011 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
28012
28013 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
28014 and pupa/misc.h.
28015 (make_install_device): New function.
28016 (pupa_machine_init): Set the dl prefix.
28017
28018 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
28019 (buf): Renamed to ...
28020 (linebuf): ... this.
28021 (pupa_rescue_cmd_prefix): New function.
28022 (pupa_rescue_cmd_insmod): Likewise.
28023 (pupa_rescue_cmd_rmmod): Likewise.
28024 (pupa_rescue_cmd_lsmod): Likewise.
28025 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
28026 rmmod and lsmod.
28027
28028 * kern/mm.c (pupa_memalign): If failed even after invalidating
28029 disk caches, unload unneeded modules and retry.
28030
28031 * kern/misc.c (pupa_memmove): New function.
28032 (pupa_memcpy): Removed.
28033 (pupa_strcpy): New function.
28034 (pupa_itoa): Made static.
28035
28036 * kern/dl.c (pupa_dl_iterate): New function.
28037 (pupa_dl_ref): Likewise.
28038 (pupa_dl_unref): Likewise.
28039 (pupa_dl_unload): Return if succeeded or not.
28040 (pupa_dl_unload_unneeded): New function.
28041 (pupa_dl_unload_all): Likewise.
28042 (pupa_dl_init): Renamed to ...
28043 (pupa_dl_set_prefix): ... this.
28044 (pupa_dl_get_prefix): New function.
28045
28046 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
28047 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
28048 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28049 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28050 (pupa_install_dos_part): Declared.
28051 (pupa_install_bsd_part): Likewise.
28052 (pupa_prefix): Likewise.
28053 (pupa_boot_drive): Likewise.
28054
28055 * include/pupa/types.h: Fix a typo.
28056
28057 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
28058 pupa_memmove.
28059 (pupa_memmove): Declared.
28060 (pupa_strcpy): Likewise.
28061
28062 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
28063 pupa_mod_init takes one argument, its own module.
28064 (pupa_dl_unload_unneeded): Declared.
28065 (pupa_dl_unload_all): Likewise.
28066 (pupa_dl_ref): Likewise.
28067 (pupa_dl_unref): Likewise.
28068 (pupa_dl_iterate): Likewise.
28069 (pupa_dl_init): Renamed to ...
28070 (pupa_dl_set_prefix): ... this.
28071 (pupa_dl_get_prefix): Declared.
28072
28073 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 28074 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 28075 unloaded.
28076 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
28077 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
28078
28079 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
28080 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
28081
012d7999 280822003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
28083
28084 * util/i386/pc/pupa-setup.c (setup): Define the internal
28085 function find_first_partition_start at the top level, because GCC
28086 3.0.x cannot compile internal functions in deeper scopes
28087 correctly.
28088 (find_root_device): Use lstat instead of stat.
28089 Don't follow symbolic links.
28090 Fix the path-constructing code.
28091
28092 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
28093 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
28094 by a BLKGETSIZE ioctl first, because block devices don't fill
28095 the member st_mode of the structure stat on Linux.
28096 [__linux__] (linux_find_partition): Use a temporary buffer
28097 REAL_DEV for the working space. Copy it to DEV before returning.
28098 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
28099 buffer cache consistent.
28100 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
28101 strncmp. The previous value was merely wrong.
28102 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
28103
28104 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
28105 FAT size is 12. The previous value was merely wrong.
28106
28107 * kern/main.c (pupa_main): Don't split the starting message from
28108 newlines.
28109
28110 * kern/term.c (pupa_putchar): Put CR after LF instead of before
28111 LF, because BIOS goes crazy about character attributes in this
28112 case.
28113
1cc73a62 281142003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
28115
28116 * include/i386/pc/util/biosdisk.h: New file.
28117 * util/i386/pc/biosdisk.c: Likewise.
28118 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 28119
1cc73a62 28120 * Makefile.in (INCLUDE_DISTFILES): Added
28121 include/pupa/i386/pc/util/biosdisk.h.
28122 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
28123 directory util/i386/pc.
28124 (install-local): Added a rule for sbin_UTILITIES.
28125 (uninstall): Likewise.
28126
28127 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
28128
28129 * util/misc.c (xrealloc): New function.
28130 (pupa_malloc): Likewise.
28131 (pupa_free): Likewise.
28132 (pupa_realloc): Likewise.
28133 (pupa_stop): Likewise.
28134 (pupa_putchar): Likewise.
28135
28136 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
28137
28138 * include/pupa/util/misc.h (xrealloc): Declared.
28139
28140 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
28141 macro.
28142 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
28143 (PUPA_BOOT_MACHINE_BPB_END): ... this.
28144
28145 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
28146 [PUPA_UTIL] (pupa_fat_fini): Likewise.
28147
28148 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
28149 way should be implemented.
28150 [PUPA_UTIL] (pupa_fat_fini): Likewise.
28151
28152 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
28153 the size of NAME for safety.
28154 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
28155 0x88.
28156
28157 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
28158 (pupa_setup_SOURCES): Likewise.
28159
28160 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
28161
08b70fe8 281622002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
28163
28164 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
28165 bunch of pushl's from pusha, because this destroys the return
28166 value.
28167
62ddcc8f 281682002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
28169
28170 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
28171 This means that any missing prototypes could be fatal. Also, you
28172 must take care when writing assembly code. See the comments at
28173 the beginning of startup.S, for more details.
f19dbdb7 28174
62ddcc8f 28175 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
28176 compilation mechanism.
28177 (pupa_chainloader_real_boot): Likewise.
28178 (pupa_biosdisk_rw_int13_extensions): Likewise.
28179 (pupa_biosdisk_rw_standard): Likewise.
28180 (pupa_biosdisk_check_int13_extensions): Likewise.
28181 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
28182 (pupa_biosdisk_get_diskinfo_standard): Likewise.
28183 (pupa_get_memsize): Likewise.
28184 (pupa_get_mmap_entry): Likewise.
28185 (pupa_console_putchar): Likewise.
28186 (pupa_console_setcursor): Likewise.
28187 (pupa_getrtsecs): Use pushl instead of push.
28188
28189 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
28190 memory instead of the stack for a mmap entry, because some
28191 BIOSes may ignore the maximum size and overflow.
28192
28193 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
28194
28195 * genmk.rb (PModule#rule): Compile automatically generated
28196 sources with module-specific CFLAGS as well as other sources.
28197
9962ed99 281982002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28199
28200 * configure.ac: Check ld.
28201 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
28202 respectively, before checking endianness and sizes.
28203
28204 * Makefile.in (LD): New variable.
f19dbdb7 28205
abdfc3c5 282062002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28207
28208 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
28209
6a161fa9 282102002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28211
28212 * Changelog: New file.
28213