]> git.proxmox.com Git - grub2.git/blame - ChangeLog
merge from upstream (deviceiter regression produced odd effects on LVM upgrades)
[grub2.git] / ChangeLog
CommitLineData
40372103
VS
12010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
4 too long captions.
5 (list_get_minimal_size): Take selection box into account.
6
942a10c7
VS
72010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
10 NULL font.
11
2bdb2892
CW
122010-07-02 Colin Watson <cjwatson@ubuntu.com>
13
14 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
15 devices when iterating over /dev/disk/by-id; they will be handled
16 later if appropriate, which they aren't always (e.g. LVM).
17
e03ed6c1
CW
182010-07-02 Colin Watson <cjwatson@ubuntu.com>
19
20 * include/grub/misc.h (grub_reboot): Declare as noreturn.
21 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
22 fails.
23 (grub_halt): Likewise.
24 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
25 reset-all fails.
26 (grub_halt): Don't return, even if all of shut-down, power-off, and
27 poweroff fail.
28
47695765
CW
292010-07-02 Colin Watson <cjwatson@ubuntu.com>
30
31 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
32 arguments, not three.
33
507736c8
CW
342010-07-02 Colin Watson <cjwatson@ubuntu.com>
35
36 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
37 * util/grub.d/10_linux.in: Use it to check for LVM, so that
38 LVM-on-RAID is handled correctly.
39
e3c8cd37
CW
402010-07-02 Colin Watson <cjwatson@ubuntu.com>
41
42 * docs/grub.texi (Changes from GRUB Legacy): New section.
43 (Future): Fix typo.
44
8d4a2fec
CW
452010-07-02 Colin Watson <cjwatson@ubuntu.com>
46
47 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
48 grub.d/README accidentally ends up executable for one reason or
49 another. Ignore it.
50
1c4827be
VS
512010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
54 (gpt_partition_map_iterate): Support non-512B sectors.
55
d9a0c941
VS
562010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * kern/efi/init.c (grub_efi_init): Disable watchdog.
59 Tested by: Seth Goldberg.
60
48f27e87
VS
612010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
64 Properly align mbi.
65 Reported by: Seth Goldberg.
66
b0c4f956
VS
672010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * util/grub-mkrescue.in: Avoid module duplication.
70
105a2e8c
SF
712010-07-01 Sean Finney <seanius@seanius.net>
72
73 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
74
5944958c
SF
752010-07-01 Sean Finney <seanius@seanius.net>
76
77 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
78
792010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * disk/lvm.c (grub_lvm_checkvalue): New function.
82 (grub_lvm_check_flag): Likewise.
83
b79889ba
RM
842010-07-01 Robert Millan <rmh@gnu.org>
85
86 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
87 Support 'p' as partition separator on kernel of FreeBSD (used
88 with GPT labels).
89 (grub_util_biosdisk_get_grub_dev): Likewise.
90
ec1d04f1
VS
912010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
92
93 Yeeloong firmware port.
94
95 * boot/mips/yeeloong/fwstart.S: New file.
96 * bus/cs5536.c (gpiodump): New const.
97 (set_io_space): New function.
98 (set_iod): Likewise.
99 (set_p2d): Likewise.
100 (grub_cs5536_init_geode): Likewise.
101 * commands/mips/yeeloong/lsspd.c: New file.
102 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
103 (serial_mod_SOURCES): New variable.
104 (serial_mod_CFLAGS): Likewise.
105 (serial_mod_LDFLAGS): Likewise.
106 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
107 term/terminfo.c and term/tparm.c.
108 (pkglib_IMAGES): Add fwstart.img.
109 (fwstart_img_SOURCES): New variable.
110 (fwstart_img_CFLAGS): Likewise.
111 (fwstart_img_ASFLAGS): Likewise.
112 (fwstart_img_LDFLAGS): Likewise.
113 (fwstart_img_FORMAT): Likewise.
114 (pkglib_MODULES): Add lsspd.mod.
115 (lsspd_mod_SOURCES): New variable.
116 (lsspd_mod_CFLAGS): Likewise.
117 (lsspd_mod_LDFLAGS): Likewise.
118 (pkglib_MODULES): Add halt.mod.
119 (halt_mod_SOURCES): New variable.
120 (halt_mod_CFLAGS): Likewise.
121 (halt_mod_LDFLAGS): Likewise.
122 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
123 (serial_mod_SOURCES): Removed.
124 (serial_mod_CFLAGS): Likewise.
125 (serial_mod_LDFLAGS): Likewise.
126 * disk/ata.c (check_device): New function.
127 (grub_ata_device_initialize): Use check_device.
128 (grub_ata_iterate): Recheck devices.
129 (grub_ata_open): Likewise.
130 (grub_atapi_iterate): Likewise.
131 (grub_atapi_open): Likewise.
132 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
133 (GRUB_ATA_CH1_PORT1): Likewise.
134 (GRUB_ATA_CH0_PORT2): Likewise.
135 (GRUB_ATA_CH1_PORT2): Likewise.
136 * include/grub/mips/loongson.h: New file.
137 * include/grub/mips/yeeloong/ec.h: Likewise.
138 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
139 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
140 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
141 * include/grub/misc.h (grub_halt): Declare as noreturn.
142 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
143 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
144 (UART_ENABLE_FIFO_TRIGGER1): New definition.
145 (UART_ENABLE_DTRRTS): Likewise.
146 (UART_ENABLE_MODEM): Removed.
147 (UART_ENABLE_OUT2): New const.
148 * include/grub/term.h (grub_term_register_input_active): New function.
149 (grub_term_register_output_active): Likewise.
150 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
151 argument.
152 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
153 (init_pci): New function.
154 (grub_machine_init): Execute platform init when firmware. Init serial.
155 (grub_halt): Implement.
156 (grub_exit): Likewise.
157 (grub_reboot): Likewise.
158 * term/serial.c (serial_hw_init): Update macros.
159 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
160 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
161 (image_targets): New target mipsel-yeeloong-flash.
162 (generate_image): Support IMAGE_YEELOONG_FLASH.
163 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
164 (grub_video_sm712_setup): Init card.
165 (grub_video_sm712_set_palette): Removed.
166 * video/sm712_init.c: New file.
167
ff4a70d2
CW
1682010-06-30 Colin Watson <cjwatson@ubuntu.com>
169
170 * Makefile.in (install-local): Temporarily prepend $(builddir) to
171 PATH when running help2man and then run it on the unadorned
172 executable names, rather than passing $(builddir)/* paths to
173 help2man. This avoids the build directory ending up in generated
174 manual pages.
175
1246efeb
CW
1762010-06-29 Colin Watson <cjwatson@ubuntu.com>
177
178 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
179 to avoid accidents when debugging with 'sh -x'.
180 * util/grub-mkrescue.in: Likewise.
181 * util/grub.d/00_header.in: Likewise.
182 * util/grub.d/10_hurd.in: Likewise.
183 * util/grub.d/10_kfreebsd.in: Likewise.
184 * util/grub.d/10_linux.in: Likewise.
185 * util/grub.d/10_netbsd.in: Likewise.
186 * util/grub.d/10_windows.in: Likewise.
187 * util/grub.d/20_linux_xen.in: Likewise.
188 * util/grub.d/30_os-prober.in: Likewise.
189 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
190
1ba9b889
CW
1912010-06-29 Colin Watson <cjwatson@ubuntu.com>
192
193 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
194 last character in the buffer.
195 Reported by: Vladimir Serbinenko.
196
dccaf99d
RM
1972010-06-29 Robert Millan <rmh@gnu.org>
198
199 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
200 (Command-line and menu entry commands): Document `badram' command.
201
d500ed12
RM
2022010-06-28 Robert Millan <rmh@gnu.org>
203
204 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
205 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
206 command using ${GRUB_BADRAM} as parameter.
207
20bc84a6
CW
2082010-06-28 Colin Watson <cjwatson@ubuntu.com>
209
210 * docs/grub.texi (Device map): New section.
211 (Themes): New section (stub).
212 * Makefile.in (docs/grub.info): The info documentation now builds
213 without errors. Make sure it stays that way.
214
4045dee1
VS
2152010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
216
217 Use normal parser for menu entries.
218 Reported by: Thomas Frauendorfer
219
220 * include/grub/parser.h (grub_parser_execute): Don't export.
221 * normal/menu.c (grub_menu_execute_entry_real): New function.
222 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
223
bca58c7b
CW
2242010-06-28 Colin Watson <cjwatson@ubuntu.com>
225
226 * docs/grub.texi (Embedded configuration): New section (replacing
227 old "Preset Menu" stub).
228 (Images): New section.
229 (configfile): Note that any menu entries defined in `file' are shown
230 immediately.
231
dec53e63
JT
2322010-06-28 Josh Triplett <josh@joshtriplett.org>
233
234 * mmap/i386/pc/mmap_helper.S: Set CF on return.
235
c06e40f7
CW
2362010-06-28 Colin Watson <cjwatson@ubuntu.com>
237
238 * util/grub-install.in: Add --debug-image= option.
239
cb88052b
CW
2402010-06-28 Colin Watson <cjwatson@ubuntu.com>
241
242 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
243 possible on Linux.
244
245 * util/deviceiter.c (check_device): Rename to ...
246 (check_device_readable_unique): ... this. Update all callers.
247 Maintain and check a list of which devices (by canonicalized name)
248 have already been seen.
249 (clear_seen_devices): New function.
250 (compare_file_names) [__linux__]: New function.
251 (grub_util_iterate_devices): Clear the list of seen devices on exit
252 and (just in case) on entry.
253 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
254 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
255 seen-devices list, superseded by general code in check_device.
256
bbe34652
CW
2572010-06-28 Colin Watson <cjwatson@ubuntu.com>
258
259 * commands/cat.c (options): New variable.
260 (grub_cmd_cat): Parse options. If the --dos option is given, print
261 DOS-style "\r\n" line endings as simple newlines (Debian bug
262 #586358).
263 (GRUB_MOD_INIT): Use extcmd.
264 (GRUB_MOD_FINI): Likewise.
265 * docs/grub.texi (cat): Document --dos.
266
412e09f3
VS
2672010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
268
269 XEN with Linux grub-mkconfig support.
270
271 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
272 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
273 GRUB_CMDLINE_XEN_DEFAULT.
274 * util/grub.d/20_linux_xen.in: New file.
275
53f3ef38 2762010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
277
278 Initialise VGA video on qemu ourselves.
279
280 * boot/i386/qemu/boot.S: Don't call 0xc000.
281 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
282 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
283 (kernel_img_HEADERS): Add pci.h.
284 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
285 * configure.ac: Force unifont on qemu and yeeloong.
286 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
287 (grub_vga_palette_write): Use correct register.
288 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
289 Call grub_qemu_init_cirrus.
290 * kern/i386/qemu/init.c: New file.
291 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
292
293 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
294
c75be4fb
PR
2952010-06-26 Pavel Roskin <proski@gnu.org>
296
297 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
298 13.
299
d8034603
CW
3002010-06-26 Colin Watson <cjwatson@ubuntu.com>
301
302 * docs/grub.texi (Simple configuration): Explain that
303 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
304 set to `true' to disable their respective recovery entries, not
305 merely set.
306
3fa06487
CW
3072010-06-26 Colin Watson <cjwatson@ubuntu.com>
308
309 Make the `source' command slightly faster.
310
311 * normal/main.c (grub_normal_execute): Don't re-read list files when
312 nested.
313
e9b29642
CW
3142010-06-23 Colin Watson <cjwatson@ubuntu.com>
315
316 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
317 field position and mask size to red fields from mode_info, not
318 green.
319 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
320 Remove redundant tag->common.framebuffer_type assignment.
321 Reported by: Seth Goldberg.
322
e726542f
CW
3232010-06-23 Colin Watson <cjwatson@ubuntu.com>
324
325 Sync up other versions of the Linux loader with Robert Millan's
326 change of 2010-01-09, "Make loader output a bit more user-friendly".
327
328 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
329 grub_dprintf().
330 (grub_cmd_linux): Likewise.
331 (grub_cmd_initrd): Likewise.
332 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
333 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
334
d6e98a17
CW
3352010-06-21 Colin Watson <cjwatson@ubuntu.com>
336
337 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
338 larger than MEMORY_MAP_SIZE.
339
14d3f08e
BC
3402010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
341
342 Fix parallel build.
343
344 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
345 dependency.
346 * script/parser.y: #include grub_script.tab.h header.
347
4f9613a3
VS
3482010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
349
350 Support >3GiB and <16MiB RAM in i386-qemu.
351
352 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
353 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
354 (grub_lower_mem): Removed.
355 (grub_upper_mem): Likewise.
356 (mem_size): Made static.
357 (above_4g): New variable.
358 (grub_machine_mmap_init): Detect small mem_size and above_4g.
359 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
360 support.
361
05e51879
VS
3622010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
363
364 Cirrus 5446 and Bochs video cards support.
365
366 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
367 video_bochs.mod
368 (video_cirrus_mod_SOURCES): New variable.
369 (video_cirrus_mod_CFLAGS): Likewise.
370 (video_cirrus_mod_LDFLAGS): Likewise.
371 (video_bochs_mod_SOURCES): Likewise.
372 (video_bochs_mod_CFLAGS): Likewise.
373 (video_bochs_mod_LDFLAGS): Likewise.
374 * include/grub/vga.h: New file.
375 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
376 (grub_video_fb_set_page_t): New type.
377 (grub_video_fb_setup): New prototype.
378 (grub_video_fb_swap_buffers): Likewise.
379 (grub_video_fb_get_info_and_fini): Likewise.
380 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
381 (CRTC_DATA_PORT): Likewise.
382 (CRTC_CURSOR): Likewise.
383 (CRTC_CURSOR_ADDR_HIGH): Likewise.
384 (CRTC_CURSOR_ADDR_LOW): Likewise.
385 (CRTC_CURSOR_DISABLE): Likewise.
386 (update_cursor): Use grub_vga_cr_write.
387 (grub_vga_text_setcursor): Likewise.
388 * video/bochs.c: New file.
389 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
390 (palette): Likewise.
391 (palette_size): Likewise.
392 (framebuffer): New variable.
393 (grub_video_fb_init): Use 'framebuffer'.
394 (grub_video_fb_fini): Likewise.
395 (grub_video_fb_get_info): Likewise.
396 (grub_video_fb_get_palette): Likewise.
397 (grub_video_fb_set_palette): Likewise.
398 (grub_video_fb_set_viewport): Likewise.
399 (grub_video_fb_get_viewport): Likewise.
400 (grub_video_fb_map_color): Likewise.
401 (grub_video_fb_map_rgb): Likewise.
402 (grub_video_fb_map_rgba): Likewise.
403 (grub_video_fb_unmap_color): Likewise.
404 (grub_video_fb_unmap_color_int): Likewise.
405 (grub_video_fb_fill_rect): Likewise.
406 (grub_video_fb_blit_bitmap): Likewise.
407 (grub_video_fb_blit_render_target): Likewise.
408 (grub_video_fb_scroll): Likewise.
409 (grub_video_fb_create_render_target): Likewise.
410 (grub_video_fb_doublebuf_blit_init): Likewise.
411 (grub_video_fb_set_active_render_target): Handle doublebuffering.
412 (doublebuf_pageflipping_update_screen): New function.
413 (doublebuf_pageflipping_init): Likewise.
414 (grub_video_fb_setup): Likewise.
415 (grub_video_fb_swap_buffers): Likewise.
416 (grub_video_fb_get_info_and_fini): Likewise.
417 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
418 All users updated.
419 (doublebuf_pageflipping_commit): Restructured into ...
420 (doublebuf_pageflipping_set_page): ... this.
421 (doublebuf_pageflipping_update_screen): Removed.
422 (doublebuf_pageflipping_init): Likewise.
423 (double_buffering_init): Likewise.
424 (grub_video_vbe_setup): Use grub_video_fb_setup.
425 (grub_video_vbe_swap_buffers): Removed.
426 (grub_video_vbe_set_active_render_target): Likewise.
427 (grub_video_vbe_get_active_render_target): Likewise.
428 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
429 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
430 grub_video_fb_set_active_render_target and
431 grub_video_fb_get_active_render_target.
432 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
433 (SEQUENCER_DATA_PORT): Likewise.
434 (MAP_MASK_REGISTER): Likewise.
435 (CRTC_ADDR_PORT): Likewise.
436 (CRTC_DATA_PORT): Likewise.
437 (START_ADDR_HIGH_REGISTER): Likewise.
438 (START_ADDR_LOW_REGISTER): Likewise.
439 (GRAPHICS_ADDR_PORT): Likewise.
440 (GRAPHICS_DATA_PORT): Likewise.
441 (READ_MAP_REGISTER): Likewise.
442 (INPUT_STATUS1_REGISTER): Likewise.
443 (INPUT_STATUS1_VERTR_BIT): Likewise.
444 (get_map_mask): Use grub_vga_sr_read.
445 (set_map_mask): Use grub_vga_sr_write.
446 (set_read_map): Use grub_vga_gr_write.
447 (set_start_address): Use grub_vga_cr_write.
448 * video/sm712.c (framebuffer): Remove leftover fields.
449
4321c64a
CW
4502010-06-20 Colin Watson <cjwatson@ubuntu.com>
451
452 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
453 setting GRUB_VIDEO_BACKEND. Make it available as a user override
454 instead. Replace the gfxterm backend check with a check that
455 ${GRUB_PREFIX}/video.lst is non-empty.
456 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
457 again.
458 (load_video): New generated function. Call it before loading
459 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
460 * util/grub.d/10_linux.in (linux_entry): Call load_video.
461 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
462 * docs/grub.texi (Simple configuration): Document
463 GRUB_VIDEO_BACKEND.
464
4652010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
466
467 Use video functions in linux and xnu loaders.
468
469 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
470 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
471 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
472 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
473 loader/i386/pc/linux.c.
474 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
475 (find_line_len): Removed.
476 (find_framebuf): Likewise.
477 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
478 * loader/i386/efi/xnu.c: Removed.
479 * loader/i386/pc/xnu.c: Moved from here...
480 * loader/i386/xnu.c: ...here.
481
482 Enable priorities in video drivers.
483
484 * include/grub/video.h (grub_video_adapter_prio_t): New type.
485 (grub_video_adapter): New field prio.
486 (grub_video_register): Respect prio when inserting.
487 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
488 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
489 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
490 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
491 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
492 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
493 * video/sm712.c (grub_video_sm712_adapter): Likewise.
494
495 Fix SDL driver ID.
496
497 * include/grub/video.h (grub_video_driver_id_t): New value
498 GRUB_VIDEO_DRIVER_SDL.
499 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
500
7d24e434
CW
5012010-06-17 Colin Watson <cjwatson@ubuntu.com>
502
503 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
504 argument to printf.
505 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
506
c88a83f6
CW
5072010-06-17 Colin Watson <cjwatson@ubuntu.com>
508
509 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
510 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
511
094dfb69
CW
5122010-06-17 Colin Watson <cjwatson@ubuntu.com>
513
514 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
515 directly, and recommend grub-install instead.
516 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
517
2164da6b
CW
5182010-06-17 Colin Watson <cjwatson@ubuntu.com>
519
520 Fix i386-pc prefix handling with nested partitions (Debian bug
521 #585068). Note that the case where the core image is booted using
522 multiboot and relocated from its original location still requires
523 more work.
524
525 * kern/i386/pc/init.c (make_install_device): If the prefix starts
526 with "(,", fill the boot drive in between those two characters, but
527 expect that a full partition specification including partition map
528 names will follow.
529 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
530 specified, write a prefix without the drive name but including a
531 full partition specification.
532
044e2e60
CW
5332010-06-16 Colin Watson <cjwatson@ubuntu.com>
534
535 * util/grub-mkconfig.in: Ignore non-option arguments, for
536 compatibility with older versions (before 2010-06-12) which did the
537 same. In particular, this makes it easier to ship an update-grub
538 wrapper which is compatible with that used with GRUB Legacy (Debian
539 bug #586056).
540
5591324f
GS
5412010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
542
543 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
544 for manual page generation.
545
662e24d5
GS
5462010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
547
548 * po/POTFILES: Remove leftover commands/handler.c.
549
8d70754e
CW
5502010-06-14 Colin Watson <cjwatson@ubuntu.com>
551
552 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
553 left this script non-functional.
554
41160e2e
CW
5552010-06-14 Colin Watson <cjwatson@ubuntu.com>
556
557 * docs/man/grub-emu.h2m: New file.
558
b5309cc1
CW
5592010-06-13 Colin Watson <cjwatson@ubuntu.com>
560
561 * docs/grub.texi (Commands): Document reduced command set in rescue
562 mode.
563 (cpuid): New section.
564
fcb2d090
GS
5652010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
566
567 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
568 new partition naming style.
569 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
570
96e5c556
BC
5712010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
572
573 Add "-o grub.iso" like cmdline options support.
574
575 * util/grub-install.in: Improve cmdline option parsing.
576 * util/grub-mkconfig.in: Likewise.
577 * util/grub-mkrescue.in: Likewise.
578 * util/grub-reboot.in: Likewise.
579 * util/grub-set-default.in: Likewise.
580 * util/i386/efi/grub-install.in: Likewise.
581 * util/ieee1275/grub-install.in: Likewise.
582 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
583
c16be99b
CW
5842010-06-12 Colin Watson <cjwatson@ubuntu.com>
585
586 * .bzrignore: Ignore 41_custom.
587
ce08a9fb
TS
5882010-06-12 Thomas Schmitt <scdbackup@gmx.net>
589
590 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
591
7beac90c
CW
5922010-06-12 Colin Watson <cjwatson@ubuntu.com>
593
594 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
595 prototype declarations.
596
597 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
598 generating fs, partmap, and video lists.
599 * include/grub/fs.h (grub_fs_register): Omit prototype if
600 GRUB_LST_GENERATOR is defined.
601 * include/grub/partition.h (grub_partition_map_register): Likewise.
602 * include/grub/video.h (grub_video_register): Likewise.
603
1c8f0f8d
JM
6042010-06-12 Javier Martín <lordhabbit@gmail.com>
605
606 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
607
a6085973
TS
6082010-06-12 Thomas Schmitt <scdbackup@gmx.net>
609
610 * util/grub-mkrescue.in: Support --xorriso argument.
611
25c56d29
VS
6122010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
615 Suggested by: Thomas Schmitt.
616
e03e4b24
VS
6172010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
618
619 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
620 Suggested by: Thomas Schmitt.
621
57711df6
VS
6222010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
623
624 custom.cfg support.
625
626 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
627 * util/grub.d/41_custom.in: New file.
628
ee62c427
CW
6292010-06-12 Colin Watson <cjwatson@ubuntu.com>
630
631 * util/grub-mkrescue.in (make_image): Remove sh module, which has
632 been merged back into normal.
633
283af07a
CW
6342010-06-11 Colin Watson <cjwatson@ubuntu.com>
635
636 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
637 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
638
56a0d956
CW
6392010-06-11 Colin Watson <cjwatson@ubuntu.com>
640
641 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
642 when generating manual pages.
643 * docs/man/grub-bin2h.h2m: New file.
644 * docs/man/grub-editenv.h2m: New file.
645 * docs/man/grub-fstest.h2m: New file.
646 * docs/man/grub-install.h2m: New file.
647 * docs/man/grub-macho2img.h2m: New file.
648 * docs/man/grub-mkconfig.h2m: New file.
649 * docs/man/grub-mkdevicemap.h2m: New file.
650 * docs/man/grub-mkfont.h2m: New file.
651 * docs/man/grub-mkimage.h2m: New file.
652 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
653 * docs/man/grub-mkrelpath.h2m: New file.
654 * docs/man/grub-mkrescue.h2m: New file.
655 * docs/man/grub-ofpathname.h2m: New file.
656 * docs/man/grub-pe2elf.h2m: New file.
657 * docs/man/grub-probe.h2m: New file.
658 * docs/man/grub-reboot.h2m: New file.
659 * docs/man/grub-script-check.h2m: New file.
660 * docs/man/grub-set-default.h2m: New file.
661 * docs/man/grub-setup.h2m: New file.
662
3a37e322
VS
6632010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
664
665 Use FOR_* macros instead of *_iterate whenever possible.
666
667 * commands/handler.c: Removed.
668 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
669 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
670 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
671 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
672 (grub_probe_SOURCES): Remove kern/parser.c.
673 (util/grub-script-check.c_DEPENDENCIES): Removed.
674 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
675 and grub_script_check_init.c.
676 (grub_script_check_init.lst): Removed.
677 (grub_script_check_init.h): Likewise.
678 (grub_script_check_init.c): Likewise.
679 (pkglib_MODULES): Remove handler.mod and sh.mod.
680 (handler_mod_SOURCES): Removed.
681 (handler_mod_CFLAGS): Likewise.
682 (handler_mod_LDFLAGS): Likewise.
683 (normal_mod_SOURCES): Remove normal/handler.c.
684 Add script/main.c, script/script.c, script/execute.c,
685 script/function.c, script/lexer.c, grub_script.tab.c
686 and grub_script.yy.c.
687 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
688 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
689 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
690 (grub_setup_SOURCES): Remove kern/parser.c.
691 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
692 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
693 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
694 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
695 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
696 (grub_setup_SOURCES): Remove kern/parser.c.
697 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
698 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
699 * include/grub/command.h (grub_command_iterate): Removed.
700 (FOR_COMMANDS): New macro.
701 * include/grub/dl.h (grub_dl): New member next.
702 (grub_dl_iterate): Removed.
703 (grub_dl_head): New variable declaration.
704 (FOR_DL_MODULES): New macro.
705 * include/grub/fs.h: Include list.h.
706 (grub_fs): Make next first element.
707 (grub_fs_list): New variable declaration.
708 (grub_fs_register): Make inline.
709 (grub_fs_unregister): Likewise.
710 (grub_fs_iterate): Removed.
711 (FOR_FILESYSTEMS): New macro.
712 * include/grub/handler.h: Removed.
713 * include/grub/list.h (grub_list_hook_t): Removed.
714 (grub_list_test_t): Likewise.
715 (grub_list_pop): Likewise.
716 (grub_list_iterate): Likewise.
717 (grub_list_insert): Likewise.
718 (FOR_LIST_ELEMENTS): New macro.
719 * include/grub/parser.h (grub_parser_class): Removed.
720 (grub_parser_register): Likewise.
721 (grub_parser_unregister): Likewise.
722 (grub_parser_get_current): Likewise.
723 (grub_parser_set_current): Likewise.
724 (grub_register_rescue_parser): Likewise.
725 (grub_rescue_parse_line): New function.
726 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
727 * include/grub/script_sh.h (grub_script_function_list): New variable
728 declaration.
729 (FOR_SCRIPT_FUNCTIONS): New macro.
730 (grub_script_function_iterate): Removed.
731 (grub_normal_parse_line): New prototype.
732 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
733 (FOR_DISABLED_TERM_INPUTS): Likewise.
734 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
735 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
736 * include/grub/video.h (grub_video_adapter): Move 'next' to first
737 element.
738 (grub_video_register): Inline.
739 (grub_video_unregister): Likewise.
740 (grub_video_adapter_list): New variable declaration.
741 (grub_video_iterate): Removed.
742 (FOR_VIDEO_ADAPTERS): New macro.
743 * kern/dl.c (grub_dl_list): Removed. All users updated.
744 (grub_dl_iterate): Removed.
745 * kern/fs.c (grub_fs_list): Make global.
746 (grub_fs_register): Removed.
747 (grub_fs_unregister): Likewise.
748 (grub_fs_iterate): Likewise.
749 * kern/handler.c: Removed.
750 * kern/list.c (grub_list_pop): Removed.
751 (grub_list_iterate): Likewise.
752 (grub_list_insert): Likewise.
753 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
754 (grub_prio_list_insert): Don't use grub_list_insert.
755 * kern/main.c (grub_register_rescue_parser): Don't call
756 grub_register_rescue_parser.
757 * kern/parser.c (grub_parser_class): Removed.
758 (grub_parser_execute): Use grub_rescue_parse_line.
759 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
760 (grub_rescue_parser): Removed.
761 (grub_register_rescue_parser): Likewise.
762 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
763 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
764 (grub_auth_check_authentication): Likewise.
765 * normal/completion.c (iterate_command): Removed.
766 (grub_normal_do_completion): Use FOR_COMMANDS.
767 * normal/handler.c: Removed.
768 * normal/main.c (read_config_file): Remove parser changing.
769 (grub_normal_execute): Don't call read_handler_list.
770 (grub_normal_read_line_real): Statically allocate prompt.
771 (grub_cmdline_run): Use grub_normal_parse_line.
772 (GRUB_MOD_FINI): Don't call free_handler_list.
773 * normal/menu_entry.c (run): Likewise.
774 * script/function.c (grub_script_function_list): Make global.
775 (grub_script_function_iterate): Removed.
776 * script/main.c (grub_normal_parse_line): Make global.
777 (grub_sh_parser): Removed.
778 (GRUB_MOD_INIT): Likewise.
779 (GRUB_MOD_FINI): Likewise.
780 * tests/lib/functional_test.c (grub_functional_test): Use
781 FOR_LIST_ELEMENTS.
782 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
783 (grub_test_run): Use FOR_LIST_ELEMENTS.
784 * tests/lib/unit_test.c (main): Likewise.
785 * util/deviceiter.c (grub_util_iterate_devices): Don't use
786 grub_list_pop.
787 * util/grub-fstest.c (grub_term_input_class): Removed.
788 (grub_term_output_class): Likewise.
789 * util/grub-probe.c: Likewise.
790 * util/i386/pc/grub-setup.c: Likewise.
791 * util/sparc64/ieee1275/grub-setup.c: Likewise.
792 * util/grub-script-check.c (main): Don't call grub_init_all and
793 grub_fini_all.
794 * video/video.c (grub_video_adapter_list): Make global.
795 (grub_video_register): Removed.
796 (grub_video_unregister): Likewise.
797 (grub_video_iterate): Likewise.
798
6289c3a7
VS
7992010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
802 reported by Henrique Ferreiro.
803
91460247
RM
8042010-06-09 Robert Millan <rmh@gnu.org>
805
806 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
807 ones, when both are available.
808
0ea7c4f9
GS
8092010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
810
811 Make --version uniform and avoid hard-coded program name.
812
813 * util/grub-mkimage.c (main): Use `program_name' instead of
814 hard-coded string.
815 * util/i386/pc/grub-setup.c (main): Likewise.
816 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
817 * util/grub-install.in: Save the basename of $0 in $self, and use the
818 latter in informational messages. Use the same format for --version
819 as the binary programs.
820 * util/grub-mkconfig.in: Likewise.
821 * util/grub-mkrescue.in: Likewise.
822 * util/grub-reboot.in: Likewise.
823 * util/grub-set-default.in: Likewise.
824 * util/i386/efi/grub-install.in: Likewise.
825 * util/ieee1275/grub-install.in: Likewise.
826 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
827
e8a6f3b6
GS
8282010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
829
830 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
831 embedding area. Use <= instead of == when checking for non-emptiness.
832
f4d095d7
GS
8332010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
834
835 * configure.ac: Add `.' to the directories searched for unifont.
836
50e532ca
CW
8372010-06-08 Colin Watson <cjwatson@ubuntu.com>
838
839 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
840 grub_script.yy.h.
841
d39f3dec
CW
8422010-06-08 Colin Watson <cjwatson@ubuntu.com>
843
844 * docs/grub.texi (History): Expand to cover GRUB 2.
845 (Serial terminal): Refer to `terminal_input' and `terminal_output'
846 commands, not `terminal'.
847 (serial): Likewise.
848 (terminal_input): New section.
849 (terminal_output): New section.
850 (uppermem): New section (stub).
851 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
852
6ef0ddb4
CW
8532010-06-08 Colin Watson <cjwatson@ubuntu.com>
854
855 * docs/grub.texi (Security): Menu entries are unrestricted by
856 default, not restricted to superusers as I had previously thought.
857 Reword to account for this.
858
e0f4c438
CW
8592010-06-07 Colin Watson <cjwatson@ubuntu.com>
860
861 * kern/emu/misc.c (device_mapper_null_log): New function.
862 (grub_device_mapper_supported): New function.
863 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
864 prototype.
865 * kern/emu/hostdisk.c (find_partition_start): Check whether
866 device-mapper is supported before trying to use it.
867 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
868
da908200
CW
8692010-06-07 Colin Watson <cjwatson@ubuntu.com>
870
871 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
872 (File name syntax): Likewise.
873 (help): --all is no longer supported in GRUB 2. Be more precise
874 about pattern matching.
875
fb55c3ac
CW
8762010-06-07 Colin Watson <cjwatson@ubuntu.com>
877
878 * normal/completion.c (grub_normal_do_completion): When completing
879 arguments to "set" and the current word contains an equals sign,
880 skip to after the equals sign before starting completion.
881
258c2573
CW
8822010-06-07 Colin Watson <cjwatson@ubuntu.com>
883
884 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
885
ee75515e
CW
8862010-06-07 Colin Watson <cjwatson@ubuntu.com>
887
888 * docs/grub.texi (Network): New section.
889 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
890 `(nd)' as in GRUB Legacy.
891 (pxe_unload): New section.
892
a6a700aa
CW
8932010-06-07 Colin Watson <cjwatson@ubuntu.com>
894
895 * docs/grub.texi (Troubleshooting): `echo' is not usually available
896 in the rescue shell, so recommend using `set' instead. Thanks,
897 Jordan Uggla.
898
4003dd38
CW
8992010-06-07 Colin Watson <cjwatson@ubuntu.com>
900
901 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
902 (password): New section.
903 (password_pbkdf2): New section.
904 (search): New section.
905 (Security): New section.
906 (Troubleshooting): New section, currently very incomplete.
907 (Invoking grub-mkpasswd-pbkdf2): New section.
908 (Internals): New section, currently very incomplete.
909
e1cbcc40
CW
9102010-06-07 Colin Watson <cjwatson@ubuntu.com>
911
912 * util/grub.d/00_header.in: Add some more quoting (of
913 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
914 work again.
915 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
916
db8fa1ad
CW
9172010-06-07 Colin Watson <cjwatson@ubuntu.com>
918
919 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
920 to `count', fixing variable shadowing that broke the -c option.
921
9222010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
923
924 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
925 in case they contain spaces.
926
f28a9212
CW
9272010-06-04 Colin Watson <cjwatson@ubuntu.com>
928
929 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
930 "part_" to partmap module names, in line with grub-install.
931 Reported by: Jindřich Makovička (Debian bug #584426).
932
9cdfe32f
CW
9332010-06-04 Colin Watson <cjwatson@ubuntu.com>
934
935 * util/grub-mkimage.c: Make target-related error messages slightly
936 more helpful; -O talks about "format". Explicitly point to the use
937 of -O if no target is specified.
938 Reported by: Didier Raboud (Debian bug #584415).
939
795b593a
CW
9402010-06-03 Colin Watson <cjwatson@ubuntu.com>
941
942 * INSTALL: Document several build requirements for optional features
943 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
944
9d9b5833
GS
9452010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
946
947 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
948 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
949 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
950
0819fec8
CW
9512010-06-02 Colin Watson <cjwatson@ubuntu.com>
952
953 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
954 Thanks to Jordan Uggla for spotting this.
955
49396b4f
VS
9562010-06-02 Aleš Nesrsta <starous@volny.cz>
957
958 Finally make USB usable.
959
960 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
961 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
962 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
963 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
964 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
965 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
966 (GRUB_OHCI_FSMPS): Likewise.
967 (GRUB_OHCI_PERIODIC_START): Likewise.
968 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
969 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
970 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
971 (GRUB_OHCI_SET_PORT_RESET): Likewise.
972 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
973 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
974 (grub_ohci_transaction): Likewise.
975 (grub_ohci_transfer): Improve condition detection algorithms.
976 Handle toggle property. Program the transactions correctly.
977 Improve error handling. Various important fixups.
978 (grub_ohci_portstatus): Put register writes in right order.
979 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
980 (grub_uhci_transfer): Don't show "failed" message on success.
981 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
982 array.
983 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
984 determine its size.
985 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
986 before initialization is completed. Use IN direction for empty
987 transfers. Use last_trans and compute toggle.
988 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
989 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
990 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
991 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
992 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
993 (grub_usb_device): Increase toggle to 256.
994 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
995 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
996 GRUB_USBMS_SUBCLASS_SFF8070.
997 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
998 (grub_scsi_inquiry): New member page and alloc_length.
999 (grub_scsi_request_sense): New structure.
1000 (grub_scsi_request_sense_data): Likewise.
1001 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
1002 control.
1003 * disk/scsi.c (grub_scsi_request_sense): New function.
1004 (grub_scsi_test_unit_ready): Likewise.
1005 (grub_scsi_inquiry): Fill new fields.
1006 (grub_scsi_read_capacity): Likewise.
1007 (grub_scsi_read10): Add request sense at the end.
1008 (grub_scsi_read12): Likewise.
1009 (grub_scsi_write10): Likewise.
1010 (grub_scsi_write12): Likewise.
1011 (grub_scsi_open): Add Test Unit Ready.
1012 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
1013 Support additional subclasses. Con't clear halt yet. Activate the
1014 proper config. Calculate LUNs correctly.
1015 (grub_usbms_transfer): Various important fixups.
1016
10172010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
1020 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
1021 (grub_ohci_fini_hw): New function.
1022 (grub_ohci_restore_hw): Likewise.
1023 (GRUB_MOD_INIT(ohci)): Register preboot hook.
1024 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
1025 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
1026
10272010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 Dedicated DMA allocations.
1030
1031 * bus/pci.c (grub_memalign_dma32): New function
1032 (grub_dma_free): Likewise.
1033 (grub_dma_get_virt): Likewise.
1034 (grub_dma_get_phys): Likewise.
1035 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
1036 (grub_ohci_pci_iter): Use dma32_alloc.
1037 (grub_ohci_transfer): Likewise.
1038 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
1039 (grub_usb_bulk_readwrite): Likewise.
1040 * include/grub/pci.h: Add declarations.
1041
10422010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 CS5536 support.
1045
1046 * bus/cs5536.c: New file.
1047 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
1048 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
1049 (cs5536_mod_SOURCES): New variable.
1050 (cs5536_mod_CFLAGS): Likewise.
1051 (cs5536_mod_LDFLAGS): Likewise.
1052 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
1053 machine/pci.h.
1054 (kernel_img_SOURCES): Add bus/cs5536.c.
1055 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
1056 usb_keyboard.mod.
1057 (usb_mod_SOURCES): New variable.
1058 (usb_mod_CFLAGS): New variable.
1059 (usb_mod_LDFLAGS): New variable.
1060 (usbtest_mod_SOURCES): New variable.
1061 (usbtest_mod_CFLAGS): New variable.
1062 (usbtest_mod_LDFLAGS): New variable.
1063 (ohci_mod_SOURCES): New variable.
1064 (ohci_mod_CFLAGS): New variable.
1065 (ohci_mod_LDFLAGS): New variable.
1066 (usbms_mod_SOURCES): New variable.
1067 (usbms_mod_CFLAGS): New variable.
1068 (usbms_mod_LDFLAGS): New variable.
1069 (usb_keyboard_mod_SOURCES): New variable.
1070 (usb_keyboard_mod_CFLAGS): New variable.
1071 (usb_keyboard_mod_LDFLAGS): New variable.
1072 * include/grub/smbus.h: New file.
1073 * include/grub/cs5536.h: New file.
1074
0b35b2a9
CW
10752010-06-02 Colin Watson <cjwatson@ubuntu.com>
1076
1077 * util/grub.d/00_header.in: Add safety check to make sure that
1078 ${locale_dir} exists before trying to probe it.
1079
ca0afd5b
CW
10802010-06-02 Colin Watson <cjwatson@ubuntu.com>
1081
1082 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
1083 per the GNU Coding Standards; this is now too obscure to be worth
1084 documenting.
1085 (QNX): Likewise.
1086 (chainloader): Remove cross-reference to `SCO UnixWare'.
1087
1c41aa78
CW
10882010-06-02 Colin Watson <cjwatson@ubuntu.com>
1089
1090 * docs/grub.texi (Chain-loading): New section.
1091 (DOS/Windows): New section, borrowed from GRUB Legacy with details
1092 adjusted for GRUB 2.
1093 (SCO UnixWare): Likewise.
1094 (QNX): Likewise.
1095 (chainloader): Add reference to `Block list syntax'.
1096 (drivemap): New section.
1097 (parttool): New section.
1098
bb8ea0f5
CW
10992010-06-02 Colin Watson <cjwatson@ubuntu.com>
1100
1101 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
1102 the grub shell'.
1103 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
1104 (Installing GRUB using grub-install): Remove reference to the grub
1105 shell; mention `grub-mkimage' and `grub-setup' instead.
1106 (Invoking grub-install): Likewise.
1107 (Interface): Add reference to `Menu entry editor'.
1108 (serial): Remove `--device' option.
1109
288dd6ed
CW
11102010-06-02 Colin Watson <cjwatson@ubuntu.com>
1111
1112 * docs/grub.texi (Configuration): New section, documenting
1113 configuration file generation using grub-mkconfig. I've left a slot
1114 for documenting the full shell scripting format but have not yet
1115 started on writing that up.
1116 (Invoking grub-mkconfig): New section.
1117
34c9f0e9
CW
11182010-06-02 Colin Watson <cjwatson@ubuntu.com>
1119
1120 * docs/grub.texi (direntry): Remove grub-terminfo reference.
1121 (GNU GRUB manual): Likewise.
1122 (General commands): Update description of `terminfo' for GRUB 2.
1123
9121567e
CW
11242010-06-02 Colin Watson <cjwatson@ubuntu.com>
1125
1126 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
1127 (GRUB_MOD_INIT): Fix capitalisation.
1128 * docs/grub.texi (Command-line and menu entry commands): Document
1129 gettext and gptsync commands.
1130
ab631611
CW
11312010-06-02 Colin Watson <cjwatson@ubuntu.com>
1132
1133 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
1134 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
1135
bde4a9ac
CW
11362010-06-01 Colin Watson <cjwatson@ubuntu.com>
1137
1138 Add btrfs probing support, currently only in the single-device case.
1139
1140 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
1141 function.
1142 (grub_guess_root_device): Call find_root_device_from_mountinfo
1143 before looking in /dev.
1144
b1d17e10
VS
11452010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
1148 GRUB_DISK_SIZE_UNKNOWN.
1149 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
1150
dfbfe004
JS
11512010-05-31 Jiro SEKIBA <jir@unicus.jp>
1152
1153 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
1154 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
1155 corrupted or not synced properly.
1156
c2ffc8e9
VS
11572010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
1160 Reported by: Seth Goldberg.
1161
56293166
VS
11622010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
1165 addition of dest.
1166 Reported by: Seth Goldberg.
1167
7620e7de
VS
11682010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
1171 Reported by: Seth Goldberg.
1172
c837af3f
VS
11732010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
1176 64-bit address as signed on MIPS.
1177
c7c75cf4
CW
11782010-05-28 Colin Watson <cjwatson@ubuntu.com>
1179
1180 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
1181 to the empty string.
1182
fa4b8490
BC
11832010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
1184
1185 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
1186
1187 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
1188 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
1189 * kern/misc.c (__enable_execute_stack): Disable on
1190 GRUB_MACHINE_EMU.
1191
a33075b9
CW
11922010-05-28 Colin Watson <cjwatson@ubuntu.com>
1193
1194 Make grub-probe work with symbolic links under /dev/mapper as well
1195 as with real block devices. The Linux world seems to be (at best)
1196 in transition here, and GRUB shouldn't get caught in the middle.
1197
1198 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
1199 /dev/mapper.
1200
d8708134
CW
12012010-05-27 Colin Watson <cjwatson@ubuntu.com>
1202
1203 * util/grub-script-check.c (main): Ensure defined behaviour on empty
1204 input files (in which case exit zero).
1205
db2102a0
CW
12062010-05-27 Colin Watson <cjwatson@ubuntu.com>
1207
1208 * kern/emu/misc.c (canonicalize_file_name): realpath can still
1209 return NULL for various reasons even if it has a maximum-length
1210 buffer: for example, there might be a symlink loop, or the path
1211 might exceed PATH_MAX. If this happens, return NULL.
1212
5fdba519
RM
12132010-05-27 Robert Millan <rmh@gnu.org>
1214
1215 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
1216 partmap module to handle cross-partmap setups.
1217 Reported by Orestes Mas. Gràcies!
1218
d1d368e4
CW
12192010-05-27 Colin Watson <cjwatson@ubuntu.com>
1220
1221 * util/grub-mkrescue.in: Initialise override_dir rather than
1222 assuming that it's unset or empty in the environment.
1223
95ac3c73
GS
12242010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1225
1226 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
1227 variable index into p_index to suppress a warning with -Wshadow.
1228
7d8c0213
BC
12292010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
1230
1231 * INSTALL: Added flex >= 2.5.35 requirement.
1232
db4d5813
VS
12332010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
1236
f24f4300
VS
12372010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 cmostest support.
1240
1241 * commands/i386/cmostest.c: New file.
1242 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
1243 (cmostest_mod_SOURCES): New variable.
1244 (cmostest_mod_CFLAGS): Likewise.
1245 (cmostest_mod_LDFLAGS): Likewise.
1246 * conf/i386-pc.rmk: Likewise.
1247 * docs/grub.texi (Vendor power-on keys): New section.
1248 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
1249 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
1250 and GRUB_BUTTON_CMOS_ADDRESS.
1251 * util/grub.d/00_header.in: Handle powering-on by separate button.
1252
ad603f61
VS
12532010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
1256 Removed drawing_scrollbar argument. All users updated
1257 Fixes #29792.
1258 Reported by Jo Shields
1259
3ecb080a
VS
12602010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
1263 buffer since gfxterm handles double repaint.
1264
5f2316c1
VS
12652010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
1268 * term/gfxterm.c (real_scroll): Likewise.
1269
9a25f885
VS
12702010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
1273 before calling BIOS.
1274
39fbb79a
VS
12752010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * include/grub/i18n.h: Always enable grub_gettext.
1278
228cfa97
VS
12792010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1280
1281 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
1282 partition naming style.
1283
21717c8f
CW
12842010-05-21 Colin Watson <cjwatson@ubuntu.com>
1285
1286 * util/grub-mkconfig.in: Fix handling of -o so that it works when
1287 not the first option.
1288
c0f48e65
CW
12892010-05-20 Colin Watson <cjwatson@ubuntu.com>
1290
1291 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
1292
96779aec
CW
12932010-05-20 Colin Watson <cjwatson@ubuntu.com>
1294
1295 * util/misc.c: Move inclusion of <limits.h> to ...
1296 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
1297
fa9d256e
GS
12982010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1299
1300 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
1301 Fix merge error in NetBSD code.
1302 (find_partition_start) [__NetBSD__]: Likewise.
1303
123b7a85
BC
13042010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
1305
1306 Fix grub-mkrescue usage unit testing.
1307
1308 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
1309
74276c0d
CF
13102010-05-18 Christian Franke <franke@computer.org>
1311
1312 * util/grub.d/10_windows.in: Use path names instead of
1313 drive letters to prevent warning from Cygwin 1.7.
1314 Add drivemap command to menuentry if needed.
1315
c4f7b523
ST
13162010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
1317
1318 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
1319 gnumach and gnumach.gz.
1320
95b97950
VS
13212010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * include/grub/i18n.h (gettext): Inline instead of using #define.
1324 (grub_gettext): Likewise.
1325 (_): Likewise.
1326
01b8d2d7
VS
13272010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
1330 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
1331 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
1332 (main): Add a slash after pkglibdirroot.
1333
654e1d1e
VS
13342010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * util/grub-install.in: Add missing "in" keyword.
1337
26966aeb
VS
13382010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
1341 Reported by: Seth Goldberg.
1342
75006747
VS
13432010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
1346
74cbf5bd
CW
13472010-05-18 Colin Watson <cjwatson@ubuntu.com>
1348
1349 * configure.ac: Check for Linux device-mapper support.
1350
1351 * util/hostdisk.c (device_is_mapped): New function.
1352 (find_partition_start): New function, partly broken out from
1353 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
1354 device-mapper support added.
1355 (linux_find_partition): Use find_partition_start.
1356 (convert_system_partition_to_system_disk): Add `st' argument.
1357 Support Linux /dev/mapper/* devices if device-mapper support is
1358 available; only DM-RAID devices are understood at present.
1359 (find_system_device): Add `st' argument. Pass it to
1360 convert_system_partition_to_system_disk.
1361 (grub_util_biosdisk_get_grub_dev): Pass stat result to
1362 find_system_device and convert_system_partition_to_system_disk. Use
1363 find_partition_start.
1364
1365 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
1366 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
1367 * util/deviceiter.c [__linux__]: Define MINOR.
1368 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
1369 * util/mkdevicemap.c (grub_putchar): New function.
1370 (grub_getkey): New function.
1371 (grub_refresh): New function.
1372 (main): Set debug=all if -v -v is used.
1373
355b51e9
CW
13742010-05-18 Colin Watson <cjwatson@ubuntu.com>
1375
1376 Fix build with non-GNU libcs.
1377
1378 * util/misc.c (canonicalize_file_name): Move to ...
1379 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
1380 grub_make_system_path_relative_to_its_root.
1381
7fb5c25f
CW
13822010-05-18 Colin Watson <cjwatson@ubuntu.com>
1383
1384 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
1385 we handle finding grub-mkimage. Default to finding grub-mkimage in
1386 ${bindir} with program_transform_name applied, and provide a
1387 --grub-mkimage option to override this.
1388
1d3293d6
VS
13892010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 Remove grub-mkisofs.
1392
1393 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
1394 (grub_mkisofs_SOURCES): Removed.
1395 (grub_mkisofs_CFLAGS): Removed.
1396 * util/mkisofs/defaults.h: Removed.
1397 * util/mkisofs/eltorito.c: Likewise.
1398 * util/mkisofs/exclude.h: Likewise.
1399 * util/mkisofs/hash.c: Likewise.
1400 * util/mkisofs/include/: Likewise.
1401 * util/mkisofs/include/fctldefs.h: Likewise.
1402 * util/mkisofs/include/mconfig.h: Likewise.
1403 * util/mkisofs/include/prototyp.h: Likewise.
1404 * util/mkisofs/include/statdefs.h: Likewise.
1405 * util/mkisofs/iso9660.h: Likewise.
1406 * util/mkisofs/joliet.c: Likewise.
1407 * util/mkisofs/match.c: Likewise.
1408 * util/mkisofs/match.h: Likewise.
1409 * util/mkisofs/mkisofs.c: Likewise.
1410 * util/mkisofs/mkisofs.h: Likewise.
1411 * util/mkisofs/msdos_partition.h: Likewise.
1412 * util/mkisofs/multi.c: Likewise.
1413 * util/mkisofs/name.c: Likewise.
1414 * util/mkisofs/rock.c: Likewise.
1415 * util/mkisofs/tree.c: Likewise.
1416 * util/mkisofs/write.c: Likewise.
1417
5dde9afe
VS
14182010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 Unify grub-mkimage accross platforms.
1421
1422 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
1423 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
1424 (grub_mkelfimage_SOURCES): Removed.
1425 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
1426 (util/grub-mkimage.c_DEPENDENCIES): .. this.
1427 (bin_UTILITIES): Add grub-mkimage.
1428 (grub_mkimage_SOURCES): New variable.
1429 (kernel_img_HEADERS): Remove machine/kernel.h.
1430 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
1431 (pkglib_PROGRAMS): Add kernel.img.
1432 (kernel_img_HEADERS): Add machine/kernel.h.
1433 (kernel_img_FORMAT): Removed.
1434 (bin_UTILITIES): Remove grub-mkimage.
1435 (grub_mkimage_SOURCES): Removed.
1436 (grub_mkimage_CFLAGS): Likewise.
1437 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1438 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
1439 (pkglib_PROGRAMS): Add kernel.img.
1440 (bin_UTILITIES): Remove grub-mkimage.
1441 (grub_mkimage_SOURCES): Removed.
1442 (grub_mkimage_CFLAGS): Likewise.
1443 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1444 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
1445 (pkglib_PROGRAMS): Add kernel.img.
1446 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
1447 (pkglib_PROGRAMS): Add kernel.img.
1448 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
1449 (grub_mkimage_SOURCES): Removed.
1450 (grub_mkimage_CFLAGS): Likewise.
1451 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1452 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
1453 (pkglib_PROGRAMS): Add kernel.img.
1454 (bin_UTILITIES): Remove grub-mkimage.
1455 (grub_mkimage_SOURCES): Removed.
1456 (grub_mkimage_CFLAGS): Likewise.
1457 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1458 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
1459 (grub_mkimage_SOURCES): Removed.
1460 (grub_mkimage_CFLAGS): Likewise.
1461 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1462 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
1463 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
1464 (grub_pe32_optional_header): ... this.
1465 (grub_pe64_optional_header): ... and this. All users updated.
1466 (GRUB_PE32_PE32_MAGIC): Split into ..
1467 (GRUB_PE32_PE32_MAGIC): .. this.
1468 (GRUB_PE32_PE64_MAGIC): .. and this.
1469 (GRUB_PE32_SIGNATURE_SIZE): New definition.
1470 * include/grub/elf.h (PT_GNU_STACK): New definition.
1471 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
1472 * include/grub/i386/efi/kernel.h: Likewise.
1473 * include/grub/i386/kernel.h: Likewise.
1474 * include/grub/i386/pc/kernel.h: Likewise.
1475 * include/grub/i386/qemu/boot.h: Likewise.
1476 * include/grub/mips/kernel.h: Likewise.
1477 * include/grub/mips/qemu-mips/kernel.h: Likewise.
1478 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
1479 * include/grub/powerpc/kernel.h: Likewise.
1480 * include/grub/sparc64/ieee1275/boot.h: Likewise.
1481 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
1482 * include/grub/sparc64/kernel.h: Likewise.
1483 * include/grub/x86_64/efi/kernel.h: Likewise.
1484 * include/grub/x86_64/kernel.h: Likewise.
1485 * include/grub/offsets.h: New file.
1486 * include/grub/kernel.h (grub_module_info): Split into ...
1487 (grub_module_info32): ... this.
1488 (grub_module_info64): ... and this.
1489 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
1490 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
1491 (grub_boot_blocklist): Moved from here ...
1492 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
1493 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
1494 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
1495 * include/grub/types.h (grub_target_to_host16): Removed.
1496 (grub_target_to_host32): Likewise.
1497 (grub_target_to_host64): Likewise.
1498 (grub_host_to_target16): Likewise.
1499 (grub_host_to_target32): Likewise.
1500 (grub_host_to_target64): Likewise.
1501 (grub_host_to_target_addr): Likewise.
1502
1503 Support grub-mkrescue for efi, coreboot and qemu.
1504
1505 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
1506 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
1507 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
1508 * util/grub-mkrawimage.c: Moved from here ...
1509 * util/grub-mkimage.c: ... here. All users updated.
1510 (ALIGN_ADDR): Use image_target.
1511 (TARGET_NO_FIELD): New const.
1512 (image_target_desc): New type.
1513 (image_targets): New array.
1514 (grub_target_to_host64): Use image_target.
1515 (grub_target_to_host32): Likewise.
1516 (grub_target_to_host16): Likewise.
1517 (grub_host_to_target64): Likewise.
1518 (grub_host_to_target32): Likewise.
1519 (grub_host_to_target16): Likewise.
1520 (grub_host_to_target_addr): Likewise.
1521 (generate_image): Handle multiimage.
1522 (main): Require -O parameter. All users updated.
1523 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
1524 util/efi/grub-mkimage.c
1525 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
1526 New option --rom-directory.
1527 Use xorriso.
1528 * util/i386/efi/grub-mkimage.c: Removed.
1529 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
1530 (grub_target_to_host32): Likewise.
1531 (grub_target_to_host64): Likewise.
1532 (grub_host_to_target16): Likewise.
1533 (grub_host_to_target32): Likewise.
1534 (grub_host_to_target64): Likewise.
1535 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
1536 (grub_target_to_host32): Likewise.
1537 (grub_target_to_host64): Likewise.
1538 (grub_host_to_target16): Likewise.
1539 (grub_host_to_target32): Likewise.
1540 (grub_host_to_target64): Likewise.
1541
f4fc97d0
BC
15422010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
1543
1544 Source tree is reorganized for emu build.
1545
1546 * include/grub/util/console.h: Move from here...
1547 * include/grub/emu/console.h: ...to here.
1548 * include/grub/util/getroot.h: Move from here...
1549 * include/grub/emu/getroot.h: ...to here.
1550 * include/grub/util/hostdisk.h: Move from here...
1551 * include/grub/emu/hostdisk.h: ...to here.
1552 * util/console.c: Move from here...
1553 * kern/emu/console.c: ...to here.
1554 * util/getroot.c: Move from here...
1555 * kern/emu/getroot.c: ...to here.
1556 * util/grub-emu.c: Move from here...
1557 * kern/emu/main.c: ...to here.
1558 * util/hostdisk.c: Move from here...
1559 * kern/emu/hostdisk.c: ...to here.
1560 * util/hostfs.c: Move from here...
1561 * kern/emu/hostfs.c: ...to here.
1562 * util/mm.c: Move from here...
1563 * kern/emu/mm.c: ...to here.
1564 * util/pci.c: Move from here...
1565 * bus/emu/pci.c: ...to here.
1566 * util/sdl.c: Move from here...
1567 * video/emu/sdl.c: ...to here.
1568 * util/time.c: Move from here...
1569 * kern/emu/time.c: ...to here.
1570 * util/usb.c: Move from here...
1571 * bus/usb/emu/usb.c: ...to here.
1572
1573 * include/grub/emu/misc.h: New header for grub-emu functions.
1574 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
1575
1576 * conf/any-emu.rmk: Rule updates for above renames.
1577 * conf/common.rmk: Likewise.
1578 * conf/i386-pc.rmk: Likewise.
1579 * conf/i386-qemu.rmk: Likewise.
1580 * conf/mips.rmk: Likewise.
1581 * conf/sparc64-ieee1275.rmk: Likewise.
1582 * conf/x86-efi.rmk: Likewise.
1583
1584 * disk/lvm.h: #include updates for above renames.
1585 * util/grub-mkrelpath.c: Likewise.
1586 * util/grub-probe.c: Likewise.
1587 * util/i386/pc/grub-setup.c: Likewise.
1588 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1589 * kern/emu/console.c: Likewise.
1590 * kern/emu/getroot.c: Likewise.
1591 * kern/emu/hostdisk.c: Likewise.
1592 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
1593
1594 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
1595 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
1596 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
1597 * util/misc.c: Remove grub-emu functions.
1598
cced9145
VS
15992010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 Fix gfxmenu crash.
1602 Reported by: Thorsten Grützmacher.
1603
1604 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
1605 timeout hook.
1606 (circprog_set_property): Register and unregister timeout hook.
1607 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
1608 (label_destroy): Free template. and unregister hook.
1609 (label_set_state): New function.
1610 (label_set_property): Handle templates and hooks.
1611 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
1612 timeout hook.
1613 (progress_bar_set_property): Register and unregister timeout hook.
1614 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
1615 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
1616 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
1617 (update_timeout_visit): Removed.
1618 (update_timeouts): New function.
1619 (redraw_timeouts): Likewise.
1620 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
1621 (grub_gfxmenu_clear_timeout): Likewise.
1622 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
1623 (grub_gfxmenu_timeout_notify): Likewise.
1624 (grub_gfxmenu_timeout_notifications): New external variable.
1625 (grub_gfxmenu_timeout_register): New function.
1626 (grub_gfxmenu_timeout_unregister): Likewise.
1627
c6e5caab
VS
16282010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 Transform (broken) vga terminal into (working) vga video driver.
1631
1632 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
1633 video/i386/pc/vga.c.
1634 * include/grub/video.h (grub_video_driver_id):
1635 Add GRUB_VIDEO_DRIVER_VGA.
1636 * term/i386/pc/vga.c: Renamed to ...
1637 * video/i386/pc/vga.c: ...this
1638 (DEBUG_VGA): Removed.
1639 (CHAR_WIDTH): Likewise.
1640 (CHAR_HEIGHT): Likewise.
1641 (TEXT_WIDTH): Likewise.
1642 (TEXT_HEIGHT): Likewise.
1643 (DEFAULT_FG_COLOR): Likewise.
1644 (DEFAULT_BG_COLOR): Likewise.
1645 (colored_char): Likewise.
1646 (xpos): Likewise.
1647 (ypos): Likewise.
1648 (cursor_state): Likewise.
1649 (fg_color): Likewise.
1650 (bg_color): Likewise.
1651 (text_buf): Likewise.
1652 (page): Likewise.
1653 (font): Likewise.
1654 (framebuffer): New variable.
1655 (set_read_map): Disabled.
1656 (setup): New variable.
1657 (is_target): Likewise.
1658 (grub_vga_mod_init): Likewise.
1659 (grub_vga_mod_fini): Likewise.
1660 (check_vga_mem): Likewise.
1661 (write_char): Likewise.
1662 (write_cursor): Likewise.
1663 (scroll_up): Likewise.
1664 (grub_vga_putchar): Likewise.
1665 (grub_vga_getcharwidth): Likewise.
1666 (grub_vga_getwh): Likewise.
1667 (grub_vga_getxy): Likewise.
1668 (grub_vga_gotoxy): Likewise.
1669 (grub_vga_cls): Likewise.
1670 (grub_vga_setcolorstate): Likewise.
1671 (grub_vga_setcursor): Likewise.
1672 (grub_video_vga_init): New function.
1673 (grub_video_vga_setup): Likewise.
1674 (grub_video_vga_fini): Likewise.
1675 (update_target): Likewise.
1676 (grub_video_vga_blit_bitmap): Likewise.
1677 (grub_video_vga_blit_render_target): Likewise.
1678 (grub_video_vga_set_active_render_target): Likewise.
1679 (grub_video_vga_get_active_render_target): Likewise.
1680 (grub_video_vga_swap_buffers): Likewise.
1681 (grub_video_vga_set_palette): Likewise.
1682 (grub_video_vga_get_info_and_fini): Likewise.
1683 (grub_vga_term): Removed.
1684 (grub_video_vga_adapter): New variable.
1685 (GRUB_MOD_INIT): Register a video driver instead of terminal.
1686 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
1687
2bf61a98
VS
16882010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * video/readers/jpeg.c: Indented.
1691
09ddcd11
VS
16922010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1693
1694 Various jpeg cleanups.
1695
1696 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
1697 (grub_jpeg_decode_quan_table): Use sizeof.
1698 (grub_jpeg_decode_du): Use ARRAY_SIZE.
1699
e5507505
PH
17002010-05-05 Peter Hurley <No e-mail available> (tiny change)
1701
1702 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
1703 tables. Ignore non-last ac bit.
1704 (grub_jpeg_decode_quan_table): Likewise.
1705
7e720a9b
VS
17062010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
1709 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
1710 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1711 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
1712 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
1713 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
1714
a7fc080b
VS
17152010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1716
1717 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
1718 error.
1719
2bf6012d
VS
17202010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
1723
265d68cd
VS
17242010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
1727 condition.
1728
17292010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
1730
1731 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
1732 part.
1733
265d68cd 17342010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
1735
1736 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
1737 pointers.
1738
265d68cd 17392010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
1740
1741 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
1742
d1b61374
CF
17432010-05-01 Christian Franke <franke@computer.org>
1744
1745 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
1746 Remove broken Cygwin path conversion.
1747 * util/misc.c: [__CYGWIN__] Add include and define.
1748 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
1749 for Cygwin 1.7.
1750 (make_system_path_relative_to_its_root): Simplify loop, replace early
1751 return by break.
1752 [__CYGWIN__] Add conversion to win32 path.
1753 Include "/" case in trailing slash removal.
1754
3558c6e9
VS
17552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 * kern/main.c (grub_load_config): Fix copy-pasted comment.
1758 Reported by: Seth Goldberg
1759
f5f3ff93
VS
17602010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * commands/help.c (grub_cmd_help): Fix a typo.
1763 Reported by: Seth Goldberg
1764
d8b5cd40
VS
17652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
1768 name and add N_.
1769 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
1770 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
1771 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
1772 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
1773 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
1774 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
1775 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
1776 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
1777 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
1778 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
1779 * normal/context.c (GRUB_MOD_INIT): Likewise.
1780 * normal/main.c (GRUB_MOD_INIT): Likewise.
1781 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
1782 * term/serial.c (GRUB_MOD_INIT): Likewise.
1783 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
1784
88c14915
VS
17852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
1788 extra == 0.
1789
165134bc
VS
17902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * commands/iorw.c: New file.
1793 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
1794 (iorw_mod_SOURCES): New variable.
1795 (iorw_mod_CFLAGS): Likewise.
1796 (iorw_mod_LDFLAGS): Likewise.
1797
c5ac9b32
VS
17982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 Hotkey support
1801
1802 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
1803 * normal/main.c (hotkey_aliases): New variable.
1804 (grub_normal_add_menu_entry): Parse "--hotkey".
1805 * normal/menu_text.c (run_menu): Handle hotkeys.
1806
ce60689c
VS
18072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * kern/i386/coreboot/init.c (grub_machine_init): Call
1810 grub_machine_mmap_init on qemu.
1811
0359d006
VS
18122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * boot/i386/qemu/boot.S: Add a missing .code16.
1815
7819a456
VS
18162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 Use LBIO on coreboot.
1819
1820 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
1821 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
1822 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
1823 New declaration.
1824 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
1825 grub_machine_mmap_init on coreboot.
1826 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
1827 GRUB_LINUXBIOS_MEMBER_LINK.
1828 (grub_machine_mmap_iterate): Fix declaration.
1829 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
1830
7210dca9
VS
18312010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 Split coreboot and multiboot ports.
1834
1835 * conf/i386-multiboot.rmk: New file.
1836 * configure.ac: Add multiboot port.
1837 * include/grub/i386/multiboot/boot.h: New file.
1838 * include/grub/i386/multiboot/console.h: Likewise.
1839 * include/grub/i386/multiboot/init.h: Likewise.
1840 * include/grub/i386/multiboot/kernel.h: Likewise.
1841 * include/grub/i386/multiboot/loader.h: Likewise.
1842 * include/grub/i386/multiboot/memory.h: Likewise.
1843 * include/grub/i386/multiboot/serial.h: Likewise.
1844 * include/grub/i386/multiboot/time.h: Likewise.
1845 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
1846 * loader/multiboot.c: Likewise.
1847 * loader/multiboot_mbi2.c: Likewise.
1848 * util/grub-mkrescue.in: Generate multiboot rescue.
1849
6f8aaf68
VS
18502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1851
3080f7a7
VS
1852 * kern/parser.c (grub_parser_execute): Cope with read-only config.
1853
18542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
1857
1858 * commands/terminal.c (abstract_terminal): New struct.
1859 (handle_command): New function. Based on grub_cmd_terminal_input.
1860 (grub_cmd_terminal_input): Use handle_command.
1861 (grub_cmd_terminal_output): Use handle_command.
1862
a8ebb841
BC
18632010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
1864
1865 Fix comment handling.
1866
1867 * tests/grub_script_comments.in: New testcase.
1868 * conf/tests.rmk: Rules for new testcase.
1869 * script/yylex.l: Updated flex rules.
1870
bb06ba08
ST
18712010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
1872
1873 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
1874 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
1875 if argc is 1.
bb06ba08 1876
cc9d2425
VS
18772010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
1880 autogen issues.
1881
460d8402
CF
18822010-04-26 Christian Franke <franke@computer.org>
1883
1884 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
1885 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
1886 (grub_get_prefix): Remove function.
1887 * util/grub-emu.c (main): Replace grub_get_prefix () call by
1888 make_system_path_relative_to_its_root ().
1889 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
1890
553c01f9
CF
18912010-04-24 Christian Franke <franke@computer.org>
1892
1893 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
1894 (kernel_img_LDFLAGS): Remove -static-libgcc.
1895
2aec1692
CF
18962010-04-24 Christian Franke <franke@computer.org>
1897
1898 * configure.ac: Do not CHECK_BSS_START_SYMBOL
1899 and CHECK_END_SYMBOL if grub-emu is built.
1900 Unset TARGET_OBJ2ELF if grub-emu is built
1901 without module support.
1902
f67dc308
JS
19032010-04-24 Jiro SEKIBA <jir@unicus.jp>
1904
1905 Nilfs2 support.
1906
1907 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
1908 (grub_fstest_SOURCES): Likewise.
1909 (pkglib_MODULES): Add nilfs2.mod.
1910 (nilfs2_mod_SOURCES): New variable.
1911 (nilfs2_mod_CFLAGS): Likewise.
1912 (nilfs2_mod_LDFLAGS): Likewise.
1913 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1914 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1915 * fs/nilfs2.c: New file.
1916
4ba8d354
VS
19172010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
1920 is not supported.
1921
0d2c20c6
GS
19222010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
1923
1924 Add grub-mkconfig support for NetBSD.
1925
1926 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
1927 * util/grub-mkconfig.in: export new NetBSD specific variables.
1928 * po/POTFILES-shell: added 10_netbsd.in.
1929 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
1930
bc4a2d83
BC
19312010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
1932
1933 Fix emu build with grub-emu-pci and grub-emu-modules.
1934
1935 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
1936 functions.
1937 * include/grub/libpciaccess.h: New file.
1938 * conf/any-emu.rmk: Update kernel headers for emu build.
1939
f48c87aa
VS
19402010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
1943
18959385
VS
19442010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
1947
0037de3f
VS
19482010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
1951 Retrieve chosen/bootpath if bootpath isn't hardcoded.
1952 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
1953 util/ieee1275/ofpath.c.
1954 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
1955 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
1956 * include/grub/sparc64/ieee1275/boot.h
1957 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
1958 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
1959 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
1960 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
1961 const char *.
1962 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
1963 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
1964 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
1965 install.
1966
38e55e90
GS
19672010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
1968
1969 * util/grub-mkconfig.in: Corrected two == equality tests.
1970 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
1971 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
1972 expect a number appended to it.
1973 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
1974 expects a number appended to it.
1975
a9e6ff28
VS
19762010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
1979
0b830b8f
VS
19802010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * util/hostdisk.c (make_device_name): Change to new partition naming.
1983
0973daeb
VS
19842010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
1987
460d8402 19882010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
1989
1990 * Makefile.in: Add missing localedir setting.
1991
0b456309
CW
19922010-04-14 Colin Watson <cjwatson@ubuntu.com>
1993
1994 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
1995 mistake in r2156. Noticed by Anthony Fok.
1996
1997 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
1998 @localedir@.
1999 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
2000
08f46d62
BC
20012010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
2002
2003 Fix a spurious, uninitialized variable warning.
2004
2005 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
2006 Initialize variable, shdr.
2007 (grub_freebsd_load_elfmodule): Likewise.
2008 (grub_freebsd_load_elf_meta): Likewise.
2009
8c4a72d4
BC
20102010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
2011
2012 Fix for escaped dollar in double quoted strings.
2013
2014 * script/yylex.l: Updated flex rules.
2015 * conf/tests.rmk: Rule for new testcase.
2016 * tests/grub_script_dollar.in: New testcase.
2017
ce44826e
CPE
20182010-04-13 Carles Pina i Estany <carles@pina.cat>
20192010-04-13 Colin Watson <cjwatson@ubuntu.com>
2020
2021 Enclose all translated strings in grub.cfg in single quotes, and
2022 escape them appropriately (Ubuntu bug #552921).
2023
2024 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
2025 * util/grub.d/10_hurd.in: Use it.
2026 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
2027 * util/grub.d/10_linux.in (linux_entry): Likewise.
2028
4b0cd8f8
VS
20292010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 Fix cygwin compilation.
2032
2033 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
2034 * include/grub/misc.h (__register_frame_info)
2035 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
2036 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2037 * kern/misc.c (__register_frame_info)
2038 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
2039 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2040
01fcf061
VS
20412010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
2044
5d04b11e
VS
20452010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 Unify libgcc processing.
2048
2049 * Makefile.in (kernel_img_LDFLAGS): New variable.
2050 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
2051 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
2052 overwriting.
2053 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
2054 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
2055 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
2056 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
2057 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
2058 overwriting. Remove -lgcc and -static-libgcc
2059 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
2060 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2061 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2062 (kernel_img_LDFLAGS): Append instead of overwriting.
2063 Remove -lgcc and -static-libgcc
2064 * conf/sparc64-ieee1275.rmk: Likewise.
2065 * include/grub/powerpc/libgcc.h: Move to ...
2066 * include/grub/libgcc.h: .. this.
2067 * include/grub/libgcc.h: Don't export most of the function on x86.
2068 (__bswapsi2): New export.
2069 (__bswapdi2): Likewise.
2070 * include/grub/mips/libgcc.h: Removed.
2071 * include/grub/sparc64/libgcc.h: Likewise.
2072
b7f3ac29
VS
20732010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
2076 disk_info_msg (conflicts with gettexting into languages with cases).
2077
2c7031b1
GS
20782010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2079
2080 Add grub-probe support for NetBSD.
2081
2082 * util/getroot.c (find_root_device): Convert block device to
2083 character device on NetBSD.
2084 * util/probe.c (probe): Require character device on NetBSD.
2085 * util/hostdisk.c: NetBSD specific headers.
2086 (configure_device_driver): new function to tune device driver
2087 parameters (currently only for NetBSD floppy driver).
2088 (grub_util_biosdisk_open): NetBSD specific code (get disk size
2089 via disklabel ioctl).
2090 (open_device): call configure_device_driver on NetBSD.
2091 (convert_system_partition_to_system_disk): NetBSD specific code.
2092 (device_is_wholedisk): Likewise.
2093 (grub_util_biosdisk_get_grub_dev): Likewise.
2094 (make_device_name): Fixed a typo in bsd_part_str.
2095 * configure.ac: check for opendisk() and getrawpartition() on
2096 NetBSD and set LIBUTIL.
2097 * Makefile.in: add LIBUTIL to LIBS.
2098
f516290c
BC
20992010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
2100
2101 Documentation fix.
2102
2103 * util/grub-script-check.c: Better help message.
2104
d8dcc0df
BC
21052010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
2106
2107 Fix FreeBSD build.
2108
2109 * configure.ac: Flex version check.
2110 * conf/common.rmk: Add -Wno-error to sh.mod.
2111 * script/yylex.l: Remove all #pragma.
2112
6734334a
VS
21132010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * include/grub/util/misc.h (canonicalise_file_name): Add missing
2116 prototype.
2117 Reported by: Seth Goldberg.
2118
daea6abd
VS
21192010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
2122 Rename "module" to "module2".
2123 Reported by: Seth Goldberg.
2124
f2fd9d2b
VS
21252010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
2128 EXPORT_FUNC.
2129 Reported by: Seth Goldberg.
2130
be124579
VS
21312010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 * lib/posix_wrap/locale.h: Add missing file.
2134 Reported by: Seth Goldberg.
2135
ef5da797
VS
21362010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 grub-emu module load support.
2139
2140 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
2141 NO_DYNAMIC_MODULES switched to this.
2142 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
2143 (CFLAGS): Likewise.
2144 * conf/any-emu.rmk: Generate symlist.
2145 (kernel_img_HEADERS): Add util/datetime.h.
2146 (kernel_img_HEADERS) [sdl]: Add sdl.h.
2147 (kernel_img_HEADERS) [libusb]: Add libusb.h.
2148 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
2149 kern/$(target_cpu)/cache.S.
2150 * configure.ac (grub-emu-modules): New option.
2151 * genmk.rb: Handle multiple source lists.
2152 * include/grub/sdl.h: New file.
2153 * include/grub/libusb.h: Likewise.
2154 * util/grub-emu.c (main): Hanle (host) root.
2155 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
2156 GRUB_ERR_UNKNOWN_DEVICE.
2157 * util/misc.c: Move mm functions to ...
2158 * util/mm.c: ... here. All users updated.
2159
47822096
VS
21602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
2163 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
2164 missing files.
2165 (maintainer-clean): Remove libgcrypt-grub.
2166
5d7e7445
VS
21672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
2170
25f4e252
EC
21712010-04-09 EFI Coder <eficoder@hotmail.com>
2172
2173 * normal/menu_text.c (print_message): Clean up the message and show
2174 the Fn information when on EFI
2175 * term/efi/console.c (grub_console_checkkey): Add F4 support.
2176
027de555
VS
21772010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
2180 All users updated.
2181 * normal/crypto.c (read_crypto_list): Likewise.
2182 * normal/dyncmd.c (read_command_list): Likewise.
2183 * normal/term.c (read_terminal_list): Likewise.
2184 * normal/main.c (read_lists): Use explicit prefix.
2185 (read_lists_hook): Use read_lists.
2186 (grub_normal_execute): Likewise.
2187
47779711
VS
21882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
2191 Reported by: Thomas Schmitt.
2192 Add -no-emul-boot to grub-mkisofs parameters.
2193
1118c32e
VS
21942010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * font/font.c: Indented.
2197
7d652447
BC
21982010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
2199
2200 Elif support to GRUB script (by Deepak Vankadaru).
2201
2202 * tests/grub_script_if.in: New testcase.
2203 * conf/tests.rmk: Rule for new testcase.
2204 * script/parser.y: Grammar rules for elif.
2205
34bb22df
BC
22062010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
2207
2208 While and until loops support to GRUB script.
2209
2210 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
2211 (grub_script_create_cmdwhile): New function prototype.
2212 (grub_script_execute_cmdwhile): New function prototype.
2213 * script/execute.c (grub_script_execute_cmdwhile): New function.
2214 * script/parser.y (command): New commands.
2215 (whilecmd): New grammar rule.
2216 (untilcmd): New grammar rule.
2217 * script/script.c (grub_script_create_cmdwhile): New function.
2218 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
2219 function.
2220
2221 * tests/grub_script_while1.in: New testcase.
2222 * conf/tests.rmk: Rule for new testcase.
2223
e215d8e0
VS
22242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
2227 as *.jpg.
2228
d7c43ba1
MV
22292010-04-09 Mario Vazquez <mariovazq@gmail.com>
2230
2231 GRUB_BACKGROUND support.
2232
2233 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
2234 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
2235
d64795c0
VS
22362010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 2239 Idea by: Mario Vazquez
d64795c0
VS
2240
2241 * util/grub.d/00_header.in: Load pf2 and image modules.
2242
f267f83a
VS
22432010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 grub-mkconfig multiple terminal support.
2246
2247 * util/grub-mkconfig.in: Handle multiple terminals correctly.
2248 * util/grub.d/00_header.in: Likewise.
2249
b7841ceb
VS
22502010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * Makefile.in: Specify files explicitly instead of using $< and $@ since
2253 we use cd $(srcdir).
2254
df60998c
CW
22552010-04-08 Colin Watson <cjwatson@ubuntu.com>
2256
2257 * util/grub.d/10_linux.in: Only use the first word of
2258 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
2259 spaces in GRUB_DISTRIBUTOR.
2260 * util/grub.d/10_kfreebsd.in: Likewise.
2261 * util/grub.d/10_hurd.in: Likewise.
2262
fa09c82e
BC
22632010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
2264
14e18ae3 2265 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
2266
2267 * tests/util/grub-shell.in: Remove -serial stdio option.
2268
daf892b3
BC
22692010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 POSIX header file wrappers.
2272
2273 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
2274 equivalents.
2275 * lib/posix_wrap/ctype.h: Likewise.
2276 * lib/posix_wrap/errno.h: Likewise.
2277 * lib/posix_wrap/langinfo.h: Likewise.
2278 * lib/posix_wrap/limits.h: Likewise.
2279 * lib/posix_wrap/localcharset.h: Likewise.
2280 * lib/posix_wrap/stdint.h: Likewise.
2281 * lib/posix_wrap/stdio.h: Likewise.
2282 * lib/posix_wrap/stdlib.h: Likewise.
2283 * lib/posix_wrap/string.h: Likewise.
2284 * lib/posix_wrap/sys/types.h: Likewise.
2285 * lib/posix_wrap/unistd.h: Likewise.
2286 * lib/posix_wrap/wchar.h: Likewise.
2287 * lib/posix_wrap/wctype.h: Likewise.
2288 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
2289 (grub_script.yy.h): Likewise.
2290 * script/yylex.l: Remove POSIX emulation #defines.
2291 * Makefile.in (POSIX_CFLAGS): New variable.
2292 (GNULIB_UTIL_CFLAGS): Likewise.
2293
2294 Regexp support.
2295
2296 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
2297 (regexp_mod_SOURCES): New variable.
2298 (regexp_mod_CFLAGS): Likewise.
2299 (regexp_mod_LDFLAGS): Likewise.
2300 * commands/regexp.c: New file.
2301 * gnulib/regcomp.c: New file. Imported from gnulib.
2302 * gnulib/regex.c: Likewise.
2303 * gnulib/regex_internal.c: Likewise.
2304 * gnulib/regex_internal.h: Likewise.
2305 * gnulib/regexec.c: Likewise.
2306 * gnulib/regex.h: Likewise.
2307
974ac4f7
VS
23082010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
2311 unsupported video mode types.
2312
2622c3ff
VS
23132010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
2316
064cb524
VS
23172010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
2320 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
2321
a8c3b552
VS
23222010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 Remove unused grub_vga_get_font.
2325
2326 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
2327 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
2328
187bbe3d
GS
23292010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2330
2331 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
2332 * include/grub/misc.h: Likewise.
2333
b9396631
GS
23342010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2335
2336 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
2337 for which failure is fatal.
2338
50479feb
GS
23392010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2340
2341 * util/grub-install.in: Use mkdir -p to create grub directory.
2342 * util/i386/efi/grub-install.in: Likewise.
2343 * util/ieee1275/grub-install.in: Likewise.
2344
b1654fdf
GS
23452010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2346
2347 * Makefile.in (LEX): new variable.
2348
bd5a6415
GS
23492010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2350
2351 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
2352 `=' and added double quotes on operands of this equality test.
2353
3db3a82b
VS
23542010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * Makefile.in (uninstall): Remove a leftover debug echo.
2357 Reported by: Grégoire Sutre
2358
38023412
VS
23592010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 MIPS multiboot2 support.
2362
2363 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
2364 (multiboot2_mod_SOURCES): New variable.
2365 (multiboot2_mod_CFLAGS): Likewise.
2366 (multiboot2_mod_LDFLAGS): Likewise.
2367 (multiboot2_mod_ASFLAGS): Likewise.
2368 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
2369 definition.
2370 (MULTIBOOT_ENTRY_REGISTER): Likewise.
2371 (MULTIBOOT_MBI_REGISTER): Likewise.
2372 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
2373 (MULTIBOOT_ELF32_MACHINE): Likewise.
2374 (MULTIBOOT_ELF64_MACHINE): Likewise.
2375 * include/grub/mips/multiboot.h: New file.
2376 * include/grub/video.h (grub_video_driver_id): New type
2377 GRUB_VIDEO_DRIVER_SM712.
2378 (grub_video_get_info_and_fini): Export.
2379 (grub_video_get_palette): Likewise.
2380 (grub_video_get_driver_id): Likewise.
2381 * include/multiboot2.h: Resynced with spec.
2382 * loader/i386/multiboot.c: Moved from here ...
2383 * loader/multiboot.c: ... here. All users updated.
2384 (grub_multiboot_boot): Use platform-specific macros.
2385 * loader/i386/multiboot_elfxx.c: Moved from here ...
2386 * loader/multiboot_elfxx.c: ... here. All users updated.
2387 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
2388 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
2389 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
2390
47674667
VS
23912010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 Import gnulib argp module.
2394
2395 * gnulib/argp-ba.c: New file.
2396 * gnulib/argp-eexst.c: Likewise.
2397 * gnulib/argp-fmtstream.c: Likewise.
2398 * gnulib/argp-fmtstream.h: Likewise.
2399 * gnulib/argp-fs-xinl.c: Likewise.
2400 * gnulib/argp-help.c: Likewise.
2401 * gnulib/argp-namefrob.h: Likewise.
2402 * gnulib/argp-parse.c: Likewise.
2403 * gnulib/argp-pin.c: Likewise.
2404 * gnulib/argp-pv.c: Likewise.
2405 * gnulib/argp-pvh.c: Likewise.
2406 * gnulib/argp-version-etc.c: Likewise.
2407 * gnulib/argp-version-etc.h: Likewise.
2408 * gnulib/argp-xinl.c: Likewise.
2409 * gnulib/argp.h: Likewise.
2410
495442ed
VS
24112010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * kern/device.c (grub_device_iterate): Clear errors after failed
2414 opening device.
2415
f9fd65df
VS
24162010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
2419 returned by firmware.
2420
af09641e
VS
24212010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
2424 compilation on coreboot and qemu
2425
016883a5
VS
24262010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * include/multiboot2.h: Resync with spec.
2429
f97e1f7d
VS
24302010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 Multiboot2 tag support
2433
2434 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
2435 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
2436 Remove loader/multiboot_loader.c.
2437 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
2438 (grub_multiboot2_real_boot): Likewise.
2439 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
2440 (grub_get_multiboot_mmap_count): New proto.
2441 (grub_fill_multiboot_mmap): Likewise.
2442 (grub_multiboot_set_video_mode): Likewise.
2443 (grub_multiboot_set_console): Likewise.
2444 (grub_multiboot_load): Likewise.
2445 (grub_multiboot_load_elf): Likewise.
2446 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
2447 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
2448 * include/multiboot.h: Resynced with specification.
2449 * include/multiboot2.h: Resynced with specification.
2450 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
2451 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
2452 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
2453 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
2454 users updated.
2455 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
2456 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
2457 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
2458 Removed.
2459 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
2460 Moved from here...
2461 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
2462 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2463 Moved from here...
2464 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
2465 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
2466 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
2467 All users updated.
2468 * loader/i386/multiboot_mbi2.c: New file.
2469
3506b90b
VS
24702010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 Resync with gnulib.
2473
2474 * Makefile.in (GNULIB_CFLAGS): New variable.
2475 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
2476 (grub_script_check_CFLAGS): New variable.
2477 * gnulib/alloca.h: Resync with gnulib.
2478 * gnulib/error.c: Likewise.
2479 * gnulib/error.h: Likewise.
2480 * gnulib/fnmatch.c: Likewise.
2481 * gnulib/fnmatch_loop.c: Likewise.
2482 * gnulib/getdelim.c: Likewise.
2483 * gnulib/getline.c: Likewise.
2484 * gnulib/getopt.c: Likewise.
2485 * gnulib/getopt1.c: Likewise.
2486 * gnulib/getopt_int.h: Likewise.
2487 * gnulib/gettext.h: Likewise.
2488 * gnulib/progname.c: Likewise.
2489 * gnulib/progname.h: Likewise.
2490
394a3120
GS
24912010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
2492
2493 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
2494 which is the case with --disabled-nls.
2495
2496 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
2497 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
2498 * util/misc.c: Likewise.
2499 * util/mkisofs/mkisofs.c: Likewise.
2500 * util/mkisofs/mkisofs.h: Likewise.
2501
969d1c78
VS
25022010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 Simplify Apple CC support.
2505
2506 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
2507 Add 0 byte at the end not to have a symbol with empty target.
2508 * mmap/i386/pc/mmap_helper.S: Likewise.
2509 * genmk.rb: Ignore errors 2030 and 2050.
2510 * kern/i386/pc/startup.S: Use LOCAL when possible.
2511
8d2977bb
BC
25122010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
2513
2514 Testcase and the fix for final semicolon on cmdline.
2515
2516 * tests/grub_script_final_semicolon.in: New testcase.
2517 * conf/tests.rmk: Rules for the new testcase.
2518 * script/parser.y: Grammar fix.
2519
a7bd6915
BC
25202010-03-26 BVK Chaitanya <bvk@localhost>
2521
2522 Blank lines testcase for GRUB script.
2523
2524 * tests/grub_script_blanklines.in: New testcase.
2525 * conf/tests.rmk: Rules for the new testcase.
2526
e4ff6628
VS
25272010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 Don't use __FILE__.
2530
2531 * genmk.rb: Add -DGRUB_FILE to all C targets.
2532 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
2533 * include/grub/list.h: Likewise.
2534 * include/grub/misc.h: Likewise.
2535 * include/grub/mm.h: Likewise.
2536 * include/grub/test.h: Likewise.
2537 * kern/mm.c: Likewise.
2538 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
2539
6a5cf6b6
VS
25402010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 Sunpc partitions support.
2543
2544 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
2545 (grub_fstest_SOURCES): Likewise.
2546 (pkglib_MODULES): Add part_sunpc.mod.
2547 (part_sunpc_mod_SOURCES): New variable.
2548 (part_sunpc_mod_CFLAGS): Likewise.
2549 (part_sunpc_mod_LDFLAGS): Likewise.
2550 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
2551 * partmap/sunpc.c: New file.
2552
746d9045
BC
25532010-03-26 BVK Chaitanya <bvk@localhost>
2554
2555 For loop support to GRUB script.
2556
2557 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
2558 (grub_script_create_cmdfor): New function prototype.
2559 (grub_script_execute_cmdfor): New function prototype.
2560 * script/execute.c (grub_script_execute_cmdfor): New function.
2561 * script/parser.y (command): New for command.
2562 (forcmd): New grammar rule.
2563 * script/script.c (grub_script_create_cmdfor): New function.
2564 * util/grub-script-check.c (grub_script_execute_cmdfor): New
2565 function.
2566 * tests/grub_script_for1.in: New testcase.
2567 * conf/tests.rmk: Rules for new testcase.
2568
18486b18
VS
25692010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 Nested partitions
2572
2573 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
2574 'partition' is NULL, grub_partition_get_start already does that.
2575 * commands/loadenv.c (check_blocklists): Likewise.
2576 (write_blocklists): Likewise.
2577 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
2578 (grub_fstest_SOURCES): Likewise.
2579 (pkglib_MODULES): Add part_bsd.mod.
2580 (part_bsd_mod_SOURCES): New variable.
2581 (part_bsd_mod_CFLAGS): Likewise.
2582 (part_bsd_mod_LDFLAGS): Likewise.
2583 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
2584 (grub_emu_SOURCES): Likewise.
2585 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2586 * include/grub/bsdlabel.h: New file.
2587 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
2588 'get_name'.
2589 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
2590 (grub_partition_map_list): New variable.
2591 (grub_partition_map_register): Inline.
2592 (grub_partition_map_unregister): Likewise.
2593 (FOR_PARTITION_MAPS): New macro.
2594 (grub_partition_map_iterate): Removed.
2595 (grub_partition_get_start): Handle nested partitions.
2596 * include/grub/msdos_partition.h: Remove bsd-related entries.
2597 (grub_pc_partition): Remove.
2598 * kern/disk.c (grub_disk_close): Free partition data.
2599 (grub_disk_adjust_range): Handle nested partitions.
2600 * kern/partition.c (grub_partition_map_probe): New function.
2601 (grub_partition_probe): Parse name to number, handle subpartitions.
2602 (get_partmap): New function.
2603 (grub_partition_iterate): Handle subpartitions.
2604 (grub_partition_get_name): Likewise.
2605 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
2606 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
2607 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
2608 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
2609 Set 'number'.
2610 (acorn_partition_map_probe): Remove.
2611 (acorn_partition_map_get_name): Likewise.
2612 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
2613 Set 'number'.
2614 Set 'index' to 0 since there can be only one partition entry per sector.
2615 (amiga_partition_map_probe): Remove.
2616 (amiga_partition_map_get_name): Likewise.
2617 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
2618 Set 'number'.
2619 Set 'offset' and 'index' to real positions of partitions.
2620 (apple_partition_map_probe): Remove.
2621 (apple_partition_map_get_name): Likewise.
2622 * partmap/bsdlabel.c: New file.
2623 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
2624 Set 'number'.
2625 Allocate 'data' so it can be correctly freed.
2626 Set 'index' to offset inside sector.
2627 (gpt_partition_map_probe): Remove.
2628 (gpt_partition_map_get_name): Likewise.
2629 * partmap/msdos.c (grub_partition_parse): Remove.
2630 (pc_partition_map_iterate): Don't force raw access.
2631 Set 'number'.
2632 Make 'ext_offset' a local variable.
2633 (pc_partition_map_probe): Remove.
2634 (pc_partition_map_get_name): Remove.
2635 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
2636 Set 'number'.
2637 (sun_partition_map_probe): Remove.
2638 (sun_partition_map_get_name): Likewise.
2639 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
2640 (grub_pcpart_type): Likewise.
2641 * util/hostdisk.c (open_device): Handle new numbering scheme.
2642 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
2643 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
2644 * util/grub-probe.c (probe_partmap): Handle nested paritions.
2645 * util/grub-install.in: Insert all subpartition modules.
2646 * util/ieee1275/grub-install.in: Likewise.
2647
a3940f88
AG
26482010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
2649
2650 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
2651 grammar.
2652
21b99926 26532010-03-24 Colin Watson <cjwatson@ubuntu.com>
2654
2655 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
2656
bed1d352
CW
26572010-03-21 Colin Watson <cjwatson@ubuntu.com>
2658
2659 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
2660 match where 'make install' puts them.
2661 * util/i386/efi/grub-install.in: Likewise.
2662
c9f58427
CW
26632010-03-19 Colin Watson <cjwatson@ubuntu.com>
2664
2665 * .bzrignore: Add gentrigtables, grub-script-check,
2666 grub_script_check_init.c, grub_script_check_init.h, and
2667 trigtables.c.
2668
f84afb27
VS
26692010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * kern/parser.c: Indented.
2672
ed0e3d30
VS
26732010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
2676
0ea81d98
VS
26772010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
2680 alpha_mask_size == 0 case.
2681
0cdc2a09
BC
26822010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
2683
2684 GRUB shell lexer and parser improvements.
2685
2686 * conf/any-emu.rmk: Build rule updates.
2687 * conf/common.rmk: Likewise.
2688 * conf/i386-coreboot.rmk: Likewise.
2689 * conf/i386-efi.rmk: Likewise.
2690 * conf/i386-ieee1275.rmk: Likewise.
2691 * conf/i386-pc.rmk: Likewise.
2692 * conf/powerpc-ieee1275.rmk: Likewise.
2693 * conf/x86_64-efi.rmk: Likewise.
2694
2695 * configure.ac: Configure check for flex.
2696
2697 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
2698 types.
2699 (grub_lexer_param): Struct member updates.
2700 (grub_parser_param): Likewise.
2701 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
2702 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
2703 (grub_script_lexer_init): Prototype update.
2704 (grub_script_lexer_record_start): Likewise.
2705 (grub_script_lexer_record_stop): Likewise.
2706 (grub_script_lexer_yywrap): New function prototype.
2707 (grub_script_lexer_fini): Likewise.
2708 (grub_script_execute_argument_to_string): Removed by...
2709 (grub_script_execute_argument_to_argv): ...better version.
2710
2711 * script/execute.c (ROUND_UPTO): New macro.
2712 (grub_script_execute_cmdline): Out of memory fixes.
2713 (grub_script_execute_menuentry): Likewise.
2714 (grub_script_execute_argument_to_string): Removed. Update all
2715 users by...
2716 (grub_script_execute_argument_to_argv): ...better version.
2717 * script/function.c (grub_script_function_create): Use
2718 grub_script_execute_argument_to_argv instead of
2719 grub_script_execute_argument_to_string.
2720
2721 * script/lexer.c (check_varstate): Removed.
2722 (check_textstate): Removed.
2723 (grub_script_lexer_record_start): Likewise.
2724 (grub_script_lexer_record_stop): Likewise.
2725 (recordchar): Replaced with...
2726 (grub_script_lexer_record): ...new function.
2727 (nextchar): Removed.
2728 (grub_script_lexer_init): Rewritten.
2729 (grub_script_yylex): Rewritten.
2730 (append_newline): New function.
2731 (grub_script_lexer_yywrap): New function.
2732 (grub_script_lexer_fini): New function.
2733 (grub_script_yyerror): Sets error flag.
2734
2735 * script/yylex.l: New file.
2736 (grub_lexer_yyfree): Wrapper for flex yyffre.
2737 (grub_lexer_yyalloc): Likewise.
2738 (grub_lexer_yyrealloc): Likewise.
2739 * script/parser.y: Refactored.
2740
2741 * script/script.c (grub_script_arg_add): Out of memory fixes.
2742 (grub_script_add_arglist): Likewise.
2743 (grub_script_create_cmdline): Likewise.
2744 (grub_script_create_cmdmenu): Likewise.
2745 (grub_script_add_cmd): Likewise.
2746 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
2747 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
2748 unnecessary code.
2749
2750 * tests/grub_script_echo1.in: New testcase.
2751 * tests/grub_script_vars1.in: New testcase.
2752 * tests/grub_script_echo_keywords.in: New testcase.
2753
1d63a066
VS
27542010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 Remove some redundancy in build system.
2757
2758 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
2759 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
2760 (TARGET_LDFLAGS): Add -nostdlib.
2761 (TARGET_IMG_LDFLAGS): Likewise.
2762 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
2763 anything since mmap isn't available.
2764 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
2765 Add util/time.c.
2766 (pkglib_MODULES): Remove reboot.mod.
2767 (reboot_mod_SOURCES): Removed.
2768 (reboot_mod_CFLAGS): Likewise.
2769 (reboot_mod_LDFLAGS): Likewise.
2770 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
2771 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
2772 (DEFSYMFILES): Add kernel_syms.lst.
2773 (kernel_img_HEADERS): Add common headers.
2774 (symlist.c): New target.
2775 (kernel_syms.lst): Likewise.
2776 (pkglib_MODULES): Add memdisk.mod.
2777 (memdisk_mod_SOURCES): New variable.
2778 (memdisk_mod_CFLAGS): Likewise.
2779 (memdisk_mod_LDFLAGS): Likewise.
2780 (pkglib_MODULES): Add reboot.mod.
2781 (reboot_mod_SOURCES): New variable.
2782 (reboot_mod_CFLAGS): Likewise.
2783 (reboot_mod_LDFLAGS): Likewise.
2784 (pkglib_MODULES): Add date.mod.
2785 (date_mod_SOURCES): New variable.
2786 (date_mod_CFLAGS): Likewise.
2787 (date_mod_LDFLAGS): Likewise.
2788 (pkglib_MODULES): Add datehook.mod.
2789 (datehook_mod_SOURCES): New variable.
2790 (datehook_mod_CFLAGS): Likewise.
2791 (datehook_mod_LDFLAGS): Likewise.
2792 (pkglib_MODULES): Add lsmmap.mod.
2793 (lsmmap_mod_SOURCES): New variable.
2794 (lsmmap_mod_CFLAGS): Likewise.
2795 (lsmmap_mod_LDFLAGS): Likewise.
2796 (pkglib_MODULES): Add boot.mod.
2797 (boot_mod_SOURCES): New variable.
2798 (boot_mod_CFLAGS): Likewise.
2799 (boot_mod_LDFLAGS): Likewise.
2800 * conf/i386-coreboot.rmk: Removed redundant parts.
2801 * conf/i386-ieee1275.rmk: Likewise.
2802 * conf/i386-pc.rmk: Likewise.
2803 * conf/mips-yeeloong.rmk: Likewise.
2804 * conf/mips.rmk: Likewise.
2805 * conf/powerpc-ieee1275.rmk: Likewise.
2806 * conf/sparc64-ieee1275.rmk: Likewise.
2807 * conf/x86_64-efi.rmk: Likewise.
2808 * conf/i386-coreboot.rmk: Moved qemu parts ..
2809 * conf/i386-qemu.rmk: ... here
2810 * conf/i386-efi.rmk: Moved common parts to...
2811 * conf/x86-efi.rmk: ... here.
2812 * conf/i386.rmk: Added modules common to all x86 variants.
2813 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
2814 * disk/memdisk.c: Remove grub/machine/kernel.h.
2815 * gensymlist.sh.in: Include symbol.h.
2816 * hook/datehook.c: Correct module name.
2817 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
2818 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
2819 * include/grub/i386/efi/serial.h: New file.
2820 * include/grub/x86_64/efi/serial.h: Likewise.
2821 * util/time.c: Likewise.
2822 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
2823
463ac55f
CK
28242010-03-14 Colin King <colin.king@ubuntu.com>
28252010-03-14 Colin Watson <cjwatson@ubuntu.com>
2826
2827 Shrink the pre-partition-table part of boot.img by eight bytes.
2828
2829 * boot/i386/pc/boot.S (ERR): New macro.
2830 (chs_mode): Use ERR.
2831 (geometry_error): Likewise.
2832 (hd_probe_error): Remove. This is only used once, so we wrwite
2833 it inline instead.
2834 (read_error): Instead of printing read_error_string, just set up
2835 %si and fall through to ...
2836 (error_message): ... this new function, also used by ERR.
2837
08e46ede
CW
28382010-03-14 Colin Watson <cjwatson@ubuntu.com>
2839
2840 Speed up consecutive hostdisk operations on the same device.
2841
2842 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
2843 (grub_util_biosdisk_open): Initialise disk->data.
2844 (struct linux_partition_cache): New structure.
2845 (linux_find_partition): Cache partition start positions; these are
2846 expensive to compute on every read and write.
2847 (open_device): Cache open file descriptor in disk->data, so that we
2848 don't have to reopen it and flush the buffer cache for consecutive
2849 operations on the same device.
2850 (grub_util_biosdisk_close): New function.
2851 (grub_util_biosdisk_dev): Set `close' member.
2852
2853 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
2854 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
2855 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
2856 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
2857 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
2858
4a6d2d06
VS
28592010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 Compile parts of grub-emu as modules.
2862
2863 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
2864 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
2865 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
2866 (all-local): Add $(GRUB_EMU).
2867 (install-local): Install $(GRUB_EMU).
2868 (uninstall): Uninstall $(GRUB_EMU).
2869 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
2870 * kern/dl.c: Likewise.
2871 * commands/sleep.c: Not include machine/time.h.
2872 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
2873 (COMMON_CFLAGS): Likewise.
2874 (sbin_UTILITIES): Remove grub-emu.
2875 (grub_emu_SOURCES): Removed.
2876 (kernel_img_RELOCATABLE): New variable.
2877 (pkglib_PROGRAMS): Add kernel.img.
2878 (kernel_img_SOURCES): New variable
2879 (kernel_img_CFLAGS): Likewise.
2880 (kernel_img_LDFLAGS): Likewise.
2881 (TARGET_NO_STRIP): Likewise.
2882 (TARGET_NO_DYNAMIC_MODULES): Likewise.
2883 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
2884 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
2885 (grub-emu): New target.
2886 (GRUB_EMU): New variable.
2887 * configure.ac: Whitelist -emu as possible x86_64 architecture.
2888 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
2889 * loader/xnu.c: Likewise.
2890 * include/grub/pci.h: Likewise.
2891 * genemuinit.sh: New file.
2892 * genemuinitheader.sh: Likewise.
2893 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
2894 Support TARGET_NO_DYNAMIC_MODULES.
2895 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
2896 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
2897 * disk/loopback.c: Likewise.
2898 * font/font_cmd.c: Likewise.
2899 * partmap/acorn.c: Likewise.
2900 * partmap/amiga.c: Likewise.
2901 * partmap/apple.c: Likewise.
2902 * partmap/gpt.c: Likewise.
2903 * partmap/msdos.c: Likewise.
2904 * partmap/sun.c: Likewise.
2905 * parttool/msdospart.c: Likewise.
2906 * term/gfxterm.c: Likewise.
2907 * video/bitmap.c: Likewise.
2908 * video/readers/jpeg.c: Likewise.
2909 * video/readers/png.c: Likewise.
2910 * video/readers/tga.c: Likewise.
2911 * video/video.c: Likewise.
2912 * util/grub-emu.c (read_command_list): Removed.
2913 (main): Don't call util_init_nls.
2914 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
2915 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
2916
91fdd2ed
VS
29172010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
2920 date.mod, datehook.mod.
2921 (datetime_mod_SOURCES): New variable.
2922 (datetime_mod_CFLAGS): Likewise.
2923 (datetime_mod_LDFLAGS): Likewise.
2924 (date_mod_SOURCES): Likewise.
2925 (date_mod_CFLAGS): Likewise.
2926 (date_mod_LDFLAGS): Likewise.
2927 (datehook_mod_SOURCES): Likewise.
2928 (datehook_mod_CFLAGS): Likewise.
2929 (datehook_mod_LDFLAGS): Likewise.
2930 * conf/sparc64-ieee1275.rmk: Likewise.
2931 * lib/ieee1275/datetime.c: New file.
2932
873ccae6
VS
29332010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
2936 (ieee1275_fb_mod_SOURCES): New variable.
2937 (ieee1275_fb_mod_CFLAGS): Likewise.
2938 (ieee1275_fb_mod_LDFLAGS): Likewise.
2939 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
2940 New proto.
2941 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
2942 (HEAP_MAX_ADDR): Likewise.
2943 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
2944 type.
2945 Correct stop condition.
2946 (grub_ieee1275_devices_iterate): New function.
2947 * video/ieee1275.c: New file.
2948
601c97c0
VS
29492010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
2952
2953 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
2954 as scratch.
2955 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
2956 SCRATCH_PAD_DISKBOOT as scratch.
2957 (bootit): Pass Openfirmware pointer in %o4.
2958 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
2959 of 0x200000.
2960 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
2961 with util/grub-mkrawimage.c.
2962 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
2963 * include/grub/aout.h (AOUT_MID_SUN): New definition.
2964 (grub_aout_get_type) [GRUB_UTIL]: Removed.
2965 (grub_aout_load) [GRUB_UTIL]: Likewise.
2966 * include/grub/kernel.h (grub_modules_get_end): New proto.
2967 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
2968 (SCRATCH_PAD_BOOT): New definition.
2969 (SCRATCH_PAD_DISKBOOT): Likewise.
2970 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
2971 * include/grub/sparc64/ieee1275/ieee1275.h
2972 (grub_ieee1275_original_stack): New variable
2973 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
2974 New definition
2975 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
2976 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
2977 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
2978 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
2979 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
2980 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
2981 (grub_platform_image_format_t): New type.
2982 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
2983 * kern/main.c (grub_modules_get_end)
2984 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
2985 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
2986 (codestart): Switch stacks.
2987 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
2988 variable.
2989 (grub_heap_init): Use grub_modules_get_end.
2990 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
2991 stack.
2992 * util/grub-mkrawimage.c (generate_image): Support sparc64.
2993 (main): Likewise.
2994 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
2995
d68b491e
TG
29962010-03-14 Thorsten Glaser <tg@mirbsd.org>
2997
2998 * util/grub-mkrescue.in: Base ISO UUID on UTC.
2999
4e02ed50
MK
30002010-03-08 Matt Kraai <kraai@ftbfs.org>
3001
3002 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
3003 bug #559005).
3004
1f15fc1e
VS
30052010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 * genmoddep.awk: Output all missing symbols and not only first.
3008
fce5d8ff
VS
30092010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * NEWS: Put the date of 1.98 release.
3012
d1e8a02f
VS
30132010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
3016 ft2build.h.
3017
696fd607
VS
30182010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
3021 completition in the middle of string.
3022
33e2e6f3
VS
30232010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 * util/grub-mkrescue.in: Use mktemp with explicit template.
3026
b1f6d291
VS
30272010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3028
3029 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
3030
2ac227c7
VS
30312010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
3034 right pointer.
3035
8f9a632b
VS
30362010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 Fix FreeBSD compilation.
3039
3040 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
3041 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
3042
60b03859
VS
30432010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
3046
48a5a769
VS
30472010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
3050
3ab4bd77
VS
30512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
3054
d116e0d8
RM
30552010-03-04 Robert Millan <rmh.grub@aybabtu.com>
3056
3057 Support relative image path in theme file.
3058
3059 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
3060 (image_set_property): Handle theme_dir and relative path.
3061
c7ef54aa
VS
30622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * configure.ac: Alias amd64 to x86_64.
3065
fcee14ed
VS
30662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * NEWS: mention multiboot on EFI.
3069
d0780363
VS
30702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3071
3072 * kern/main.c (grub_load_modules): Handle errors from init functions of
3073 embeded modules.
3074
41168ea4
VS
30752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * normal/autofs.c (autoload_fs_module): Handle errors.
3078
b54d93ac
VS
30792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 Disable linux.mod on qemu-mips since it's not functional and leads
3082 to compilation failure.
3083
3084 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
3085 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
3086 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
3087 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
3088 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
3089 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
3090 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
3091 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
3092 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
3093 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
3094 Reported by: BVK Chaitanya
3095
fc8345da
JU
30962010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
3097
3098 * INSTALL: Add gettext as a dependency and add qemu to a new section
3099 "Prerequisites for make-check".
3100
4760f979
CF
31012010-03-04 Christian Franke <franke@computer.org>
3102
3103 * util/grub-pe2elf.c: Add missing include "progname.h".
3104
f209b5b2
VS
31052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 * normal/crypto.c (read_crypto_list): Fix a typo.
3108 Reported by: Seth Goldberg.
3109
b4b7be98
VS
31102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 3113 Reported by: Seth Goldberg.
b4b7be98 3114
c0ee0385
VS
31152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
3118 ascii.bitmaps.
3119
a8efbf64
VS
31202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3121
3122 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 3123 Reported by: Seth Goldberg.
a8efbf64 3124
08dcd913
VS
31252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 * util/i386/efi/grub-install.in: Copy gettext files.
3128
c4d0b332
VS
31292010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3130
3131 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
3132
c6f2fe52
VS
31332010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 Wait for user entry basing on presence of output rather than on errors.
3136
3137 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
3138 (grub_install_newline_hook): Likewise.
3139 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
3140 * normal/menu.c (show_menu): Check line_counter to determine presence
3141 of output.
3142 * normal/term.c (grub_normal_line_counter): New variable.
3143 (grub_normal_get_line_counter): New function.
3144 (grub_install_newline_hook): Likewise.
3145
5382b1e4
VS
31462010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
3149
5519963b
VS
31502010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * configure.ac: Update version to 1.98.
3153
72b28631
VS
31542010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * util/grub.d/10_linux.in (linux_entry): Don't default to
3157 gfxpayload=keep if Linux doesn't support video handover.
3158
c140a180
VS
31592010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 Don't compile video modules on yeeloong since video subsystem is part
3162 of kernel.
3163
3164 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
3165 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
3166 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
3167 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
3168 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
3169 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
3170 * include/grub/bitmap_scale.h: Likewise.
3171 * include/grub/bufio.h: Likewise.
3172 * include/grub/font.h: Likewise.
3173 * include/grub/gfxterm.h: Likewise.
3174 * include/grub/video.h: Likewise.
3175 * include/grub/vbe.h: Don't include video_fb.h.
3176 * video/i386/pc/vbe.c: Include video_fb.h.
3177 * commands/i386/pc/vbetest.c: Include video.h.
3178
a0ca21c2
CW
31792010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
3180
3181 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
3182 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
3183 default entry if GRUB_SAVEDEFAULT=true. This allows using
3184 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
3185 saving a new default on every boot.
3186
4a8a763c
VS
31872010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 * normal/crypto.c (read_crypto_list): Fix a memory leak.
3190 * normal/term.c (read_terminal_list): Likewise.
3191 * normal/main.c (grub_normal_init_page): Likewise.
3192 (grub_normal_read_line_real): Likewise.
3193
607ffde2
VS
31942010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
3197 memory leak.
3198 Reported by: Seth Goldberg.
3199
2b8fa975
CW
32002010-02-24 Joey Korkames <joey+lists@kidfixit.com>
3201
3202 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
3203 duplicate declaration of `start'.
3204
618307dd
VS
32052010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
3208 filename.
3209 Reported by: Georgy Buranov
3210
7dd05b96 32112010-02-20 Carles Pina i Estany <carles@pina.cat>
3212
3213 * util/grub-mkrawimage.c (usage): Change string formatting to
3214 improve gettext.
3215
d1484a42
MRA
32162010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
3217
3218 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
3219 backspace keys.
3220
42b1d186
VS
32212010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
3224 Reported by: Michael Suchanek.
3225
32262010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
3227
3228 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
3229 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
3230
d9f31a41
VS
32312010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 Remove any reference to non-free fonts.
3234
3235 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
3236 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
3237 uses non-free components.
3238 * font/font.c (grub_font_get_name): Remove example name.
3239 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
3240 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
3241 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
3242 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
3243
2793c71e
GB
32442010-02-16 Georgy Buranov <gburanov@gmail.com>
3245
3246 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
3247
402e3779
VS
32482010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
3251 Double divisor.
3252 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
3253 features.
3254 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
3255
0dd1e0dd
VS
32562010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 * gensymlist.sh.in: Use TARGET_CC instead of CC.
3259
6fa7cfce
ST
32602010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3261
3262 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
3263 * docs/grub.texi (Command-line and menu entry commands): Document play
3264 command.
3265
37c8483b
ST
32662010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3267
3268 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
3269 parse arguments as inline tempo and notes. Move code for playing notes
3270 to...
3271 (play): ... new function.
3272
14da0fb7
ST
32732010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3274
3275 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
3276 grub_uint16_t instead of short.
3277 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
3278 disk from little endian to cpu endianness.
3279
04459e70
ST
32802010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
3281
3282 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
3283 GRUB_TICKS_PER_SECOND instead of 120.
3284
a0876943
VS
32852010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
3288 escape sequence after \e.
3289
e29f95dc
VS
32902010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
3293 non-ASCII characters.
3294
d27859b2
VS
32952010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
3298 set root in single quotes to prevent \, from being unescaped.
3299
bc028f2f
VS
33002010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3301
3302 Prevent unknown commands from stopping menuentry execution.
3303
3304 * script/execute.c (grub_script_execute_cmdline): Print error after
3305 unknown command.
3306
095f5f82
VS
33072010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
3310 Reported by: Pavel Pisa.
3311
8c717950
VS
33122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
3315
904935c3
VS
33162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 Merge grub_ieee1275_map_physical into grub_map and rename to
3319 grub_ieee1275_map
3320
3321 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
3322 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
3323 Remove.
3324 * kern/ieee1275/openfw.c (grub_map): Rename to ...
3325 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
3326 necessary.
3327 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
3328
5b59a4e3
VS
33292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3330
3331 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
3332 opening and not after.
3333
69e137e8
VS
33342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
3337 constants.
3338
2c0fcc36
VS
33392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
3342 (alloc_phys): Use ALIGN_UP instead of align_addr.
3343
8c6052ce
VS
33442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
3347
17cec782
VS
33482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
3351
e0128bbd
VS
33522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
3355 verbose dprintf.
3356
ca62070b
VS
33572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 Fix over-4GiB seek on sparc64.
3360
3361 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
3362 Replace pos_i and pos_lo with pos. All users updated.
3363 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
3364 New constant.
3365 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
3366 Likewise.
3367 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
3368 and pos_lo.
3369
bdca2607
VS
33702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3371
3372 * util/grub-mkrawimage.c (main): Call set_program_name.
3373
da278c4d
VS
33742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 Properly align 64-bit targets.
3377
3378 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
3379 (generate_image): Use ALIGN_ADDR.
3380
b274d734
VS
33812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3382
3383 Properly create cross-endian images.
3384
3385 * include/grub/types.h (grub_host_to_target_addr): New macro
3386 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
3387
82da2062
VS
33882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3389
3390 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
3391
7cae4377
VS
33922010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
3395
3396 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
3397 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
3398 (grub_linux_boot): Divide by 64K when on VESA.
3399
65a533e7
VS
34002010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 Support GRUB_GFXPAYLOAD_LINUX.
3403
3404 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
3405 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
3406
dd01d397
VS
34072010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
3410 to show messages instead of discarding them.
3411 Process errors after executing command and not before. Keep old method
3412 too as precaution.
3413
660960d6
VS
34142010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 * configure.ac: Check for ft2build.h.
3417
62509f04
VS
34182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
3421
473df63d
VS
34222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 * genkernsyms.sh.in: Use TARGET_CC.
3425
c98d2a13
CW
34262010-02-07 Colin Watson <cjwatson@ubuntu.com>
3427
3428 * NEWS: Update.
3429
6e14234c
VS
34302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
3433 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
3434 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 3435
b255e9cf
YB
34362010-02-07 Yves Blusseau <blusseau@zetam.org>
3437
6e14234c 3438 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 3439
98e6959d
VS
34402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 Fix warnings in grub-emu when compiling with maximum warning options.
3443
3444 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
3445 (grub_arch_modules_addr): Return 0 and not NULL.
3446 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 3447 (xstrdup): Use newstr instead of dup.
f88d801b
VS
3448 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
3449 of disk to dsk to avoid shadowing.
74e4934e
VS
3450 (find_free_slot): Fix prototype.
3451 * util/getroot.c (grub_util_is_dmraid): Make static.
3452 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
3453 Add missing prototype.
3454 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 3455
74e31b5c
VS
34562010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * loader/i386/linux.c (grub_linux_setup_video): Handle error
3459 appropriately.
3460
6b2ad14b
VS
34612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
3464 code out.
3465
8f891adc
VS
34662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
3469 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
3470 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
3471 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
3472 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
3473 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
3474
74b45184
VS
34752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * include/grub/err.h (grub_err_printf): Don't export.
3478
a4bced77
VS
34792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
3482
007d0695
VS
34832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 * include/grub/i18n.h (grub_gettext_dummy): Removed.
3486 * kern/misc.c (grub_gettext_dummy): Make static.
3487
b6c0d9c2
VS
34882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3489
3490 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
3491 by non-valid ones.
3492 * kern/term.c (grub_putchar): Likewise.
3493
f51a90d0
VS
34942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
3497 buggy hook call and memory leak.
3498
6846cec5
VS
34992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
3502
468d69fe
VS
35032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3504
3505 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
3506
51906b8c
VS
35072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
3510 modevar.
3511 Return grub_errno on allocation error.
3512
09706ce5
VS
35132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
3516
911df80c
YB
35172010-02-06 Yves Blusseau <blusseau@zetam.org>
3518
3519 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
3520 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
3521
3746a6bc
VS
35222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
3525 non-pxe disk.
3526 (grub_pxefs_open): Likewise.
3527
09706ce5
VS
35282010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3529
3530 * util/grub.d/10_hurd.in: Add --class information to menuentries.
3531 * util/grub.d/10_kfreebsd.in: Likewise.
3532 * util/grub.d/10_linux.in: Likewise.
3533
7cc192d9
VS
35342010-02-06 Colin D Bennett <colin@gibibit.com>
3535
3536 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
3537 (gfxmenu_mod_SOURCES): New variable.
3538 (gfxmenu_mod_CFLAGS): Likewise.
3539 (gfxmenu_mod_LDFLAGS): Likewise.
3540 * include/grub/term.h (grub_term_set_current_output): Declare
3541 argument as const.
3542 * docs/gfxmenu-theme-example.txt: New file.
3543 * gfxmenu/gfxmenu.c: Likewise.
3544 * gfxmenu/gui_box.c: Likewise.
3545 * gfxmenu/gui_canvas.c: Likewise.
3546 * gfxmenu/gui_circular_progress.c: Likewise.
3547 * gfxmenu/gui_image.c: Likewise.
3548 * gfxmenu/gui_label.c: Likewise.
3549 * gfxmenu/gui_list.c: Likewise.
3550 * gfxmenu/gui_progress_bar.c: Likewise.
3551 * gfxmenu/gui_string_util.c: Likewise.
3552 * gfxmenu/gui_util.c: Likewise.
3553 * gfxmenu/icon_manager.c: Likewise.
3554 * gfxmenu/model.c: Likewise.
3555 * gfxmenu/named_colors.c: Likewise.
3556 * gfxmenu/theme_loader.c: Likewise.
3557 * gfxmenu/view.c: Likewise.
3558 * gfxmenu/widget-box.c: Likewise.
3559 * include/grub/gfxmenu_model.h: Likewise.
3560 * include/grub/gfxmenu_view.h: Likewise.
3561 * include/grub/gfxwidgets.h: Likewise.
3562 * include/grub/gui.h: Likewise.
3563 * include/grub/gui_string_util.h: Likewise.
3564 * include/grub/icon_manager.h: Likewise.
3565
35662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3567
3568 Agglomerate scrolling in gfxterm.
3569
3570 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
3571 (grub_virtual_screen_setup): Initialise 'total_screen'.
3572 (write_char): Split to ...
3573 (paint_char): ... this ...
3574 (write_char): ... and this.
3575 (paint_char): Handle delayed scrolling.
3576 (draw_cursor): Likewise.
3577 (scroll_up): Split to ...
3578 (real_scroll): ... this ...
3579 (scroll_up): ... and this.
3580 (real_scroll): Handle multi-line scroll and draw below-the-bottom
3581 characters.
3582 (grub_gfxterm_refresh): Call real_scroll.
3583
35842010-02-06 Colin D Bennett <colin@gibibit.com>
3585
3586 * include/grub/misc.h (grub_iscntrl): New inline function.
3587 (grub_isalnum): Likewise.
3588 (grub_strtol): Likewise.
3589
35902010-02-06 Colin D Bennett <colin@gibibit.com>
3591
3592 * normal/menu_text.c (get_entry_number): Move from here ...
3593 * normal/menu.c (get_entry_number): ... moved here.
3594 * include/grub/menu.h (grub_menu_get_default_entry_index):
3595 New prototype.
3596 * normal/menu.c (grub_menu_get_default_entry_index): New function.
3597 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
3598 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
3599 (grub_menu_viewer_should_return): Likewise.
3600 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
3601 * normal/menu_text.c (run_menu): Enable menu switching.
3602 * normal/menu_viewer.c (should_return): New variable.
3603 (menu_viewer_changed): Likewise.
3604 (grub_menu_viewer_show_menu): Handle menu viewer changes.
3605 (grub_menu_viewer_should_return): New function.
3606 (menuviewer_write_hook): Likewise.
3607 (grub_menu_viewer_init): Likewise.
3608
36092010-02-06 Colin D Bennet <colin@gibibit.com>
36102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 Support for gfxterm in a window.
3613
3614 * include/grub/gfxterm.h: New file.
3615 * include/grub/video.h (struct grub_video_rect): New declaration.
3616 (grub_video_rect_t): Likewise.
3617 * term/gfxterm.c (struct grub_gfxterm_window): New type.
3618 (refcount): New variable.
3619 (render_target): Likewise.
3620 (window): Likewise.
3621 (repaint_callback): Likewise.
3622 (grub_virtual_screen_setup): Use 'render_target'.
3623 (init_window): New function.
3624 (grub_gfxterm_init_window): Likewise.
3625 (grub_gfxterm_init): Check reference counter.
3626 Use init_window.
3627 (destroy_window): New function.
3628 (grub_gfxterm_destroy_window): Likewise.
3629 (grub_gfxterm_fini): Check reference counter.
3630 Use destroy_window.
3631 (redraw_screen_rect): Restore viewport.
3632 Use 'render_target' and 'window'.
3633 Call 'repaint_callback'.
3634 (write_char): Use 'render_target'.
3635 (draw_cursor): Likewise.
3636 (scroll_up): Restore viewport.
3637 Use 'render_target' and 'window'.
3638 Call 'repaint_callback'.
3639 (grub_gfxterm_cls): Likewise.
3640 (grub_gfxterm_refresh): Use 'window'.
3641 (grub_gfxterm_set_repaint_callback): New function.
3642 (grub_gfxterm_background_image_cmd): Use 'window'.
3643 (grub_gfxterm_get_term): New function.
3644 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
3645
36462010-02-06 Colin D Bennett <colin@gibibit.com>
3647
3648 Bitmap scaling support.
3649
3650 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
3651 (bitmap_scale_mod_SOURCES): New variable.
3652 (bitmap_scale_mod_CFLAGS): Likewise.
3653 (bitmap_scale_mod_LDFLAGS): Likewise.
3654 * include/grub/bitmap_scale.h: New file.
3655 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
3656 (background_image_cmd_options): New variable.
3657 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
3658 (cmd): Rename and change type to ...
3659 (background_image_cmd_handle): ... this. All users updated.
3660 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
3661 * video/bitmap_scale.c: New file.
3662
36632010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 SDL support.
3666
3667 * Makefile.in (LIBSDL): New variable.
3668 (enable_grub_emu_sdl): Likewise.
3669 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
3670 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
3671 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
3672 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
3673 * util/sdl.c: New file.
3674
36752010-02-06 Colin D Bennett <colin@gibibit.com>
36762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 Double buffering support.
3679
3680 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
3681 * include/grub/video.h: Update comment.
3682 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
3683 New type.
3684 (grub_video_fb_doublebuf_blit_init): New prototype.
3685 * term/gfxterm.c (scroll_up): Support double buffering.
3686 (grub_gfxterm_refresh): Likewise.
3687 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
3688 (grub_video_fb_doublebuf_blit_init): Likewise.
3689 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
3690 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
3691 'displayed_page', 'render_page' and 'update_screen'.
3692 (grub_video_vbe_fini): Free offscreen buffer.
3693 (doublebuf_pageflipping_commit): New function.
3694 (doublebuf_pageflipping_update_screen): Likewise.
3695 (doublebuf_pageflipping_init): Likewise.
3696 (double_buffering_init): Likewise.
3697 (grub_video_vbe_setup): Enable doublebuffering.
3698 (grub_video_vbe_swap_buffers): Implement.
3699 (grub_video_vbe_set_active_render_target): Handle double buffering.
3700 (grub_video_vbe_get_active_render_target): Likewise.
3701 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
3702 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
3703 (grub_video_vbe_enable_double_buffering): Likewise.
3704 (grub_video_vbe_swap_buffers): Use update_screen.
3705 (grub_video_set_mode): Use double buffering.
3706
37072010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3708
3709 * maintainance/gentrigtables.py: Remove.
3710 * lib/trig.c: Likewise.
3711
3712 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
3713
3714 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
3715 `trigtables.c'.
3716 (trigtables.c): New rule.
3717 (gentrigtables): Likewise.
3718 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
3719
37202010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3721
3722 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
3723 integer constants.
3724
37252010-02-06 Colin D Bennet <colin@gibibit.com>
3726
3727 Trigonometry support.
3728
3729 * include/grub/trig.h: New file.
3730 * lib/trig.c: Likewise.
3731 * maintainance/gentrigtables.py: Likewise.
3732 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
3733 (trig_mod_SOURCES): New variable.
3734 (trig_mod_CFLAGS): Likewise.
3735 (trig_mod_LDFLAGS): Likewise.
3736
5562834e
VS
37372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
3740 disk devices.
3741
4f8528fc
VS
37422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
3745 error.
3746
2b4068e9
VS
37472010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * util/hostdisk.c (open_device): Don't use partition device when reading
3750 before the partition.
3751 (grub_util_biosdisk_read): Don't read from partition and before the
3752 partition in single operation.
3753 (grub_util_biosdisk_write): Don't write to partition and before the
3754 partition in single operation.
3755
399f6e4d
TL
37562010-02-03 Torsten Landschoff <torsten@debian.org>
3757
3758 * kern/disk.c (grub_disk_read): Fix offset computation when reading
3759 last sectors.
3760
996649b0
VS
37612010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
3764 CDROM reads.
3765 (grub_biosdisk_write): Refuse to write to CDROM.
3766
3b205d4d
VS
37672010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
3770
61e89d9d
VS
37712010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * font/font.c (find_glyph): Check that bmp_idx is available before
3774 using it.
3775 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
3776 with (font == NULL).
3777
bf7fcba2
CS
37782010-01-28 Christian Schmitt <chris@ilovelinux.de>
3779
3780 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
3781
f45d2663
BC
37822010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
3783
3784 * include/grub/script_sh.h (sourcecode): Add const qualifier.
3785 * util/grub-script-check.c (getline): Fix empty lines case.
3786
ec1444e6
RM
37872010-01-28 Robert Millan <rmh.grub@aybabtu.com>
3788
3789 * Makefile.in (check): Exit with fail status when one of the tests
3790 fails.
3791 * tests/example_functional_test.c (example_test): Fix reversed assert.
3792 * tests/example_unit_test.c (example_test): Likewise.
3793
2e1cb9bb
CW
37942010-01-28 Colin Watson <cjwatson@ubuntu.com>
3795
3796 * util/grub.d/10_linux.in: This script does not use any of the
3797 contents of gettext.sh, only the external command `gettext', so stop
3798 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
3799 the same prefix as GRUB.)
3800 * util/grub.d/10_kfreebsd.in: Likewise.
3801
63533ab0
VS
38022010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
3805 of the line.
3806
989e1f93
VS
38072010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * kern/disk.c (grub_disk_read): Fix offset computation when reading
3810 last sectors.
3811
e709ebe2
VS
38122010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
3815 having a 4KiB and not 32KiB buffer size.
3816
27dea7ed
RM
38172010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3818
3819 * util/hostfs.c: Include `<errno.h>'.
3820 (grub_hostfs_read): Handle errors from fseeko() and fread().
3821
67667b9c
RM
38222010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3823
3824 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
3825 loop when using read hooks on files whose size isn't sector-aligned.
3826
c294d9d8
RM
38272010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3828
3829 Remove unused parameter.
3830
3831 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
3832 (grub_iso9660_open): Remove initialization of `data->length'.
3833
af75a9f1
RM
38342010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3835
3836 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
3837 memleak conditions.
3838
254e2ce5 38392010-01-27 Carles Pina i Estany <carles@pina.cat>
3840
3841 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
3842 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
3843
b510928c 38442010-01-26 Carles Pina i Estany <carles@pina.cat>
3845
3846 * util/bin2h.c (usage): Fix warning (space after backslash).
3847
aa2f9dd2 38482010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 3849
3850 * font/font.c: Include `grub/fontformat.h.
3851 Remove font file format constants.
3852 (grub_font_load): Use the new macros.
3853 * include/grub/fontformat.h: New file.
3854 * util/grub-mkfont.c: Include `grub/fontformat.c'.
3855 (write_font_pf2): Use the new macros.
3856
94e7e712
RM
38572010-01-26 Robert Millan <rmh.grub@aybabtu.com>
3858
3859 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
3860 does.
3861
3973a59a
RM
38622010-01-26 Robert Millan <rmh.grub@aybabtu.com>
3863
3864 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
3865
3866 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
3867 (_start): Macroify `0x7F'.
3868
3869 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
3870 (make_install_device): Use "(pxe)" as fallback prefix when booting
3871 via PXE.
3872
42e0cba3
GS
38732010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 * configure.ac: Reset LIBS after check for libgcc symbols.
3876
847effd8
CW
38772010-01-25 Colin Watson <cjwatson@ubuntu.com>
3878
3879 * util/hostdisk.c (open_device): Add trailing newline to debug
3880 message.
3881
ea4a7e35
GS
38822010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3883
3884 * configure.ac: Check for `limits.h'.
3885 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
3886
67951a53
RM
38872010-01-24 Robert Millan <rmh.grub@aybabtu.com>
3888
3889 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
3890 capitalize error strings.
3891
c273d4ce
ST
38922010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
3893
3894 * util/grub.d/10_hurd.in: Add a recovery mode.
3895
69be5b74
VS
38962010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 * configure.ac: Check for libgcc symbols with -nostdlib.
3899
fc9e5810
BC
39002010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
3901
3902 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
3903
4b358c0a
VS
39042010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
3907 stack since heap may be unavailable at that point.
3908 (grub_ofconsole_gotoxy): Likewise.
3909
454fcd1c
VS
39102010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 * configure.ac: Check for _restgpr_14_x.
3913 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
3914 and _savegpr_* prototypes.
3915
566863ca
RM
39162010-01-22 Robert Millan <rmh.grub@aybabtu.com>
3917
3918 Use generic grub_reboot() for i386-efi.
3919
3920 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
3921 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
3922 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
3923
bf86e59a
VS
39242010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
3927 presence of "prefix" variable as it breaks when normal.mod is
3928 embedded.
3929
d645e0f8
VS
39302010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
3933 stack since heap is unavailable at that point.
3934
f9ab2e25
VS
39352010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
3938 (grub_freebsd_bootinfo): Rewritten.
3939 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
3940
01fc7054
VS
39412010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
3944
caab4fd6
RM
39452010-01-21 Robert Millan <rmh.grub@aybabtu.com>
3946
3947 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
3948 domain now.
3949
67eb1427
FZ
39502010-01-20 Felix Zielcke <fzielcke@z-51.de>
3951
3952 * util/misc.c (make_system_path_relative_to_its_root): Change the work
3953 around for handling "/" to the correct fix. Fix a memory leak. Use
3954 xstrdup instead of strdup.
3955
a9ed4ff3
VS
39562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
3959
39602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
3961
3962 Optimise glyph lookup by Basic Multilingual Plane lookup array.
3963
3964 * font/font.c (struct grub_font): New member 'bmp_idx'.
3965 (font_init): Initialise 'bmp_idx'.
3966 (load_font_index): Fill 'bmp_idx'.
3967 (find_glyph): Make inline. Use bmp_idx for BMP characters.
3968
48209f4f
VS
39692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
3972 unnecessary calls.
3973
9f0a4bb7
VS
39742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 Move context handling out of the kernel.
3977
3978 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
3979 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
3980 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
3981 * conf/i386-efi.rmk: Likewise.
3982 * conf/i386-ieee1275.rmk: Likewise.
3983 * conf/i386-pc.rmk: Likewise.
3984 * conf/powerpc-ieee1275.rmk: Likewise.
3985 * conf/sparc64-ieee1275.rmk: Likewise.
3986 * conf/x86_64-efi.rmk: Likewise.
3987 * include/grub/env.h: Include grub/menu.h.
3988 (grub_env_var_type): Removed.
3989 (grub_env_var): Replaced field 'type' with 'global'.
3990 (grub_env_find): New prototype.
3991 (grub_env_context_open): Remove EXPORT_FUNC.
3992 (grub_env_context_close): Likewise.
3993 (grub_env_export): Likewise.
3994 (grub_env_set_data_slot): Removed.
3995 (grub_env_get_data_slot): Likewise.
3996 (grub_env_unset_data_slot): Likewise.
3997 (grub_env_unset_menu): New prototype.
3998 (grub_env_set_menu): Likewise.
3999 (grub_env_get_menu): Likewise.
4000 * include/grub/env_private.h: New file.
4001 * include/grub/normal.h (grub_context_init): New prototype.
4002 (grub_context_fini): Likewise.
4003 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
4004 * normal/context.c (grub_cmd_export): ... to here.
4005 * kern/env.c: Include env_private.h.
4006 (HASHSZ): Moved to include/grub/env_private.h.
4007 (grub_env_context): Likewise.
4008 (grub_env_sorted_var): Likewise.
4009 (current_context): Renamed from this ...
4010 (grub_current_context): ...to this. 'static' removed. All users updated.
4011 (grub_env_find): Removed 'static'.
4012 (grub_env_context_open): Moved to normal/context.c.
4013 (grub_env_context_close): Likewise.
4014 (grub_env_export): Likewise.
4015 (mangle_data_slot_name): Removed.
4016 (grub_env_set_data_slot): Likewise.
4017 (grub_env_get_data_slot): Likewise.
4018 (grub_env_unset_data_slot): Likewise.
4019 * kern/main.c (grub_set_root_dev): Don't export root.
4020 It will be done later.
4021 (grub_main): Don't export prefix.
4022 It will be done later.
4023 * normal/context.c: New file.
4024 * normal/main.c (free_menu): Use grub_env_unset_menu.
4025 (grub_normal_add_menu_entry): Use grub_env_get_menu.
4026 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
4027 (GRUB_MOD_INIT(normal)): Call grub_context_init.
4028 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
4029
8dd35b8c
VS
40302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 setpci support.
4033
4034 * commands/setpci.c: New file.
4035 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
4036 (setpci_mod_SOURCES): New variable.
4037 (setpci_mod_CFLAGS): Likewise.
4038 (setpci_mod_LDFLAGS): Likewise.
4039
449193d5
VS
40402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 Byte-addressable PCI configuration space.
4043
4044 * bus/pci.c (grub_pci_make_address): Use byte address instead of
4045 dword address.
4046 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
4047 GRUB_PCI_REG_CACHELINE.
4048 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
4049 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
4050 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
4051 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
4052 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
4053 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
4054 grub_pci_make_address.
4055 (lock_rom_area): Likewise.
4056 * commands/lspci.c (grub_lspci_iter): Use macroses
4057 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
4058 of grub_pci_make_address.
4059 * disk/ata.c (grub_ata_pciinit): Likewise.
4060 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
4061 (GRUB_PCI_REG_VENDOR): Likewise.
4062 (GRUB_PCI_REG_DEVICE): Likewise.
4063 (GRUB_PCI_REG_COMMAND): Likewise.
4064 (GRUB_PCI_REG_STATUS): Likewise.
4065 (GRUB_PCI_REG_REVISION): Likewise.
4066 (GRUB_PCI_REG_CLASS): Likewise.
4067 (GRUB_PCI_REG_CACHELINE): Likewise.
4068 (GRUB_PCI_REG_LAT_TIMER): Likewise.
4069 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
4070 (GRUB_PCI_REG_BIST): Likewise.
4071 (GRUB_PCI_REG_ADDRESSES): Likewise.
4072 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4073 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4074 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4075 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4076 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4077 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4078 (GRUB_PCI_REG_CIS_POINTER): Likewise.
4079 (GRUB_PCI_REG_SUBVENDOR): Likewise.
4080 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
4081 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
4082 (GRUB_PCI_REG_CAP_POINTER): Likewise.
4083 (GRUB_PCI_REG_IRQ_LINE): Likewise.
4084 (GRUB_PCI_REG_IRQ_PIN): Likewise.
4085 (GRUB_PCI_REG_MIN_GNT): Likewise.
4086 (GRUB_PCI_REG_MAX_LAT): Likewise.
4087 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
4088 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
4089 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 4090 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
4091 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
4092 space.
4093
96d73208
RM
40942010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4095
4096 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
4097 can be reliably determined to be supported.
4098
d4484482
RM
40992010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4100
4101 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
4102 that VESA is supported.
4103 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
4104 supported.
4105
00308ecf
VS
41062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4107
4108 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
4109
f66924a4
RM
41102010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4111
4112 * util/misc.c (make_system_path_relative_to_its_root): Work around
4113 special-casing of "/", as previous incarnation of this routine did.
4114
cbca0ada
VS
41152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 Fix any-emu compilation.
4118
4119 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
4120 * grub_bin2h_SOURCES: New variable.
4121
34a66d99
RM
41222010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4123
4124 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
4125
94fabf58
RM
41262010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4127
4128 * util/grub.d/00_header.in: Fix handling of locale_dir.
4129
02cf98ca
VS
41302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
4133 as possible unifont location (Gentoo).
4134 Reported by: Alexander Brüning
4135
327dbcd7
VS
41362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 Don't try to generate lists for kernel.img.
4139
4140 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
4141 (pkglib_MODULES): Remove kernel.img.
4142 (kernel_img_EXPORTS): Removed.
4143 (kernel_img_RELOCATABLE): New variable.
4144 * conf/x86_64-efi.rmk: Likewise.
4145 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
4146
ca467290
VS
41472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
4150 grub_xasprintf or grub_snprintf.
4151 (grub_vsprintf): Likewise.
4152 (grub_snprintf): New proto.
4153 (grub_vsnprintf): Likewise.
4154 (grub_xasprintf): Likewise.
4155 (grub_xvasprintf): Likewise.
4156 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
4157 (grub_sprintf): Removed.
4158 (grub_vsnprintf): New function.
4159 (grub_snprintf): Likewise.
4160 (grub_xvasprintf): Likewise.
4161 (grub_xasprintf): Likewise.
4162 (grub_vsprintf): Renamed to ...
4163 (grub_vsnprintf_real): ...this. New argument max_len.
4164
aca655fd
BC
41652010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
4166
4167 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
4168 fix grub-script-check warning.
4169
7ee92c32
VS
41702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * include/grub/font.h (grub_font_load): Fix prototype.
4173
f80927ca
VS
41742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
4177
119c50ea
VS
41782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * include/grub/x86_64/at_keyboard.h: New file.
4181
47d5f3c1
VS
41822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * loader/mips/linux.c: Include missing grub/i18n.h.
4185
55ff5266
RM
41862009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4187
4188 * normal/menu.c (notify_execution_failure): Clarify error message.
4189
c893cc87
RM
41902009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4191
4192 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
4193 return value (and revert all return statements). Update users.
4194
917dd370
CW
41952010-01-20 Dan Merillat <debian@dan.merillat.org>
4196
4197 * kern/device.c (grub_device_iterate): Allocate new part_ent
4198 structure based on sizeof (*p) rather than sizeof (p->next), to
4199 account for structure padding.
4200
4201 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
4202 disk is NULL, which might happen for LVM physical volumes with no
4203 LVM signature.
4204
d4a4ee57
RM
42052009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4206
4207 * loader/mips/linux.c (grub_cmd_initrd)
4208 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
4209
42102009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4211
4212 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
4213 (grub_video_video_init, grub_video_bitmap_init)
4214 (grub_font_manager_init, grub_term_gfxterm_init)
4215 (grub_at_keyboard_init): New extern declarations.
4216 (grub_machine_init): Initialize gfxterm and at_keyboard.
4217
4218 * kern/main.c (grub_main): Revert grub_printf delay kludge.
4219
4220 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
4221 `gfxterm.mod' into core image.
4222
4223 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4224 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4225 (kernel_img_FORMAT): Copy to ...
4226
4227 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4228 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4229 (kernel_img_FORMAT): ... here, and ...
4230
4231 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4232 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4233 (kernel_img_FORMAT): ... here.
4234
4235 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
4236 and input (at_keyboard) terminals in kernel.
4237 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
4238
4239 (pkglib_MODULES): Remove `pci.mod'.
4240 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
4241 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
4242 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
4243 (at_keyboard_mod_LDFLAGS): Remove variables.
4244
42452010-01-11 Felix Zielcke <fzielcke@z-51.de>
4246
4247 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
4248
42492009-12-10 Robert Millan <rmh.grub@aybabtu.com>
4250
4251 * include/grub/mips/libgcc.h: Only export symbols for functions
4252 that libgcc provides.
4253
42542009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 MIPS support.
4257
4258 * bus/bonito.c: New file.
4259 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
4260 GRUB_PCI_NUM_DEVICES.
4261 * term/i386/pc/serial.c: Move to ...
4262 * term/serial.c: ... here. All users updated.
4263 * util/i386/pc/grub-mkimage.c: Move to ...
4264 * util/grub-mkrawimage.c: ... here. All users updated.
4265 * term/i386/pc/at_keyboard.c: Move to ...
4266 * term/at_keyboard.c: ... here. All users updated.
4267 * conf/mips-qemu-mips.rmk: New file.
4268 * conf/mips-yeeloong.rmk: Likewise.
4269 * conf/mips.rmk: Likewise.
4270 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
4271 mipsel-qemu-mips.
4272 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
4273 to port addresses.
4274 (grub_ata_pciinit): Support CS5536.
4275 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
4276 * font/font_cmd.c (loadfont_command): Open file before passing it to
4277 grub_font_load.
4278 (pseudo_file_read): New function.
4279 (pseudo_file_close): Likewise.
4280 (pseudo_fs): New structure.
4281 (load_font_module): New function.
4282 (GRUB_MOD_INIT(font_manager)): Load embedded font.
4283 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
4284 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
4285 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
4286 * include/grub/i386/at_keyboard.h: Split into ...
4287 * include/grub/at_keyboard.h: ... this ...
4288 * include/grub/i386/at_keyboard.h: ... and this.
4289 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
4290 New prototype.
4291 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
4292 updated.
4293 (grub_elf64_size): Likewise.
4294 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
4295 filename.
4296 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
4297 * include/grub/i386/coreboot/serial.h: Rewritten.
4298 * include/grub/i386/ieee1275/serial.h: Include
4299 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
4300 * include/grub/i386/pc/serial.h: Moved from here ...
4301 * include/grub/serial.h: ... to here. All users updated.
4302 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
4303 (GRUB_PCI_NUM_BUS): Likewise.
4304 (GRUB_PCI_NUM_DEVICES): Likewise.
4305 (grub_pci_device_map_range): Add missing volatile keyword.
4306 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
4307 * include/grub/mips/at_keyboard.h: New file.
4308 * include/grub/mips/cache.h: Likewise.
4309 * include/grub/mips/io.h: Likewise.
4310 * include/grub/mips/kernel.h: Likewise.
4311 * include/grub/mips/libgcc.h: Likewise.
4312 * include/grub/mips/pci.h: Likewise.
4313 * include/grub/mips/qemu-mips/boot.h: Likewise.
4314 * include/grub/mips/qemu-mips/kernel.h: Likewise.
4315 * include/grub/mips/qemu-mips/loader.h: Likewise.
4316 * include/grub/mips/qemu-mips/memory.h: Likewise.
4317 * include/grub/mips/qemu-mips/serial.h: Likewise.
4318 * include/grub/mips/qemu-mips/time.h: Likewise.
4319 * include/grub/mips/relocator.h: Likewise.
4320 * include/grub/mips/time.h: Likewise.
4321 * include/grub/mips/types.h: Likewise.
4322 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
4323 * include/grub/mips/yeeloong/boot.h: Likewise.
4324 * include/grub/mips/yeeloong/kernel.h: Likewise.
4325 * include/grub/mips/yeeloong/loader.h: Likewise.
4326 * include/grub/mips/yeeloong/memory.h: Likewise.
4327 * include/grub/mips/yeeloong/pci.h: Likewise.
4328 * include/grub/mips/yeeloong/serial.h: Likewise.
4329 * include/grub/mips/yeeloong/time.h: Likewise.
4330 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
4331 * kern/elf.c (grub_elf32_size): New parameter. All users
4332 updated.
4333 (grub_elf64_size): Likewise.
4334 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
4335 Load modules before saying "Welcome to GRUB!".
4336 Call grub_refresh after saying "Welcome to GRUB!".
4337 * kern/mips/cache.S: New file.
4338 * kern/mips/cache_flush.S: Likewise.
4339 * kern/mips/dl.c: Likewise.
4340 * kern/mips/init.c: Likewise.
4341 * kern/mips/qemu-mips/init.c: Likewise.
4342 * kern/mips/startup.S: Likewise.
4343 * kern/mips/yeeloong/init.c: Likewise.
4344 * kern/term.c (grub_putcode): Handle NULL terminal.
4345 (grub_getcharwidth): Likewise.
4346 (grub_getkey): Likewise.
4347 (grub_checkkey): Likewise.
4348 (grub_getkeystatus): Likewise.
4349 (grub_getxy): Likewise.
4350 (grub_getwh): Likewise.
4351 (grub_gotoxy): Likewise.
4352 (grub_cls): Likewise.
4353 (grub_setcolorstate): Likewise.
4354 (grub_setcolor): Likewise.
4355 (grub_getcolor): Likewise.
4356 (grub_refresh): Likewise.
4357 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
4358 (write_jump): Add hatch nop.
4359 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
4360 * lib/mips/setjmp.S: New file.
4361 * loader/mips/linux.c: Likewise.
4362 * term/i386/pc/at_keyboard.c: Move from here ...
4363 * term/at_keyboard.c: ... to here.
4364 * term/i386/pc/serial.c: Moved from here ...
4365 * term/serial.c: ... to here. All users updated.
4366 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
4367 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
4368 (serial_translate_key_sequence): Avoid deadlock.
4369 (grub_serial_getkey): Handle backspace.
4370 (grub_serial_putchar): Fix newline handling.
4371 * util/i386/pc/grub-mkimage.c: Move from here ...
4372 * util/grub-mkrawimage.c: ... to here. All users updated.
4373 (generate_image): New parameters 'font_path' and 'format'.
4374 Support embedding font.
4375 Use grub_host_to_target* instead of grub_cpu_to_le*.
4376 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
4377 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
4378 (options): New option "--font".
4379 (usage): Likewise.
4380 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
4381 (main): Handle "--font".
4382 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
4383 (grub_virtual_screen_setup): Set bg_color_display.
4384 (redraw_screen_rect): Use bg_color_display instead of incorrect
4385 bg_color.
4386 (grub_gfxterm_cls): Likewise.
4387 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
4388 Support embedding config file.
4389 (add_segments): Likewise.
4390 (options): New option "--config".
4391 (main): Handle "--config".
4392 * video/sm712.c: New file.
4393
25c2b5b3
RM
43942010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4395
4396 Fix parallel builds.
4397
4398 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
4399 font.c depend on ascii.h).
4400
44012010-01-12 Carles Pina i Estany <carles@pina.cat>
4402
4403 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
4404
44052010-01-11 Carles Pina i Estany <carles@pina.cat>
4406
4407 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
4408 By default: disabled.
4409 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
4410 parameter.
4411
44122010-01-10 Carles Pina i Estany <carles@pina.cat>
4413
4414 * font/font.c: Update copyright years.
4415 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
4416
44172010-01-10 Carles Pina i Estany <carles@pina.cat>
4418
4419 * font/font.c: Include `ascii.h'.
4420 (ASCII_BITMAP_SIZE): New macro.
4421 (ascii_font_glyph): Define.
4422 (ascii_glyph_lookup): New function.
4423 (grub_font_get_string_width): Change comment. If glyph not found, use
4424 ascii_glyph_lookup.
4425 (grub_font_get_glyph_with_fallback): If glyph not available returns
4426 ascii_glyph_lookup.
4427 * util/grub-mkfont.c (file_formats): New enum.
4428 (options): Add `ascii-bitmaps' new option.
4429 (usage): Add `asii-bitmaps' new option.
4430 (write_font_ascii_bitmap): New function.
4431 (write_font): Rename to ...
4432 (write_font_p2): ... this. Remove print_glyphs call.
4433 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
4434 used. Call print_glyphs.
4435 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
4436
44372010-01-14 Robert Millan <rmh.grub@aybabtu.com>
4438
4439 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
4440 (grub_bin2h_SOURCES): New variable.
4441 * util/bin2h.c: New file.
4442
915fc1b8
VS
44432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 * include/multiboot.h: Resynced with spec.
4446 * include/multiboot2.h: Likewise.
4447 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
4448 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
4449
9444b678
RM
44502010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4451
4452 * include/grub/term.h (grub_term_register_input,
4453 grub_term_register_output): Check return of terminal init()
4454 routines, and abort if errors are raised.
4455
4456 * commands/terminal.c: Update copyright year.
4457
cba98e8d
RM
44582010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4459
4460 * commands/terminal.c (grub_cmd_terminal_input)
4461 (grub_cmd_terminal_output): Check return of terminal init()
4462 routines, and abort if errors are raised.
4463
6f7db5d6
VS
44642010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 * include/grub/i386/bsd.h: Fix include pathes.
4467
262bff8d
VS
44682010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 Add missing *BSD copyright headers.
4471
4472 * include/grub/aout.h: Add BSD licence.
4473 * include/grub/i386/bsd.h: Parts under different licences moved to ...
4474 * include/grub/i386/freebsd_linker.h: ... here,
4475 * include/grub/i386/freebsd_reboot.h: ... here,
4476 * include/grub/i386/netbsd_bootinfo.h: ... here,
4477 * include/grub/i386/netbsd_reboot.h: ... here,
4478 * include/grub/i386/openbsd_bootarg.h: ... here,
4479 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
4480 licence to each file.
4481
b2cab848
RM
44822010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4483
4484 * acinclude.m4: Remove `nop' assembly instruction; it's not
4485 implemented by all architectures.
4486
2cb6be4b
RM
44872010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4488
4489 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
4490 ELILO. This is no longer necessary.
4491
a2eaee15
BC
44922010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
4493
4494 Added new tool, grub-scrit-check to verify grub.cfg syntax.
4495
4496 * util/grub-script-check.c: grub-script-check tool.
4497 * conf/common.rmk: Make rules for grub-script-check.
4498
88d17012
RM
44992010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4500
4501 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
4502 spotting it back in 2008. Shame on me for forgetting he did.
4503
4504 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
4505
8040619d
RM
45062010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4507
4508 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
4509 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
4510 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
4511 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
4512 (GRUB_VIDEO_TYPE_EFI): Rename to ...
4513 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
4514
a0c2a0f6
RM
45152010-01-17 Robert Millan <rmh.grub@aybabtu.com>
4516
4517 * include/grub/test.h: Add license header.
4518 * tests/example_functional_test.c: Likewise.
4519 * tests/example_unit_test.c: Likewise.
4520 * tests/lib/functional_test.c: Likewise.
4521 * tests/lib/test.c: Likewise.
4522 * tests/lib/unit_test.c: Likewise.
4523
b0b13907
VS
45242010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 Use flag-based instead of hook-based video mode selection and "auto"
4527 keyword.
4528
4529 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
4530 (grub_video_set_mode): Changed prototype. All users updated.
4531 (grub_video_check_mode_flag): New inline function.
4532 * video/video.c (parse_modespec): New function.
4533 (grub_video_set_mode): Parse flags and keywords.
4534
ea379330 45352010-01-17 Carles Pina i Estany <carles@pina.cat>
4536
4537 * util/misc.c (grub_util_info): Fix the order of the parameters in a
4538 fprintf call.
4539
e15c215e
FZ
45402010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4541
4542 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
4543
409ae1c9 45442010-01-16 Carles Pina i Estany <carles@pina.cat>
4545
4546 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
4547 string.
4548 * util/grub-emu.c (usage): Likewise.
4549 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
4550 * util/i386/efi/grub-mkimage.c (usage): Likewise.
4551 * util/i386/pc/grub-mkimage.c (usage): Likewise.
4552 * util/i386/pc/grub-setup.c (usage): Likewise.
4553
70a14d3d 45542010-01-16 Carles Pina i Estany <carles@pina.cat>
4555
4556 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
4557 the message.
4558 (grub_util_info): Likewise.
4559 (grub_util_error): Likewise.
4560 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
4561 and/or new lines in `grub_util_warna', `grub_util_info',
4562 `grub_util_error' calls.
4563 * util/getroot.c: Likewise.
4564 * util/grub-editenv.c: Likewise.
4565 * util/grub-emu.c: Likewise.
4566 * util/grub-fstest.c: Likewise.
4567 * util/grub-mkdevicemap.c: Likewise.
4568 * util/grub-mkfont.c: Likewise.
4569 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4570 * util/grub-mkrelpath.c: Likewise.
4571 * util/grub-pe2elf.c: Likewise.
4572 * util/grub-probe.c: Likewise.
4573 * util/hostdisk.c: Likewise.
4574 * util/i386/efi/grub-mkimage.c: Likewise.
4575 * util/i386/pc/grub-mkimage.c: Likewise.
4576 * util/i386/pc/grub-setup.c: Likewise.
4577 * util/ieee1275/ofpath.c: Likewise.
4578 * util/mkisofs/eltorito.c: Likewise.
4579 * util/mkisofs/rock.c: Likewise.
4580 * util/mkisofs/write.c: Likewise.
4581 * util/raid.c: Likewise.
4582 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
4583 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4584
a0b766fc
VS
45852010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 Enable multiboot on non-pc.
4588
4589 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
4590 multiboot.mod and multiboot2.mod to ...
4591 * conf/i386.rmk (pkglib_MODULES): ... here.
4592 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
4593 Moved to ...
4594 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
4595 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
4596 Moved to ...
4597 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
4598 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
4599 Moved to ...
4600 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
4601 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
4602 Moved to ...
4603 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
4604 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
4605 relocator.mod.
4606 (ata_mod_SOURCES): Removed.
4607 (ata_mod_CFLAGS): Likewise.
4608 (ata_mod_LDFLAGS): Likewise.
4609 (relocator_mod_SOURCES): Removed.
4610 (relocator_mod_CFLAGS): Likewise.
4611 (relocator_mod_ASFLAGS): Likewise.
4612 (relocator_mod_LDFLAGS): Likewise.
4613 Include i386.mk.
4614 * include/grub/x86_64/multiboot.h: New file.
4615 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
4616 Terminate EFI.
4617
884ade56
VS
46182010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4619
4620 Video multiboot support.
4621
4622 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
4623 New prototype.
4624 * include/multiboot.h: Resynced with multiboot specification.
4625 * include/multiboot2.h: Likewise.
4626 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
4627 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
4628 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
4629 (HAS_VGA_TEXT): Likewise.
4630 (accepts_video): New variable.
4631 (grub_multiboot_set_accepts_video): New function.
4632 (grub_multiboot_get_mbi_size): Account for video structures.
4633 (set_video_mode): New function.
4634 (retrieve_video_parameters): Likewise.
4635 (grub_multiboot_make_mbi): Fill video fields.
4636
0d90e8a6
VS
46372010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 Video driver ids.
4640
4641 * include/grub/video.h (grub_video_driver_id): New type.
4642 (grub_video_adapter): New member 'id'. All users updated.
4643 (grub_video_get_driver_id): New proto.
4644 * video/video.c (grub_video_get_driver_id): New function.
4645
5c71db1b 46462010-01-14 Carles Pina i Estany <carles@pina.cat>
4647
4648 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
4649 `var=val'.
4650
cca15b52 46512010-01-14 Carles Pina i Estany <carles@pina.cat>
4652
4653 * normal/cmdline.c (print_completion): Gettextizze.
4654
c586fbb2 46552001-01-14 Carles Pina i Estany <carles@pina.cat>
4656
4657 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
4658
ba2f6848 46592010-01-14 Carles Pina i Estany <carles@pina.cat>
4660
4661 * gettext/gettext.c (grub_gettext_translate): Push and pop
4662 grub_errno.
4663 (grub_gettext_delete_list): Change comment style.
4664 * kern/err.c (grub_error): Gettextizze.
4665 (grub_fatal): Gettextizze.
4666
0a46429a
RM
46672010-01-14 Robert Millan <rmh.grub@aybabtu.com>
4668
4669 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
4670 (grub_linux16_real_boot): ... this.
4671 * kern/i386/loader.S: Likewise.
4672 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
4673 (grub_linux16_boot): New function. Switches to text mode and calls
4674 grub_linux16_real_boot().
4675
4676 * loader/i386/bsd.c: Include `<grub/video.h>'.
4677 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
4678 text mode before calling grub_unix_real_boot().
4679
4680 * loader/i386/multiboot.c: Include `<grub/video.h>'.
4681 (grub_multiboot_boot): Switch to text mode before calling
4682 grub_relocator32_boot().
4683
4684 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
4685 (grub_chainloader_boot): Switch to text mode before calling
4686 grub_chainloader_real_boot().
4687
d6f93a66
RM
46882010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
46892010-01-05 Colin Watson <cjwatson@ubuntu.com>
4690
4691 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
4692 non-empty value.
4693
46942010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
46952010-01-05 Colin Watson <cjwatson@ubuntu.com>
4696
4697 * util/grub.d/00_header.in: Define a "savedefault" function for use
4698 in menu entries.
4699 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
4700
47012010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
47022010-01-05 Colin Watson <cjwatson@ubuntu.com>
4703
4704 * util/grub-mkconfig_lib.in (save_default_entry): Only set
4705 saved_entry if boot_once is unset.
4706 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
4707 previous saved entry (i.e. grub-reboot).
4708
47092009-12-08 Colin Watson <cjwatson@ubuntu.com>
4710
4711 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
4712
47132009-12-08 Colin Watson <cjwatson@ubuntu.com>
4714
4715 * util/grub.d/00_header.in: Use `set var=val' rather than plain
4716 `var=val'.
4717 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
4718
47192009-12-08 Colin Watson <cjwatson@ubuntu.com>
4720
4721 * util/grub-reboot.in: Fix --version output.
4722 * util/grub-set-default.in: Likewise.
4723
47242009-12-08 Colin Watson <cjwatson@ubuntu.com>
4725
4726 * util/grub.d/00_header.in: Silently ignore zero-sized environment
4727 blocks.
4728
47292009-12-08 Colin Watson <cjwatson@ubuntu.com>
4730
4731 * util/grub.d/00_header.in: Quote the value assigned to `default',
4732 in case it contains spaces.
4733
47342009-12-08 Colin Watson <cjwatson@ubuntu.com>
4735
4736 * util/grub.d/30_os-prober.in: Fix merge error that moved a
4737 `save_default_entry' call from the macosx case to the linux case.
4738
47392009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
47402009-10-25 Colin Watson <cjwatson@ubuntu.com>
4741
4742 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
4743 in `chosen' environment variable.
4744 * normal/menu_text.c (get_entry_number): Check if the variable
4745 matches the title of a menu entry.
4746 (run_menu): Pass menu to get_entry_number.
4747
4748 * util/grub-reboot.in: New file.
4749 * util/grub-set-default.in: New file.
4750 * conf/common.rmk (grub-reboot): New utility.
4751 (grub-set-default): New utility.
4752
4753 * util/grub-mkconfig_lib.in (save_default_entry): New function.
4754 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
4755 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
4756 move it to `saved_entry' for the next boot. Load environment on
4757 initialisation.
4758 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
4759 * util/grub.d/10_hurd.in: Likewise.
4760 * util/grub.d/10_linux.in (linux_entry): Likewise.
4761 * util/grub.d/10_windows.in: Likewise.
4762 * util/grub.d/30_os-prober.in: Likewise.
4763
4764 * util/grub-install.in: Create environment block.
4765 * util/i386/efi/grub-install.in: Likewise.
4766 * util/ieee1275/grub-install.in: Likewise.
4767 * util/sparc64/ieee1275/grub-install.in: Likewise.
4768
0934d184
BC
47692010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
4770
4771 Unit testing framework for GRUB.
4772
4773 * Makefile.in: Test framework build rules for 'make check'.
4774 * conf/tests.rmk: Build rules for individual tests and framework.
4775
4776 * include/grub/test.h: Header file for whitebox tests.
4777 * tests/lib/functional_test.c: Framework support for whitebox
4778 functional tests.
4779 * tests/lib/test.c: Common whitebox testing code for unit and
4780 functional tests.
4781 * tests/lib/unit_test.c: Framework support for whitebox unit
4782 tests.
4783
4784 * tests/util/grub-shell-tester.in: Support utility for grub-script
4785 tests.
4786 * tests/util/grub-shell.in: Utility to execute grub-script
4787 commands in a Qemu instance.
4788
4789 * tests/example_functional_test.c: Example whitebox functional
4790 test.
4791 * tests/example_grub_script_test.in: Example grub-script test.
4792 * tests/example_scripted_test.in: Example scripted test.
4793 * tests/example_unit_test.c: Example whitebox unit test.
4794
9c4ffeeb
VS
47952010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
4798 Add loader/i386/multiboot_mbi.c.
4799 (multiboot2_mod_SOURCES): Likewise.
4800 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
4801 (multiboot2_mod_SOURCES): Likewise.
4802 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
4803 (grub_multiboot_make_mbi): Likewise.
4804 (grub_multiboot_free_mbi): Likewise.
4805 (grub_multiboot_init_mbi): Likewise.
4806 (grub_multiboot_add_module): Likewise.
4807 (grub_multiboot_set_bootdev): Likewise.
4808 * loader/i386/multiboot.c (mbi): Removed.
4809 (mbi_dest): Likewise.
4810 (alloc_mbi): New variable.
4811 (grub_multiboot_payload_size): Removed. All users updated.
4812 (grub_multiboot_pure_size): New variable.
4813 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
4814 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
4815 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
4816 (grub_fill_multiboot_mmap): Likewise.
4817 (grub_multiboot_get_bootdev): Likewise.
4818 (grub_multiboot): Use multiboot_mbi functions.
4819 * loader/i386/multiboot_mbi.c: New file.
4820
17383dfe
VS
48212010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
4824 it would result in module crash.
4825
c1f28820
VS
48262010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4827
4828 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
4829 (grub_ofconsole_getwh): Split to ...
4830 (grub_ofconsole_getwh): ... this.
4831 (grub_ofconsole_dimensions): ...and this.
4832 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
4833
58655a16
RM
48342010-01-13 Robert Millan <rmh.grub@aybabtu.com>
4835
4836 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
4837
10891398
VS
48382010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 * loader/i386/pc/multiboot2.c: Removed stalled file.
4841
0b8a223c
VS
48422010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
4845 Reported by: Grégoire Sutre
4846
92ab12b0
RM
48472010-01-11 Robert Millan <rmh.grub@aybabtu.com>
4848
4849 * util/misc.c (canonicalize_file_name): New function.
4850 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
4851 instead of realpath().
4852
a788afb6
CW
48532010-01-11 Colin Watson <cjwatson@ubuntu.com>
4854
4855 * util/grub-install.in (usage): Clarify meaning of --root-directory,
4856 and make it clearer that it's optional. Based on confusion
4857 witnessed on IRC.
4858
ffa8e3d2
VS
48592010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
4862 in premature implicit newline.
4863
e9060a9d
VS
48642010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4867 which resulted in garbled command line at the end of screen.
4868
f0d0c0b7
RM
48692010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4870
4871 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
4872 initialization with similar approach as with other Linux loaders.
4873
0e60bae7
RM
48742010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4875
4876 Fix i386-ieee1275 build.
4877
4878 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
4879 and grub_term_height() for video_{width,height} initialization.
4880
48812010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
4882
4883 Fix grub-emu build.
4884
4885 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
4886
cdb3f378
RM
48872010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
48882010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4889
4890 Support for multiple terminals.
4891
4892 * Makefile.in (pkglib_DATA): terminal.lst.
4893 (terminal.lst): New target.
4894 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
4895 (GRUB_MOD_INIT(handler)): Likewise.
4896 (GRUB_MOD_FINI(handler)): Likewise.
4897 * commands/help.c (grub_cmd_help): Handle multiple terminals.
4898 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
4899 * commands/sleep.c (do_print): Use grub_term_restore_pos.
4900 (grub_cmd_sleep): Use grub_term_save_pos.
4901 * commands/terminal.c: New file.
4902 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
4903 commands/terminal.c and lib/charset.c.
4904 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
4905 (pkglib_MODULES): Add terminal.mod.
4906 (terminal_mod_SOURCES): New variable.
4907 (terminal_mod_CFLAGS): Likewise.
4908 (terminal_mod_LDFLAGS): Likewise.
4909 * genhandlerlist.sh: Don't handle terminals.
4910 * genmk.rb: Generate terminal-*.lst.
4911 * genterminallist.sh: New file.
4912 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
4913 (grub_is_valid_utf8): Likewise.
4914 (grub_utf8_to_ucs4_alloc): Likewise.
4915 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
4916 (grub_menu_register_viewer): Changed argument.
4917 (grub_menu_try_text): New proto.
4918 (grub_gfxmenu_try_hook): New declaration.
4919 * include/grub/normal.h (grub_normal_exit_level): New declaration.
4920 (grub_menu_init_page): Additional argument term.
4921 (grub_normal_init_page): Likewise.
4922 (grub_cmdline_get): Arguments simplified.
4923 (grub_utf8_to_ucs4_alloc): Removed.
4924 (grub_print_ucs4): Additional argument term.
4925 (grub_getstringwidth): Likewise.
4926 (grub_print_message_indented): Likewise.
4927 (grub_menu_text_register_instances): New proto.
4928 (grub_show_menu): Likewise.
4929 (read_terminal_list): Likewise.
4930 (grub_set_more): Likewise.
4931 * include/grub/parser.h: Include handler.h.
4932 * include/grub/reader.h: Rewritten.
4933 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
4934 (GRUB_TERM_WIDTH): Changed to function.
4935 (GRUB_TERM_HEIGHT): Likewise.
4936 (GRUB_TERM_BORDER_WIDTH): Likewise.
4937 (GRUB_TERM_BORDER_HEIGHT): Likewise.
4938 (GRUB_TERM_NUM_ENTRIES): Likewise.
4939 (GRUB_TERM_ENTRY_WIDTH): Likewise.
4940 (GRUB_TERM_CURSOR_X): Likewise.
4941 (grub_term_input_class): Likewise.
4942 (grub_term_output_class): Likewise.
4943 (grub_term_outputs_disabled): New declaration.
4944 (grub_term_inputs_disabled): Likewise.
4945 (grub_term_outputs): Likewise.
4946 (grub_term_inputs): Likewise.
4947 (grub_term_register_input): Rewritten.
4948 (grub_term_register_output): Likewise.
4949 (grub_term_unregister_input): Likewise.
4950 (grub_term_unregister_output): Likewise.
4951 (FOR_ACTIVE_TERM_INPUTS): New macro.
4952 (FOR_DISABLED_TERM_INPUTS): Likewise.
4953 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
4954 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
4955 * include/grub/terminfo.h: Add oterm argument to all protypes.
4956 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
4957 Use grub_rescue_run.
4958 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
4959 All users updated.
4960 * kern/reader.c: Removed. All users updated.
4961 * kern/rescue_reader.c (grub_rescue_init): Removed.
4962 (grub_rescue_reader): Likewise.
4963 (grub_register_rescue_reader): Likewise.
4964 (grub_rescue_run): New function based on kern/reader.c.
4965 * kern/term.c: Adapted for multiterm.
4966 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
4967 (grub_is_valid_utf8): Likewise.
4968 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
4969 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
4970 right terminal.
4971 * loader/i386/linux.c (grub_linux_boot): Likewise.
4972 * normal/auth.c (grub_username_get): New function.
4973 (grub_auth_check_authentication): Use grub_username_get.
4974 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
4975 * normal/color.c: Adapt for multiterm.
4976 * normal/main.c (read_config_file): Don't use grub_reader_loop.
4977 (grub_normal_init_page): Additional argument term.
4978 (read_lists): Call read_terminal_lists.
4979 (grub_enter_normal_mode): Call grub_cmdline_run.
4980 Handle grub_normal_exit_level.
4981 (grub_cmd_normal): Make reentrant.
4982 (grub_cmd_normal_exit): New function.
4983 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
4984 * normal/menu.c: Adapt for multiterm.
4985 * normal/menu_entry.c: Likewise.
4986 * normal/menu_text.c: Likewise.
4987 * normal/menu_viewer.c: Removed. All users updated.
4988 * normal/term.c: New file.
4989 * util/console.c: Change order of includes to workaround a bug in
4990 ncurses headers.
4991 * term/terminfo.c: New argument oterm on all exported functions.
4992 All users updated.
4993 * util/grub-editenv.c (grub_term_input_class): Removed.
4994 (grub_term_output_class): Likewise.
4995
1a064917
RM
49962010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4997
4998 Make loader output a bit more user-friendly.
4999
5000 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
5001 is being loaded. Likewise for the Hurd.
5002
5003 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
5004 that kernel of FreeBSD ${version} is being loaded.
5005
5006 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
5007 grub_dprintf().
5008 (grub_cmd_initrd): Likewise.
5009 * util/grub.d/10_linux.in (linux_entry): Print message indicating
5010 that Linux ${version} is being loaded. Likewise for initrd.
5011
5ce0a83a 50122010-01-09 Carles Pina i Estany <carles@pina.cat>
5013
5014 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
5015
809bbfeb 50162010-01-08 Carles Pina i Estany <carles@pina.cat>
5017
5018 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
5019 (GRUB_MOD_INIT): Gettextizze.
5020 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
5021 (GRUB_MOD_INIT): Gettextizze.
5022 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
5023 (grub_cmd_linux): Capitalise Linux.
5024 (GRUB_MOD_INIT): Gettextizze.
5025 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
5026 (grub_cmd_linux): Capitalise Linux.
5027 (GRUB_MOD_INIT): Gettextizze.
5028 * loader/i386/linux.c: Include `<grub/i18n.h>'.
5029 (grub_cmd_linux): Capitalise Linux.
5030 (GRUB_MOD_INIT): Gettextizze.
5031 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
5032 (GRUB_MOD_INIT): Gettextizze.
5033 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
5034 (grub_cmd_linux): Capitalise Linux.
5035 (GRUB_MOD_INIT): Gettextizze.
5036 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
5037 (grub_cpu_xnu_init): Gettextizze.
5038 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
5039 (GRUB_MOD_INIT): Gettextizze.
5040 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
5041 (GRUB_MOD_INIT): Gettextizze.
5042 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
5043 (grub_linux_load64): Capitalise Linux.
5044 (GRUB_MOD_INIT): Gettextizze.
5045 * loader/xnu.c: Include `<grub/i18n.h>'.
5046 (GRUB_MOD_INIT): Gettextizze.
5047 * po/POTFILES: Add `loader/efi/appleloader.c',
5048 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
5049 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
5050 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
5051 `loader/i386/xnu.c', `loader/multiboot_loader.c',
5052 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
5053 and `loader/xnu.c'.
5054
b394b2ca
RM
50552010-01-08 Robert Millan <rmh.grub@aybabtu.com>
5056
5057 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
5058
50592010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
5060
5061 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
5062 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
5063 * util/mkisofs/mkisofs.c (main): Readjust --version output.
5064
bc8b32b3
RM
50652010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5066
5067 Reset Multiboot 2 support. New loader implements the draft in
5068 /branches/multiboot2 and shares as much code as possible with the
5069 production Multiboot 1 implementation.
5070
5071 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
5072 * loader/multiboot2.c: Likewise.
5073 * loader/i386/multiboot_helper.S: Likewise.
5074 * include/multiboot2.h: Replace with latest version from the draft
5075 in /branches/multiboot2.
5076
5077 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
5078 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
5079 and `loader/multiboot2.c'.
5080 (pkglib_MODULES): Add `multiboot2.mod'.
5081 (multiboot2_mod_SOURCES): New variable.
5082 (multiboot2_mod_LDFLAGS): Likewise.
5083 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
5084
5085 * conf/i386-pc.rmk: Likewise.
5086
5087 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
5088 (multiboot_mod_SOURCES): Remove variable.
5089 (multiboot_mod_LDFLAGS): Likewise.
5090 (multiboot_mod_CFLAGS): Likewise.
5091
5092 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
5093 `<multiboot2.h>' instead of `<multiboot.h>'.
5094 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
5095 (MULTIBOOT_HEADER_MAGIC): New macros.
5096
5097 * loader/multiboot_loader.c (module_version_status): Remove variable.
5098 (find_multi_boot2_header): Remove function.
5099 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
5100 logic. Always check for the Multiboot version we're compiling for.
5101 (grub_cmd_module_loader): Likewise.
5102 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
5103 command instead of `multiboot'.
5104
5d2c52b8
RM
51052010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5106
5107 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
5108 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
5109 all users.
5110
53108d92
RM
51112010-01-07 Robert Millan <rmh.grub@aybabtu.com>
51122010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 Fix breakage introduced with previous commit.
5115
5116 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
5117 commands.
5118 * normal/handler.c (read_handler_list): Revert part of previous commit
5119 affecting this file.
5120 * normal/main.c (read_lists): Move read_handler_list() call back to ...
5121 (grub_normal_execute): ... here.
5122
e2e936b2
RM
51232010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5124
5125 Merge prefix-redefinition-fix branch.
5126
5127 * normal/autofs.c (read_fs_list): Make function capable of being
5128 run multiple times, gracefuly replacing the previous data
5129 structures.
5130 * normal/dyncmd.c (read_command_list): Likewise.
5131 * normal/handler.c (read_handler_list): Likewise.
5132 * normal/main.c (read_lists): New function. Calls all the
5133 list reading functions.
5134 (grub_normal_execute): Use read_lists() instead of calling all
5135 list reading functions explicitly. Register read_lists() as a
5136 variable hook attached to ${prefix}.
5137
607a3701
VS
51382010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 Merge crypto branch.
5141
5142 * Makefile.in (pkglib_DATA): Add crypto.lst.
5143 (crypto.lst): New target.
5144 * commands/hashsum.c: New file.
5145 * commands/password.c (check_password): Use grub_crypto_memcmp.
5146 * commands/password_pbkdf2.c: New file.
5147 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
5148 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
5149 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
5150 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
5151 -I$(srcdir)/lib/libgcrypt_wrap.
5152 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
5153 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
5154 password_pbkdf2.mod.
5155 (crypto_mod_SOURCES): New variable.
5156 (crypto_mod_CFLAGS): Likewise.
5157 (crypto_mod_LDFLAGS): Likewise.
5158 (hashsum_mod_SOURCES): New variable.
5159 (hashsum_mod_CFLAGS): Likewise.
5160 (hashsum_mod_LDFLAGS): Likewise.
5161 (pbkdf2_mod_SOURCES): New variable.
5162 (pbkdf2_mod_CFLAGS): Likewise.
5163 (pbkdf2_mod_LDFLAGS): Likewise.
5164 (password_pbkdf2_mod_SOURCES): New variable.
5165 (password_pbkdf2_mod_CFLAGS): Likewise.
5166 (password_pbkdf2_mod_LDFLAGS): Likewise.
5167 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
5168 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
5169 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
5170 Include conf/gcry.rmk.
5171 * include/grub/auth.h: Rewritten.
5172 * include/grub/crypto.h: New file.
5173 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
5174 * include/grub/normal.h (read_crypto_list): New prototype.
5175 * lib/crypto.c: New file.
5176 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
5177 * lib/pbkdf2.c: Likewise.
5178 * normal/auth.c (grub_auth_strcmp): Removed.
5179 (grub_iswordseparator): Likewise.
5180 (grub_auth_strword): Likewise.
5181 (is_authenticated): Use grub_strword.
5182 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
5183 and grub_strword. Pass entered password to authentication callback.
5184 * normal/crypto.c: New file.
5185 * normal/main.c: Call read_crypto_list.
5186 * util/grub-mkpasswd-pbkdf2.c: New file.
5187 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
5188
42841caa
VS
51892010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 Fix descent and ascent calculation.
5192
5193 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
5194 (options): New option "asce".
5195 (usage): Likewise.
5196 (add_char): Ignore invalid glyphs for descent calculation.
5197 Calculate ascent from actual content.
5198 (print_glyphs): Use 'asce'.
5199 (write_font): Likewise. Allow ascent override.
5200 (main): Handle "asce" option.
5201
e7730de7 52022010-01-06 Carles Pina i Estany <carles@pina.cat>
5203
5204 * kern/err.c: Include `<grub/i18n.h>'.
5205 (grub_print_error): Add full stop. Gettextizze.
5206 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
5207 (grub_bsd_load_elf): Capitalise ELF.
5208 (grub_cmd_freebsd_loadenv): Add `s' in error string.
5209 (grub_cmd_freebsd_module): Likewise.
5210 (grub_cmd_freebsd_module_elf): Likewise.
5211 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
5212
40e3a41f 52132010-01-06 Carles Pina i Estany <carles@pina.cat>
5214
5215 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
5216 * commands/search_file.c (HELP_MESSAGE): New macro.
5217 * commands/search_label.c (HELP_MESSAGE): Likewise.
5218 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
5219 * po/POTFILES: Add `commands/search_file.c',
5220 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
5221 `commands/search.c'.
5222
83507e68
RM
52232010-01-05 Robert Millan <rmh.grub@aybabtu.com>
5224
5225 * config.rpath: Update from Gnulib.
5226
465c787b
YB
52272010-01-05 Yves Blusseau <blusseau@zetam.org>
5228
5229 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
5230
6581dd3a
YB
52312010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
5232
5233 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
5234
3bff18c5
CW
52352010-01-05 Colin Watson <cjwatson@ubuntu.com>
5236
5237 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
5238 arguments to fread so that we get a return value in bytes, rather
5239 than something that will normally be rounded down to 0.
5240 Adjust error handling to avoid producing garbage when size_t is not
5241 the same size as long long.
5242
a1368118
CW
52432010-01-05 Colin Watson <cjwatson@ubuntu.com>
5244
5245 * util/mkisofs/write.c (padblock_write): Check return value of
5246 fread.
5247
7c302978
RM
52482010-01-05 Robert Millan <rmh.grub@aybabtu.com>
5249
5250 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
5251 floppy images now.
5252
5253 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
5254
e33ace06
RM
52552010-01-04 Robert Millan <rmh.grub@aybabtu.com>
5256
5257 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
5258 instead of manual alignment.
5259 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
5260 verbose). Avoid attempts to read past end of the device
5261 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
5262 but GRUB_DISK_CACHE_SIZE may exceed that).
5263
4b856776
RM
52642010-01-04 Robert Millan <rmh.grub@aybabtu.com>
5265
5266 * commands/crc.c (grub_cmd_crc): Abort on read errors.
5267 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
5268 it to upper layer.
5269
52c2d97f
VS
52702010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
5273 New constant.
5274 (grub_efi_piwg_device_path): New structure
5275 (grub_efi_piwg_device_path_t): New type.
5276 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
5277 (devpath_1): Transform to a structure. All users updated.
5278 (devpath_2): Likewise.
5279 (devpath_3): Likewise.
5280 (devpath_4): Likewise.
5281 (devpath_5): Likewise.
5282
98ff6a54
VS
52832010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * loader/efi/appleloader.c: Restored. Update all users.
5286
3a73dcb6
RM
52872010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5288
5289 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
5290
5291 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
5292 (struct boot_blocklist): Move from here ...
5293 * include/grub/i386/pc/boot.h [ASM_FILE]
5294 (struct grub_boot_blocklist): ... to here. Update all users.
5295 (setup): Only initialize `start' member of `first_block'
5296 structure. Add assert() calls to verify the other members.
5297
5298 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
5299 (generate_image): Fix broken blocklist length initialization.
5300 Add assert() call to verify blocklist `segment' field.
5301
ab0eeb0c
RM
53022010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5303
5304 * loader/efi/appleloader.c: Remove. Update all users.
5305
58bc8bd5
RM
53062010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5307
5308 * boot/i386/pc/boot.S: Update copyright year.
5309 * boot/i386/pc/cdboot.S: Likewise.
5310 * boot/i386/pc/diskboot.S: Likewise.
5311 * boot/i386/pc/lnxboot.S: Likewise.
5312 * boot/i386/pc/pxeboot.S: Likewise.
5313 * bus/pci.c: Likewise.
5314 * commands/cmp.c: Likewise.
5315 * commands/help.c: Likewise.
5316 * commands/hexdump.c: Likewise.
5317 * commands/i386/pc/halt.c: Likewise.
5318 * commands/i386/pc/play.c: Likewise.
5319 * commands/i386/pc/vbeinfo.c: Likewise.
5320 * commands/ls.c: Likewise.
5321 * commands/test.c: Likewise.
5322 * disk/dmraid_nvidia.c: Likewise.
5323 * disk/i386/pc/biosdisk.c: Likewise.
5324 * disk/ieee1275/nand.c: Likewise.
5325 * disk/ieee1275/ofdisk.c: Likewise.
5326 * disk/lvm.c: Likewise.
5327 * disk/raid.c: Likewise.
5328 * disk/raid6_recover.c: Likewise.
5329 * disk/scsi.c: Likewise.
5330 * fs/affs.c: Likewise.
5331 * fs/cpio.c: Likewise.
5332 * fs/ext2.c: Likewise.
5333 * fs/hfs.c: Likewise.
5334 * fs/iso9660.c: Likewise.
5335 * fs/ntfs.c: Likewise.
5336 * fs/sfs.c: Likewise.
5337 * fs/udf.c: Likewise.
5338 * fs/ufs.c: Likewise.
5339 * fs/xfs.c: Likewise.
5340 * gencmdlist.sh: Likewise.
5341 * genmk.rb: Likewise.
5342 * include/grub/disk.h: Likewise.
5343 * include/grub/efi/api.h: Likewise.
5344 * include/grub/efi/efi.h: Likewise.
5345 * include/grub/efi/pe32.h: Likewise.
5346 * include/grub/elf.h: Likewise.
5347 * include/grub/fs.h: Likewise.
5348 * include/grub/i386/at_keyboard.h: Likewise.
5349 * include/grub/i386/pc/memory.h: Likewise.
5350 * include/grub/i386/pc/vbe.h: Likewise.
5351 * include/grub/i386/pci.h: Likewise.
5352 * include/grub/i386/tsc.h: Likewise.
5353 * include/grub/ieee1275/ieee1275.h: Likewise.
5354 * include/grub/ntfs.h: Likewise.
5355 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
5356 * include/grub/sparc64/libgcc.h: Likewise.
5357 * include/grub/symbol.h: Likewise.
5358 * include/grub/types.h: Likewise.
5359 * include/multiboot2.h: Likewise.
5360 * io/gzio.c: Likewise.
5361 * kern/device.c: Likewise.
5362 * kern/disk.c: Likewise.
5363 * kern/efi/efi.c: Likewise.
5364 * kern/efi/mm.c: Likewise.
5365 * kern/elf.c: Likewise.
5366 * kern/file.c: Likewise.
5367 * kern/i386/dl.c: Likewise.
5368 * kern/i386/pc/init.c: Likewise.
5369 * kern/i386/pc/startup.S: Likewise.
5370 * kern/ieee1275/ieee1275.c: Likewise.
5371 * kern/ieee1275/init.c: Likewise.
5372 * kern/main.c: Likewise.
5373 * kern/mm.c: Likewise.
5374 * kern/powerpc/dl.c: Likewise.
5375 * kern/sparc64/dl.c: Likewise.
5376 * kern/x86_64/dl.c: Likewise.
5377 * lib/hexdump.c: Likewise.
5378 * loader/efi/appleloader.c: Likewise.
5379 * loader/i386/ieee1275/linux.c: Likewise.
5380 * loader/i386/pc/chainloader.c: Likewise.
5381 * loader/i386/pc/linux.c: Likewise.
5382 * loader/i386/pc/multiboot2.c: Likewise.
5383 * loader/ieee1275/multiboot2.c: Likewise.
5384 * loader/multiboot2.c: Likewise.
5385 * loader/multiboot_loader.c: Likewise.
5386 * loader/powerpc/ieee1275/linux.c: Likewise.
5387 * normal/completion.c: Likewise.
5388 * normal/menu_entry.c: Likewise.
5389 * partmap/apple.c: Likewise.
5390 * util/grub.d/10_hurd.in: Likewise.
5391 * util/hostfs.c: Likewise.
5392 * video/readers/png.c: Likewise.
5393
e2d70b5c
CW
53942010-01-03 Colin Watson <cjwatson@ubuntu.com>
5395
5396 * include/grub/misc.h (GNUC_PREREQ): New macro.
5397 (ATTRIBUTE_ERROR): New macro.
5398 * include/grub/list.h (grub_bad_type_cast_real): Use
5399 ATTRIBUTE_ERROR.
5400
a173283f 54012010-01-03 Carles Pina i Estany <carles@pina.cat>
5402
5403 * normal/menu_text.c (print_message): Change messages.
5404
7fa7ff74 54052010-01-03 Carles Pina i Estany <carles@pina.cat>
5406
5407 * normal/menu_entry.c (store_completion): Gettextizze.
5408
136d24f6 54092010-01-03 Carles Pina i Estany <carles@pina.cat>
5410
5411 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
5412
f936862e 54132010-01-03 Carles Pina i Estany <carles@pina.cat>
5414
5415 * po/POTFILES: Sort correctly.
5416
29c44ad1 54172010-01-03 Carles Pina i Estany <carles@pina.cat>
5418
5419 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
5420 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
5421 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
5422 full stop.
5423 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
5424 summary. Gettextizze the strings.
5425 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
5426 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
5427 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
5428 full stop.
5429 (GRUB_MOD_INIT): Remove command name from summary.
5430 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
5431 summary.
5432 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
5433 * term/i386/pc/serial.c (options): Add full stops.
5434 (GRUB_MOD_INIT): Remove command name from the summary.
5435
77a79592 54362010-01-03 Carles Pina i Estany <carles@pina.cat>
5437
5438 * commands/acpi.c: Gettextizze help strings and/or options. Include
5439 `grub/i18n.h' if needed.
5440 * commands/blocklist.c: Likewise.
5441 * commands/boot.c: Likewise.
5442 * commands/cat.c: Likewise.
5443 * commands/cmp.c: Likewise.
5444 * commands/configfile.c: Likewise.
5445 * commands/crc.c: Likewise.
5446 * commands/date.c: Likewise.
5447 * commands/echo.c: Likewise.
5448 * commands/efi/fixvideo.c: Likewise.
5449 * commands/efi/loadbios.c: Likewise.
5450 * commands/gptsync.c: Likewise.
5451 * commands/halt.c: Likewise.
5452 * commands/handler.c: Likewise.
5453 * commands/hdparm.c: Likewise.
5454 * commands/hexdump.c: Likewise.
5455 * commands/i386/cpuid.c: Likewise.
5456 * commands/i386/pc/drivemap.c: Likewise.
5457 * commands/i386/pc/halt.c: Likewise.
5458 * commands/i386/pc/pxecmd.c: Likewise.
5459 * commands/i386/pc/vbeinfo.c: Likewise.
5460 * commands/i386/pc/vbetest.c: Likewise.
5461 * commands/ieee1275/suspend.c: Likewise.
5462 * commands/keystatus.c: Likewise.
5463 * commands/loadenv.c: Likewise.
5464 * commands/ls.c: Likewise.
5465 * commands/lsmmap.c: Likewise.
5466 * commands/lspci.c: Likewise.
5467 * commands/memrw.c: Likewise.
5468 * commands/minicmd.c: Likewise.
5469 * commands/parttool.c: Likewise.
5470 * commands/password.c: Likewise.
5471 * commands/probe.c: Likewise.
5472 * commands/read.c: Likewise.
5473 * commands/reboot.c: Likewise.
5474 * commands/search.c: Likewise.
5475 * commands/sleep.c: Likewise.
5476 * commands/test.c: Likewise.
5477 * commands/true.c: Likewise.
5478 * commands/usbtest.c: Likewise.
5479 * commands/videotest.c: Likewise.
5480 * commands/xnu_uuid.c: Likewise.
5481 * disk/loopback.c: Likewise.
5482 * hello/hello.c: Likewise.
5483 * loader/i386/bsd.c: Likewise.
5484 * term/i386/pc/serial.c: Likewise.
5485 * po/POTFILES: Add new files.
5486
da8d5c53
CW
54872010-01-02 Colin Watson <cjwatson@ubuntu.com>
5488
5489 * term/i386/pc/at_keyboard.c
5490 (keyboard_controller_wait_untill_ready): Rename to ...
5491 (keyboard_controller_wait_until_ready): ... this. Update all users.
5492
33937904 54932010-01-01 Carles Pina i Estany <carles@pina.cat>
5494
5495 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
5496 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
5497 string using string width.
5498 * normal/menu_text.c (grub_print_message_indented): Use
5499 grub_print_spaces and not print_spaces.
5500 (print_timeout): Likewise.
5501 (print_spaces): Move to...
5502 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
5503
3fd3b8d8
RM
55042010-01-01 Robert Millan <rmh.grub@aybabtu.com>
5505
5506 Import from Gnulib.
5507
5508 * gnulib/getdelim.c: New file.
5509 * gnulib/getline.c: Likewise.
5510
33433555
VS
55112009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
5512
5513 * include/grub/list.h (grub_assert_fail): Removed.
5514 (grub_bad_type_cast_real): New function.
5515 (grub_bad_type_cast): New macro.
5516 (GRUB_AS_LIST): Use grub_bad_type_cast.
5517 (GRUB_AS_LIST_P): Likewise.
e44721e8 5518 (GRUB_AS_NAMED_LIST): Likewise.
33433555 5519 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 5520 (GRUB_AS_PRIO_LIST): Likewise.
33433555 5521 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 5522 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 5523
f5a51306
VS
55242009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
5527 Fix syntax error.
5528
90d1e879
RM
55292009-12-29 Robert Millan <rmh.grub@aybabtu.com>
5530
5531 * configure.ac: Check for TARGET_CFLAGS initialization before we
5532 initialize it ourselves (sigh).
5533 Move a few modifications to TARGET_CFLAGS to be unconditional
5534 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
5535 eh_frame)
5536
5537 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
5538 * term/i386/pc/at_keyboard.c
5539 (keyboard_controller_wait_untill_ready): Likewise.
5540 (keyboard_controller_led): Rename `led_status' paramter to avoid
5541 name conflict.
5542
465b5a81 55432009-12-28 Carles Pina i Estany <carles@pina.cat>
5544
5545 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
5546 quotes.
5547
c181849b
VS
55482009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
5551
9c8739a4
VS
55522009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 * normal/menu_text.c (grub_print_message_indented): Prevent
5555 past-the-end-of-array dereference.
5556
3e74249c
VS
55572009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
5560 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
5561
64fd18ed 55622009-12-27 Carles Pina i Estany <carles@pina.cat>
5563
5564 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
5565 * normal/main.c (grub_normal_read_line): Remove a space from the
5566 default prompt.
5567
714af9b9 55682009-12-27 Carles Pina i Estany <carles@pina.cat>
5569
5570 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
5571 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5572 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
5573 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
5574 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5575 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5576 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5577
82f3e412 55782009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 5579
5580 * video/readers/jpeg.c (cmd): Declare.
5581 (grub_cmd_jpegtest): Use `grub_command_t' type.
5582 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5583 Assign to `cmd'.
5584 (GRUB_MOD_FINI): Use `cmd' to unregister.
5585 * video/readers/png.c (cmd): Declare.
5586 (grub_cmd_pngtest): Use `grub_command_t' type.
5587 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5588 Assign to `cmd'.
5589 (GRUB_MOD_FINI): Use `cmd' to unregister.
5590 * video/readers/tga.c (cmd): Declare.
5591 (grub_cmd_tgatest): Use `grub_command_t' type.
5592 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5593 Assign to `cmd'.
5594 (GRUB_MOD_FINI): Use `cmd' to unregister.
5595
82f3e412 55962009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 5597
5598 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
5599 stops.
5600 * kern/corecmd.c (grub_register_core_commands): Likewise.
5601 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
5602 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
5603 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
5604 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5605 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
5606 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
5607 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
5608 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
5609 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5610 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5611 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5612 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
5613 * normal/handler.c (insert_handler): Likewise.
5614 * normal/main.c (GRUB_MOD_INIT): Likewise.
5615 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
5616
fdcdbb66 56172009-12-26 Carles Pina i Estany <carles@pina.cat>
5618
5619 * commands/help.c (grub_cmd_help): Print the command name before the
5620 summary.
5621 (GRUB_MOD_INIT): Remove command name from the summary.
5622 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 5623 string as summary.
fdcdbb66 5624 * lib/arg.c (find_long): Print the command name before the summary.
5625 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
5626 summary.
5627 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
5628 * commands/cat.c (GRUB_MOD_INIT): Likewise.
5629 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
5630 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
5631 * commands/crc.c (GRUB_MOD_INIT): Likewise.
5632 * commands/date.c (GRUB_MOD_INIT): Likewise.
5633 * commands/echo.c (GRUB_MOD_INIT): Likewise.
5634 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
5635 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
5636 * commands/handler.c (GRUB_MOD_INIT): Likewise.
5637 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
5638 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
5639 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
5640 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
5641 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
5642 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
5643 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
5644 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
5645 * commands/ls.c (GRUB_MOD_INIT): Likewise.
5646 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
5647 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
5648 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
5649 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
5650 * commands/password.c (GRUB_MOD_INIT): Likewise.
5651 * commands/probe.c (GRUB_MOD_INIT): Likewise.
5652 * commands/read.c (GRUB_MOD_INIT): Likewise.
5653 * commands/search.c (GRUB_MOD_INIT): Likewise.
5654 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
5655 * commands/test.c (GRUB_MOD_INIT): Likewise.
5656 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
5657 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
5658 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
5659 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
5660 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
5661 * lib/arg.c (GRUB_MOD_INIT): Likewise.
5662 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
5663 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
5664 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5665 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
5666 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
5667 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
5668 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
5669 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
5670
9c288be2
VS
56712009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5672
5673 Use search command for preliminar UUID search.
5674
5675 * commands/search.c: Split into ...
5676 * commands/search_wrap.c: ...this
5677 * commands/search.c: ...and this.
5678 * commands/search_file.c: New file.
5679 * commands/search_label.c: New file.
5680 * commands/search_uuid.c: New file.
5681 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
5682 Add commands/search_wrap.c, commands/search_file.c,
5683 commands/search_label.c and commands/search_uuid.c.
5684 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
5685 (search_mod_SOURCES): Set to commands/search_wrap.c.
5686 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
5687 search_label.mod.
5688 (search_fs_file_mod_SOURCES): New variable.
5689 (search_fs_file_mod_CFLAGS): Likewise.
5690 (search_fs_file_mod_LDFLAGS): Likewise.
5691 (search_label_mod_SOURCES): Likewise.
5692 (search_label_mod_CFLAGS): Likewise.
5693 (search_label_mod_LDFLAGS): Likewise.
5694 (search_fs_uuid_mod_SOURCES): New variable.
5695 (search_fs_uuid_mod_CFLAGS): Likewise.
5696 (search_fs_uuid_mod_LDFLAGS): Likewise.
5697 (fs_file_mod_SOURCES): Removed.
5698 (fs_file_mod_CFLAGS): Likewise.
5699 (fs_file_mod_LDFLAGS): Likewise.
5700 (fs_uuid_mod_SOURCES): Removed.
5701 (fs_uuid_mod_CFLAGS): Likewise.
5702 (fs_uuid_mod_LDFLAGS): Likewise.
5703 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
5704 Set to util/grub-install.in.
5705 * disk/fs_file.c: Removed.
5706 * disk/fs_uuid.c: Likewise.
5707 * include/grub/search.h: New file.
5708 * util/grub-install.in: Handle sparc64.
5709 Create and use load.cfg.
5710 * util/sparc64/ieee1275/grub-install.in: Removed.
5711
db943399
VS
57122009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
5715 Ignore return status if CF is cleared.
5716 (grub_biosdisk_get_diskinfo_standard): Likewise.
5717
3fdae612
RM
57182009-12-25 Robert Millan <rmh.grub@aybabtu.com>
5719
5720 * term/i386/pc/at_keyboard.c
5721 (keyboard_controller_wait_untill_ready): New function.
5722 (grub_keyboard_controller_write, grub_keyboard_controller_read)
5723 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
5724 for keyboard polling, rather than duplicate the same loop. This
5725 saves a few bytes in code size.
5726
7ebaa2b4
VS
57272009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 Support for (pxe[:server[:gateway]]) syntax and
5730 use environment variable for PXE.
5731
5732 * commands/i386/pc/pxecmd.c (options): Removed.
5733 (print_ip): Removed.
5734 (grub_cmd_pxe): Removed
5735 (grub_cmd_pxe_unload): New function.
5736 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
5737 (grub_pxe_your_ip): Made static.
5738 (grub_pxe_default_server_ip): Likewise.
5739 (grub_pxe_default_gateway_ip): Likewise.
5740 (grub_pxe_blksize): Likewise.
5741 (parse_ip): New function.
5742 (grub_pxe_open): Support server and gateway specification.
5743 (grub_pxe_close): Free disk->data.
5744 (grub_pxefs_open): Use disk->data.
5745 (grub_pxefs_read): Likewise.
5746 (grub_env_write_readonly): New function.
5747 (set_mac_env): Likewise.
5748 (set_env_limn_ro): Likewise.
5749 (parse_dhcp_vendor): Likewise.
5750 (grub_pxe_detect): Set the environment variables.
5751 (set_ip_env): New function.
5752 (write_ip_env): Likewise.
5753 (grub_env_write_pxe_default_server): Likewise.
5754 (grub_env_write_pxe_default_gateway): Likewise.
5755 (grub_env_write_pxe_blocksize): Likewise.
5756 (GRUB_MOD_INIT(pxe)): Set environment variables.
5757 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
5758 (grub_pxe_mac_addr_t): ... this. All users updated.
5759 (grub_pxe_your_ip): Removed.
5760 (grub_pxe_server_ip): Likewise.
5761 (grub_pxe_gateway_ip): Likewise.
5762 (grub_pxe_blksize): Likewise.
5763
ec5f98ab 57642009-12-25 Carles Pina i Estany <carles@pina.cat>
5765
5766 * commands/help.c: Include `<grub/i18n.h>'.
5767 (grub_cmd_help): Gettextizze.
5768 (GRUB_MOD_INIT): Likewise.
5769 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
5770 (GRUB_MOD_INIT): Gettextizze.
5771 * commands/search.c: Include `<grub/i18n.h>'.
5772 (options): Gettextizze.
5773 (GRUB_MOD_INIT): Gettextizze.
5774 * lib/arg.c: Include `<grub/i18n.h>'.
5775 (help_options): Gettextizze.
5776 (find_long): Likewise.
5777 (grub_arg_show_help): Likewise.
5778 * normal/dyncmd.c: Include `<grub/i18n.h>'.
5779 (read_command_list): Gettextizze.
5780 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 5781 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 5782
22815526
RM
57832009-12-25 Robert Millan <rmh.grub@aybabtu.com>
5784
5785 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
5786 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
5787 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
5788 (led_status): New variable.
5789 (keyboard_controller_led): New function.
5790 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
5791 update led status for caps lock, num lock and scroll lock.
5792
0ad46fd7
FZ
57932009-12-25 Felix Zielcke <fzielcke@z-51.de>
5794
5795 * util/hostdisk.c (open_device): Fix a comment.
5796
d0e158c2
RM
57972009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5798
5799 * util/grub-install.in (host_os): New variable.
5800 * util/i386/efi/grub-install.in (host_os): Likewise.
5801
401c0ad6
RM
58022009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5803
5804 * util/mkisofs/write.c (padblock_write): Abort when given an
5805 excedingly large embed image, instead of silently truncating it.
5806
d14d3370
RM
58072009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5808
5809 * include/multiboot.h: Indentation fixes.
5810
eeed10b4
RM
58112009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5812
5813 * include/multiboot.h (struct multiboot_aout_symbol_table)
5814 (struct multiboot_elf_section_header_table): New structure
5815 declarations (stolen from GRUB Legacy).
5816 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
5817 table information.
5818
5819 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
5820 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
5821 type aliases.
5822
681c70ab
RM
58232009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5824
5825 * include/multiboot.h: Make comments src2texi-friendly.
5826
e4d47d8d
RM
58272009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5828
5829 For consistency with [multiboot]/docs/boot.S.
5830
5831 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
5832 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
5833 (MULTIBOOT_MAGIC2): Rename from this ...
5834 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
5835
a0b70bda
RM
58362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5837
5838 * include/multiboot.h: Remove `<grub/types.h>'.
5839 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
5840 types. Update all users.
5841
61ba42be 58422009-12-25 Carles Pina i Estany <carles@pina.cat>
5843
5844 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
5845 `couldn't' and `can not' by `cannot'.
5846 * commands/i386/pc/drivemap.c: Likewise.
5847 * disk/ata.c: Likewise.
5848 * disk/ieee1275/nand.c: Likewise.
5849 * fs/affs.c: Likewise.
5850 * fs/fat.c: Likewise.
5851 * fs/hfs.c: Likewise.
5852 * fs/hfsplus.c: Likewise.
5853 * fs/iso9660.c: Likewise.
5854 * fs/jfs.c: Likewise.
5855 * fs/minix.c: Likewise.
5856 * fs/reiserfs.c: Likewise.
5857 * fs/sfs.c: Likewise.
5858 * fs/udf.c: Likewise.
5859 * fs/ufs.c: Likewise.
5860 * fs/xfs.c: Likewise.
5861 * loader/powerpc/ieee1275/linux.c: Likewise.
5862 * loader/sparc64/ieee1275/linux.c: Likewise.
5863 * util/grub-probe.c: Likewise.
5864 * util/misc.c: Likewise.
5865
7fd0baee 58662009-12-24 Carles Pina i Estany <carles@pina.cat>
5867
5868 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
5869 grub_errno calls.
5870 * commands/acpi.c: Likewise.
5871 * commands/blocklist.c: Likewise.
5872 * commands/efi/loadbios.c: Likewise.
5873 * commands/i386/pc/drivemap.c: Likewise.
5874 * commands/loadenv.c: Likewise.
5875 * commands/memrw.c: Likewise.
5876 * commands/password.c: Likewise.
5877 * commands/videotest.c: Likewise.
5878 * disk/ata.c: Likewise.
5879 * disk/ata_pthru.c: Likewise.
5880 * disk/dmraid_nvidia.c: Likewise.
5881 * disk/ieee1275/nand.c: Likewise.
5882 * disk/ieee1275/ofdisk.c: Likewise.
5883 * disk/loopback.c: Likewise.
5884 * disk/lvm.c: Likewise.
5885 * disk/mdraid_linux.c: Likewise.
5886 * disk/raid.c: Likewise.
5887 * disk/raid6_recover.c: Likewise.
5888 * disk/scsi.c: Likewise.
5889 * efiemu/main.c: Likewise.
5890 * efiemu/mm.c: Likewise.
5891 * efiemu/pnvram.c: Likewise.
5892 * efiemu/symbols.c: Likewise.
5893 * font/font.c: Likewise.
5894 * fs/cpio.c: Likewise.
5895 * fs/hfsplus.c: Likewise.
5896 * fs/iso9660.c: Likewise.
5897 * fs/jfs.c: Likewise.
5898 * fs/minix.c: Likewise.
5899 * fs/ntfs.c: Likewise.
5900 * fs/ntfscomp.c: Likewise.
5901 * fs/reiserfs.c: Likewise.
5902 * fs/ufs.c: Likewise.
5903 * fs/xfs.c: Likewise.
5904 * gettext/gettext.c: Likewise.
5905 * include/grub/auth.h: Likewise.
5906 * kern/elf.c: Likewise.
5907 * kern/file.c: Likewise.
5908 * kern/ieee1275/init.c: Likewise.
5909 * kern/ieee1275/mmap.c: Likewise.
5910 * kern/ieee1275/openfw.c: Likewise.
5911 * kern/powerpc/dl.c: Likewise.
5912 * kern/sparc64/dl.c: Likewise.
5913 * lib/arg.c: Likewise.
5914 * loader/i386/bsd.c: Likewise.
5915 * loader/i386/bsdXX.c: Likewise.
5916 * loader/i386/efi/linux.c: Likewise.
5917 * loader/i386/efi/xnu.c: Likewise.
5918 * loader/i386/ieee1275/linux.c: Likewise.
5919 * loader/i386/linux.c: Likewise.
5920 * loader/i386/multiboot.c: Likewise.
5921 * loader/i386/pc/linux.c: Likewise.
5922 * loader/i386/pc/multiboot2.c: Likewise.
5923 * loader/i386/xnu.c: Likewise.
5924 * loader/ieee1275/multiboot2.c: Likewise.
5925 * loader/macho.c: Likewise.
5926 * loader/machoXX.c: Likewise.
5927 * loader/multiboot2.c: Likewise.
5928 * loader/multiboot_loader.c: Likewise.
5929 * loader/powerpc/ieee1275/linux.c: Likewise.
5930 * loader/sparc64/ieee1275/linux.c: Likewise.
5931 * loader/xnu.c: Likewise.
5932 * loader/xnu_resume.c: Likewise.
5933 * mmap/i386/pc/mmap.c: Likewise.
5934 * normal/menu_viewer.c: Likewise.
5935 * partmap/acorn.c: Likewise.
5936 * partmap/amiga.c: Likewise.
5937 * partmap/apple.c: Likewise.
5938 * script/lexer.c: Likewise.
5939 * term/gfxterm.c: Likewise.
5940 * term/i386/pc/serial.c: Likewise.
5941 * term/i386/pc/vga.c: Likewise.
5942 * term/ieee1275/ofconsole.c: Likewise.
5943 * term/terminfo.c: Likewise.
5944 * video/bitmap.c: Likewise.
5945 * video/efi_gop.c: Likewise.
5946 * video/efi_uga.c: Likewise.
5947 * video/fb/video_fb.c: Likewise.
5948 * video/i386/pc/vbe.c: Likewise.
5949 * video/readers/tga.c: Likewise.
5950 * video/video.c: Likewise.
5951
0ad46fd7 59522009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
5953
5954 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
5955 * commands/lspci.c: Likewise.
5956 * commands/probe.c: Likewise.
5957 * commands/xnu_uuid.c: Likewise.
5958 * conf/i386-coreboot.rmk: Likewise.
5959 * conf/i386-efi.rmk: Likewise.
5960 * conf/i386-ieee1275.rmk: Likewise.
5961 * conf/i386-pc.rmk: Likewise.
5962 * conf/powerpc-ieee1275.rmk: Likewise.
5963 * conf/sparc64-ieee1275.rmk: Likewise.
5964 * conf/x86_64-efi.rmk: Likewise.
5965 * fs/i386/pc/pxe.c: Likewise.
5966 * gettext/gettext.c: Likewise.
5967 * include/grub/efi/graphics_output.h: Likewise.
5968 * include/grub/i386/pc/memory.h: Likewise.
5969 * kern/env.c: Likewise.
5970 * kern/i386/qemu/startup.S: Likewise.
5971 * lib/i386/pc/biosnum.c: Likewise.
5972 * lib/i386/relocator.c: Likewise.
5973 * lib/i386/relocator_asm.S: Likewise.
5974 * lib/relocator.c: Likewise.
5975 * loader/i386/bsd.c: Likewise.
5976 * loader/i386/multiboot.c: Likewise.
5977 * loader/i386/pc/chainloader.c: Likewise.
5978 * loader/i386/xnu.c: Likewise.
5979 * loader/xnu.c: Likewise.
5980 * normal/main.c: Likewise.
5981 * normal/menu_text.c: Likewise.
5982 * util/getroot.c: Likewise.
5983 * util/grub-mkconfig_lib.in: Likewise.
5984 * util/grub.d/00_header.in: Likewise.
5985 * util/i386/pc/grub-mkimage.c: Likewise.
5986 * util/mkisofs/eltorito.c: Likewise.
5987 * util/mkisofs/exclude.h: Likewise.
5988 * util/mkisofs/hash.c: Likewise.
5989 * util/mkisofs/iso9660.h: Likewise.
5990 * util/mkisofs/joliet.c: Likewise.
5991 * util/mkisofs/mkisofs.c: Likewise.
5992 * util/mkisofs/mkisofs.h: Likewise.
5993 * util/mkisofs/multi.c: Likewise.
5994 * util/mkisofs/name.c: Likewise.
5995 * util/mkisofs/rock.c: Likewise.
5996 * util/mkisofs/tree.c: Likewise.
5997 * util/mkisofs/write.c: Likewise.
5998 * video/efi_gop.c: Likewise.
5999
009ec743
VS
60002009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
6003 size counting.
6004
0ad46fd7 60052009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
6006
6007 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
6008 * genmk.rb (class SCRIPT): Modify the target file instead of source.
6009
d3d30ea0
VS
60102009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
6013 (GRUB_MOD_INIT(memrw)): Update help line.
6014
a34f5c70
VS
60152009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
6018 Use grub_extcmd_t. All users updated.
6019 (options): New variable.
6020 (grub_cmd_read): Restructure for readability. Support "-v" option.
6021 (grub_cmd_write): Restructure for readability.
6022
0ad46fd7 60232009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
6024
6025 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
6026
0ad46fd7 60272009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
6028
6029 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
6030 with the actual contents of the correspondending make variable.
6031 * util/grub-mkrescue.in (pkglib_DATA): New variable.
6032 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
6033 specifying `*.lst' and `efiemu??.o'
6034
0ad46fd7 60352009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
6036
6037 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
6038 after function name.
6039 Noticed by Rene Engelhard <rene@debian.org>.
6040
dc77a799
VS
60412009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
6044 (options): New variable.
6045 (iospace): Likewise.
6046 (grub_lspci_iter): List IO spaces if "-i" was given.
6047 (grub_cmd_lspci): Parse options.
6048 (GRUB_MOD_INIT(lspci)): Use extcmd.
6049 (GRUB_MOD_FINI(lspci)): Likewise.
6050
0ad46fd7 60512009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
6052
6053 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
6054 `function' keyword.
6055 Patch by Tony Mancill <tmancill@debian.org>.
6056
b5d5993b
VS
60572009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6058
6059 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
6060 (grub_uhci_portstatus): Likewise.
6061 (grub_uhci_portstatus): Add necessary delay.
11d18281 6062 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 6063
941903f2 60642009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 6065
941903f2 6066 * commands/acpi.c (options): Fix capitalizations and/or full stops.
6067 (GRUB_MOD_INIT): Likewise.
6068 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 6069 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
6070 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 6071 * commands/efi/loadbios.c (enable_rom_area): Likewise.
6072 (enable_rom_area): Likewise.
6073 (GRUB_MOD_INIT): Likewise.
6074 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6075 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
6076 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6077 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
6078 * commands/hexdump.c (options): Likewise.
6079 * commands/i386/cpuid.c (options): Likewise.
6080 (GRUB_MOD_INIT): Likewise.
6081 * commands/i386/pc/drivemap.c (options): Likewise.
6082 (GRUB_MOD_INIT): Likewise.
6083 * commands/i386/pc/halt (options): Likewise.
6084 (GRUB_MOD_INIT): Likewise.
6085 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6086 * commands/i386/pc/pxecmd.c (options): Likewise.
6087 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
6088 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
6089 * commands/keystatus.c (options): Likewise.
6090 (GRUB_MOD_INIT): Likewise.
6091 * commands/loadenv.c (options): Likewise.
6092 * commands/ls.c (options): Likewise.
6093 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6094 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6095 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6096 * commands/parttool.c (helpmsg): Likewise.
6097 * commands/probe.c (options): Likewise.
6098 * commands/read.c (GRUB_MOD_INIT): Likewise.
6099 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
6100 * commands/search.c (options): Likewise.
6101 * commands/sleep.c (options): Likewise.
6102 * commands/test.c (GRUB_MOD_INIT): Likewise.
6103 * commands/true.c (GRUB_MOD_INIT): Likewise.
6104 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
6105 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
6106 * lib/arg.c (help_options): Likewise.
e9bbb4e7 6107 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
6108 `$(XGETTEXT)'.
98a50553 6109 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 6110
0ad46fd7 61112009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 6112
ef3c2c3a 6113 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
6114 instead of specifying them explicit.
6115
7922f68b
RM
61162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6117
6118 * NEWS: Add grub-probe support for GNU/Hurd.
6119
537ce47f
RM
61202009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6121
6122 * NEWS: gettext was added after 1.97.
6123
9b214e3a
RM
61242009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6125
6126 * util/mkisofs/msdos_partition.h: New file (based on
6127 include/grub/msdos_partition.h).
6128 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
6129 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
6130 (ld_options, main): Recognize --protective-msdos-label.
6131 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
6132 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
6133 (padblock_write): If `use_protective_msdos_label' is set, patch a
6134 protective DOS-style label in the output image.
6135
6136 * util/grub-mkrescue.in: Use --protective-msdos-label.
6137
e9309813
RM
61382009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6139
6140 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
6141 boot.
6142
0ae56929
RM
61432009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6144
6145 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
6146 variables.
6147 (ld_options, main): Recognize `--embedded-boot'.
6148 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
6149 declarations.
6150 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
6151 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
6152 (padblock_write): Likewise. Rewrite to support embedded boot image.
6153
6154 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
6155 for BIOS-based disk boot instead of only ElTorito.
6156
b15937b1
RM
61572009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6158
6159 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
6160 build (not needed for bootstrap).
6161
52cc3ce0
RM
61622009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6163
6164 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
6165 from i386-pc build (not needed for bootstrap).
6166 Rewrite a pair of strings.
6167
36f5ff04
RM
61682009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6169
6170 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
6171
973c6c85 61722009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
6173
6174 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
6175
05d21547
AB
61762009-12-21 Andreas Born <futur.andy@googlemail.com>
6177
6178 * kern/env.c (grub_env_context_open): Mark exported variable for
6179 reexport.
6180
0175d51f
AB
61812009-12-21 Andreas Born <futur.andy@googlemail.com>
6182
6183 * kern/env.c (grub_env_export): Create nonexistent variables before
6184 exporting.
6185
7f39d92f 61862009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 6187
7f39d92f 6188 * include/grub/auth.h: Include `<grub/i18n.h>'.
6189 (GRUB_GET_PASSWORD): Gettextizze string.
6190 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
6191 menu_text.c.
6192 (grub_utf8_to_ucs4_alloc): Fix indentation.
6193 (grub_print_ucs4): Likewise.
6194 (grub_getstringwidth): Likewise.
6195 (print_message_indented): New declaration.
6196 * normal/auth.c: Include `<grub/i18n.h>'.
6197 (grub_auth_check_authentication): Gettexttize string.
6198 * normal/cmdline.c: Include `<grub/i18n.h>'.
6199 (grub_cmdline_get): Gettextizze.
6200 * normal/color.c: Include `<grub/i18n.h>'.
6201 (grub_parse_color_name_pair): Gettexttize strings.
6202 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
6203 string (use `print_message_indented').
6204 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
6205 `include/grub/normal.h'.
6206 (print_message_indented): Renamed to ...
6207 (grub_print_message_indented): ... this. Remove `static' qualifer (now
6208 used in normal/main.c).
6209 (print_message): Use `grub_print_message_indented' instead of
6210 `print_message_indented'.
6211 (print_timeout): Likewise.
6212 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
6213 (grub_normal_print_device_info): Gettexttize strings.
6214 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
6215
3041d898
VS
62162009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
6219 of arguments. Return number of tokens and not arguments. All users
6220 updated.
6221
de15bf8e
VS
62222009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
6225 non-MSDOS paritions.
6226
e0a6ca52
VS
62272009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * include/grub/types.h (UNUSED): Removed since it conflicts with
6230 NetBSD headers. All users changed to direct __attribute__ ((unused)).
6231 Reported by Grégoire Sutre.
6232
b99518d1 62332009-12-19 Carles Pina i Estany <carles@pina.cat>
6234
6235 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
6236 (grub_print_ucs4_alloc): Likewise.
6237 (grub_getstringwidth): Likewise.
6238 * normal/main.c (grub_normal_init_page): Gettextize version string.
6239 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
6240 (getstringwidth): Renamed to ...
6241 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
6242 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
6243 (grub_print_ucs4): Remove `static' qualifer (now used in
6244 normal/main.c).
6245 * po/POTFILES: Add normal/main.c.
6246
bfd5e52b 62472009-12-19 Carles Pina i Estany <carles@pina.cat>
6248
6249 * normal/menu_text.c (STANDARD_MARGIN): New macro.
6250 (print_message_indented): Add `margin_left' and `margin_right'
6251 parameters.
6252 (print_message): Update `print_message_indented' calls. Adds '\n' to the
6253 strings.
6254 (print_timeout): Use `print_message_indented' to print the message.
6255 Deletes `second_stage' parameter.
6256 (run_menu): Update `print_timeout' calls.
6257
5a1ad2b9
VS
62582009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 Fix console palette on OpenFirmware.
6261
6262 * term/ieee1275/ofconsole.c (MAX): Removed.
6263 (colors): Redone based on VGA palette.
6264 (grub_ofconsole_setcolor): Discard brightness bit since only 8
6265 colors are supported.
6266 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
6267
b045f00a
VS
62682009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 Fix potential EfiEmu double prepare.
6271
6272 * efiemu/main.c (prepared): New variable
6273 (grub_efiemu_unload): Set prepare to '0'.
6274 (grub_efiemu_prepare): Return if already prepared. Set prepared.
6275
6276 set_virtual_address_map support.
6277
6278 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
6279 prototype.
6280 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
6281 prototype.
6282 (grub_efiemu_crc32): Likewise.
6283 (grub_efiemu_crc64): Likewise.
6284 (grub_efiemu_set_virtual_address_map): Likewise.
6285 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
6286 New definition.
6287 (grub_autoefi_set_virtual_address_map): Likewise.
6288 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
6289 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
6290 Restructure flow to accomodate it.
6291 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
6292 (grub_efiemu_crc): Recompute CRC32.
6293 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
6294 (efiemu_ptv_relocated): ... this. Made global. All users updated.
6295 * efiemu/symbols.c (relocated_handle): New variable.
6296 (grub_efiemu_free_syms): Free relocated_handle.
6297 (grub_efiemu_alloc_syms): Allocate relocated_handle.
6298 (grub_efiemu_write_sym_markers): New function.
6299 (grub_efiemu_set_virtual_address_map): Likewise.
6300
6301 Newer XNU parameters.
6302
6303 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
6304 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
6305 (grub_xnu_fill_devicetree): New prototype.
6306 (grub_xnu_heap_real_start): New variable.
6307 * loader/xnu.c (get_name_ptr): New function.
6308 (grub_xnu_load_driver): Fill namelen and name.
6309
6310 64-bit xnu support.
6311
6312 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
6313 and 'loader/macho64.c'.
6314 * conf/i386-pc.rmk: Likewise.
6315 * conf/x86_64-efi.rmk: Likewise.
6316 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
6317 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
6318 * include/grub/macho.h (grub_macho_segment64): New structure.
6319 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
6320 (grub_macho_size32): ... to this.
6321 (grub_macho32_get_entry_point): Renamed from ...
6322 (grub_macho_get_entry_point32): ... to this.
6323 (grub_macho_contains_macho64): New prototype.
6324 (grub_macho_size64): Likewise.
6325 (grub_macho_get_entry_point64): Likewise.
6326 (grub_macho32_load): Renamed from ...
6327 (grub_macho_load32): ... to this.
6328 (grub_macho32_filesize): Renamed from ...
6329 (grub_macho_filesize32): ... to this.
6330 (grub_macho32_readfile): Renamed from ...
6331 (grub_macho_readfile32): ... to this.
6332 (grub_macho_filesize64): New prototype.
6333 (grub_macho_readfile64): Likewise.
6334 (grub_macho_parse32): Likewise.
6335 (grub_macho_parse64): Likewise.
6336 * loader/macho.c: Split into ...
6337 * loader/machoXX.c: ... and this. Replace 32 with XX.
6338 * loader/macho32.c: New file.
6339 * loader/macho64.c: Likewise.
6340 * loader/xnu.c (grub_xnu_is_64bit): New variable.
6341 (grub_cmd_xnu_kernel): Make 32-bit only.
6342 (grub_cmd_xnu_kernel64): New function.
6343 (grub_xnu_load_driver): Support Mach-O 64.
6344 (grub_cmd_xnu_mkext): Likewise.
6345 * util/grub.d/30_os-prober.in (osx_entry): New function.
6346 Generate entries for 64-bit boot too.
6347
6348 Eliminate ad-hoc tree format in XNU and EfiEmu.
6349
6350 * efiemu/main.c (grub_efiemu_prepare): Update comment.
6351 * efiemu/pnvram.c: Rewritten to use environment variables.
6352 All users updated.
6353
6354 Inline utf16_to_utf8.
6355
6356 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
6357 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
6358 All users updated.
6359 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
6360
6361 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
6362 * commands/usbtest.c (grub_usb_get_string): ... move here.
6363 (usb_print_str): Fix error handling.
6364 * include/grub/usb.h (grub_usb_get_string): Remove.
6365
6366 UTF-8 to UTF-16 transformation.
6367
6368 * conf/common.rmk (pkglib_MODULES): Add charset.mod
6369 (charset_mod_SOURCES): New variable.
6370 (charset_mod_CFLAGS): Likewise.
6371 (charset_mod_LDFLAGS): Likewise.
6372 * include/grub/utf.h: New file.
6373 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
6374
6375 Support for device properties.
6376
6377 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
6378 (grub_xnu_devprop_device_header): Likewise.
6379 (grub_xnu_devprop_device_descriptor): Likewise.
6380 (grub_xnu_devprop_add_device): New prototype.
6381 (grub_xnu_devprop_remove_device): Likewise.
6382 (grub_xnu_devprop_remove_property): Likewise.
6383 (grub_xnu_devprop_add_property_utf8): Likewise.
6384 (grub_xnu_devprop_add_property_utf16): Likewise.
6385 (grub_cpu_xnu_init): Likewise.
6386 (grub_cpu_xnu_fini): Likewise.
6387 (grub_cpu_xnu_unload): Likewise.
6388 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
6389 (property_descriptor): Likewise.
6390 (devices): New variable.
6391 (grub_xnu_devprop_remove_property): New function.
6392 (grub_xnu_devprop_add_device): Likewise.
6393 (grub_xnu_devprop_remove_device): Likewise.
6394 (grub_xnu_devprop_add_property): Likewise.
6395 (grub_xnu_devprop_add_property_utf8): Likewise.
6396 (grub_xnu_devprop_add_property_utf16): Likewise.
6397 (hextoval): Likewise.
6398 (grub_cpu_xnu_fill_devprop): Likewise.
6399 (grub_cmd_devprop_load): Likewise.
6400 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
6401 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
6402 (cmd_devprop_load): New variable.
6403 (grub_cpu_xnu_init): New function.
6404 (grub_cpu_xnu_fini): Likewise.
6405 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
6406 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
6407 (grub_cmd_xnu_devtree): Likewise.
6408 (hextoval): New function.
6409 (unescape): Likewise.
6410 (grub_xnu_fill_devicetree): Likewise.
6411
6412 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
6413 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
6414
0945f181
VS
64152009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 Workaround for broken ATI VBE.
6418
6419 * video/i386/pc/vbe.c (last_set_mode): New variable.
6420 (grub_vbe_set_video_mode): Set 'last_set_mode'.
6421 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
6422 (grub_video_vbe_setup): Don't check for reserved flag.
6423
0ad46fd7 64242009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
6425
6426 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
6427 the `find' command.
6428
c179ebe4
VS
64292009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 UUID support for HFS.
6432
6433 * fs/hfs.c (grub_hfs_uuid): New function.
6434 (grub_hfs_fs): New value .uuid.
6435 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
6436
0ad46fd7 64372009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
6438
6439 Fix a segfault with parsing unknown long options.
6440
6441 * util/grub-mkrelpath.c (options): Zero terminate it.
6442
c4a3e41a
CPE
64432009-12-13 Carles Pina i Estany <carles@pina.cat>
6444
6445 * include/grub/misc.h (grub_puts): New declaration.
6446 (grub_puts_): Likewise.
a22008a6 6447 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
6448 (grub_puts_): Likewise.
6449
2e8a7602
RM
64502009-12-13 Robert Millan <rmh.grub@aybabtu.com>
6451
6452 * util/grub-probe.c (probe): Improve error message.
6453
b50b77b9
RM
64542009-12-13 Robert Millan <rmh.grub@aybabtu.com>
6455
6456 * loader/i386/multiboot_elfxx.c
6457 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
6458 initialization.
6459
64602009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 Relocator framework
6463
6464 * loader/i386/xnu_helper.S: Removed. All users updated.
6465 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
6466 (relocator_mod_SOURCES): New variable.
6467 (relocator_mod_CFLAGS): Likewise.
6468 (relocator_mod_LDFLAGS): Likewise.
6469 (relocator_mod_ASFLAGS): Likewise.
6470 * conf/x86_64.rmk: Likewise.
6471 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
6472 (grub_multiboot_payload_entry_offset): Likewise.
6473 (grub_multiboot_forward_relocator): Likewise.
6474 (grub_multiboot_forward_relocator_end): Likewise.
6475 (grub_multiboot_backward_relocator): Likewise.
6476 (grub_multiboot_backward_relocator_end): Likewise.
6477 (grub_multiboot_payload_eip): New variable.
6478 (grub_multiboot_payload_orig): Likewise.
6479 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
6480 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
6481 * include/grub/i386/memory.h
6482 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
6483 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
6484 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
6485 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
6486 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
6487 * include/grub/i386/relocator.h: New file.
6488 * include/grub/x86_64/relocator.h: Likewise.
6489 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
6490 (XNU_RELOCATOR): New macro.
6491 (grub_xnu_launcher_start): Remove.
6492 (grub_xnu_launcher_end): Likewise.
6493 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
6494 (grub_xnu_heap_real_start): Remove.
6495 (grub_xnu_heap_start): Change to void *. All users updated.
6496 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
6497 * lib/i386/relocator.c: New file.
6498 * lib/i386/relocator_asm.S: Likewise.
6499 * lib/i386/relocator_backward.S: Likewise.
6500 * lib/mips/relocator.c: Likewise.
6501 * lib/mips/relocator_asm.S: Likewise.
6502 * lib/relocator.c: Likewise.
6503 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
6504 (entry): Removed.
6505 (playground): Likewise.
6506 (grub_multiboot_payload_orig): New variable.
6507 (grub_multiboot_payload_dest): Likewise.
6508 (grub_multiboot_payload_size): Likewise.
6509 (grub_multiboot_payload_eip): Likewise.
6510 (grub_multiboot_payload_esp): Likewise.
6511 (grub_multiboot_boot): Use grub_relocator32_boot.
6512 (grub_multiboot_unload): Free relocators.
6513 (grub_multiboot): Setup stack. Use relocators.
6514 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
6515 (grub_multiboot_load_elfXX): Use relocators.
6516 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
6517 (grub_multiboot_payload_size): Likewise.
6518 (grub_multiboot_payload_dest): Likewise.
6519 (grub_multiboot_payload_entry_offset): Likewise.
6520 (grub_multiboot_forward_relocator): Likewise.
6521 (grub_multiboot_backward_relocator): Likewise.
6522 (grub_multiboot_real_boot): Likewise.
6523 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
6524 (grub_xnu_entry_point): Likewise.
6525 (grub_xnu_arg1): Likewise.
6526 (grub_xnu_stack): Likewise.
6527 (grub_xnu_launch): Removed.
6528 (grub_xnu_boot_resume): New function.
6529 (grub_xnu_boot): Use relocators.
6530 * loader/i386/xnu_helper.S: Removed.
6531 * loader/xnu.c (grub_xnu_heap_start): New variable.
6532 (grub_xnu_heap_size): Likewise.
6533 (grub_xnu_heap_malloc): Use relocators.
6534 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
6535
29eb90c6
VS
65362009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
6539 anything.
6540
31027430
CPE
65412009-12-13 Carles Pina i Estany <carles@pina.cat>
6542
6543 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
6544 GRUB_ERR_NONE before calling grub_env_set.
6545
dc0c71d9
RM
65462009-12-12 Robert Millan <rmh@aybabtu.com>
6547
6548 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
6549 * genmk.rb (video): New variable.
6550 (CLEANFILES, VIDEOFILES): Add #{video}.
6551 (#{video}): New target rule.
6552 * genvideolist.sh: New file.
6553 * Makefile.in (pkglib_DATA): Add video.lst.
6554 (video.lst): New target rule.
6555 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
6556 `video.lst'.
6557 * util/grub.d/30_os-prober.in: Replace `vbe' with
6558 ${GRUB_VIDEO_BACKEND}.
6559
2a4bfcf0
RM
65602009-12-11 Robert Millan <rmh.grub@aybabtu.com>
6561
6562 * THANKS: Add David Miller.
6563
2a3aa4d5
RM
65642009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 libpciaccess support.
6567
6568 * Makefile.in (LIBPCIACCESS): New variable.
6569 (enable_grub_emu_pci): Likewise.
6570 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
6571 util/pci.c and commands/lspci.c.
6572 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
6573 * configure.ac (grub-emu-pci): New option.
6574 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
6575 (grub_pci_device_unmap_range): Likewise.
6576 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
6577 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
6578 (grub_pci_address_t) [!GRUB_UTIL]: New type.
6579 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
6580 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
6581 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
6582 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
6583 * include/grub/pciutils.h: New file.
6584 * util/pci.c: Likewise.
6585
0ad46fd7 65862009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
6587
6588 * util/misc.c: Don't include <errno.h> twice.
6589
0ad46fd7 65902009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
6591
6592 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
6593 name in an error message.
6594 (grub_biosdisk_rw): Likewise.
6595
2e59983c
VS
65962009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 Eliminate NTFS 4Gib barrier.
6599
6600 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
6601 (read_run_data): Likewise.
6602 (grub_ntfs_read_run_list): Likewise.
6603 (grub_ntfs_read_block): Likewise.
6604 (grub_ntfs_iterate_dir): Likewise.
6605 (read_mft): Likewise.
6606 (read_data): Likewise.
6607 Use COM_LOG_LEN.
6608 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
6609 to avoid 64-bit division
6610 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
6611 (grub_ntfs_rlst): Use grub_disk_addr_t.
6612
71ee178a
VS
66132009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 Eliminate grub-fstest 4Gib barrier.
6616
6617 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
6618 (read_file): Fix error reporting.
6619
2520d4b8
VS
66202009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6621
6622 Eliminate hexdump 4Gib barrier.
6623
6624 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
6625 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
6626
e1f27065
VS
66272009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
6630 Fixes amarsh bug.
6631
1a0f7f45
RM
66322009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
6633
6634 Remove miscellaneous files in distclean target.
6635
6636 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
6637
c631d9fb
CW
66382009-12-09 Colin Watson <cjwatson@ubuntu.com>
6639
6640 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
6641 if they're already set. This resolves the conflict between my
6642 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
6643 fixing the --grub-probe option again.
6644 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
6645 change on 2009-10-06, so that we now once again source
6646 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
6647
7c7b6106
RM
66482009-12-08 Robert Millan <rmh.grub@aybabtu.com>
6649
6650 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
6651 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
6652 `util/devicemap.c'.
6653
e3069ec1
CPE
66542009-12-08 Carles Pina i Estany <carles@pina.cat>
6655
6656 * include/grub/misc.h (grub_printf_): New declaration.
6657 * kern/misc.c (grub_printf_): New definition.
6658 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
6659 instead of `grub_printf' and `_'.
6660 * normal/menu_entry.c (store_completion): Likewise.
6661 (run): Likewise.
6662 (grub_menu_entry_run): Likewise.
6663 * normal/menu_text.c (grub_wait_after_message): Likewise.
6664 (notify_booting): Likewise.
6665 (notify_fallback): Likewise.
6666 (notify_execution_failure): Likewise.
6667
d6ceebf1
CW
66682009-12-07 Colin Watson <cjwatson@ubuntu.com>
6669
6670 * configure.ac: Check for vasprintf.
6671 * util/misc.c (asprintf): Move allocation from here ...
6672 (vasprintf): ... to here. New function.
6673 (xasprintf): New function.
6674 * include/grub/util/misc.h (vasprintf, xasprintf): Add
6675 prototypes.
6676 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
6677 * util/grub-mkfont.c (write_font): Likewise.
6678 * util/grub-probe.c (probe): Likewise.
6679 * util/hostdisk.c (make_device_name): Likewise.
6680
de6daa8b
DM
66812009-12-06 David S. Miller <davem@sunset.davemloft.net>
6682
6683 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
6684 anything even prefixed with 'cdrom' as a cdrom.
6685
0ad46fd7 66862009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
6687
6688 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
6689 mount points.
6690
98d3dc02
CPE
66912009-12-05 Carles Pina i Estany <carles@pina.cat>
6692
6693 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
6694 grub_gettext_msg_list.
6695 (grub_gettext_gettranslation_from_position): Return const char *
6696 and not char *.
a2c1332b 6697 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
6698 returns from the list if existing there.
6699 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
6700 (grub_gettext_delete_list): Delete the list.
6701 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
6702 lang environment variable is changed.
6703 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
6704
b283f108
VS
67052009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
6706
6707 Rename kernel.mod to kernel.img.
6708
6709 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
6710 (kernel_mod_EXPORTS): Rename to ...
6711 (kernel_img_EXPORTS): ... this.
6712 (kernel_mod_SOURCES): Rename to ...
6713 (kernel_img_SOURCES): ... this.
6714 (kernel_mod_HEADERS): Rename to ...
6715 (kernel_img_HEADERS): ... this. All users updated.
6716 (kernel_mod_CFLAGS): Rename to ...
6717 (kernel_img_CFLAGS): ... this.
6718 (kernel_mod_ASFLAGS): Rename to ...
6719 (kernel_img_ASFLAGS): ... this.
6720 (kernel_mod_LDFLAGS): Rename to ...
6721 (kernel_img_LDFLAGS): ... this.
6722 * conf/x86_64-efi.rmk: Likewise.
6723 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
6724 (read_kernel_image): ... this. All users updated.
6725 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
6726
69055f8a
CPE
67272009-12-05 Carles Pina i Estany <carles@pina.cat>
6728
6729 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
6730 (print_spaces): New function.
6731 (grub_print_ucs4): New function.
6732 (getstringwidth): New function.
6733 (print_message_indented): New function.
6734 (print_message): Gettexttize strings using print_message_indented.
6735 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
6736 width.
6737 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 6738 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
6739 Gettextize.
6740 * normal/menu_entry.c (store_completion): Cleanup the gettextized
6741 string.
6742 (run): Likewise.
6743 (grub_menu_entry_run): Likewise.
6744 * PO/POTFILES: Add normal/menu_entry.c.
6745
f616f51c
VS
67462009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
6749
57bbe3be
CPE
67502009-12-05 Carles Pina i Estany <carles@pina.cat>
6751
6752 * util/grub-install.in: Install gettext .mo files.
6753 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
6754
013d67a1
CPE
67552009-12-05 Carles Pina i Estany <carles@pina.cat>
6756
6757 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
6758 grub_dprintf.
6759
fb954db0
RM
67602009-12-05 Robert Millan <rmh.grub@aybabtu.com>
6761
6762 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
6763 non-firmware-dependant one in realmode.S takes precedence.
6764
6b8474f8
RM
67652009-12-04 Robert Millan <rmh.grub@aybabtu.com>
6766
6767 * commands/halt.c: Replace misc arch-specific headers with
6768 `<grub/misc.h>'.
6769 * commands/reboot.c: Likewise.
6770 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
6771 `<grub/misc.h>'.
6772 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
6773 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
6774 (kernel_img_SOURCES): ... to here.
6775
6776 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
6777 * include/grub/i386/pc/init.h: Likewise.
6778 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
6779 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
6780
6781 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
6782
6783 * include/grub/i386/halt.h: Remove.
6784 * include/grub/i386/reboot.h: Likewise.
6785
6786 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
6787
4b2e6ca2
DM
67882009-12-03 David S. Miller <davem@sunset.davemloft.net>
6789
6790 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
6791 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
6792 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
6793 "progname.h"
6794 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
6795 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6796 (usage): Add missing comma in printf.
6797
5239348f
RM
67982009-12-02 Robert Millan <rmh.grub@aybabtu.com>
6799
6800 Use the same reboot approach on i386 coreboot and qemu as we do on
6801 BIOS.
6802
6803 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
6804 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
6805 * kern/i386/reboot.c: Remove.
6806 * include/grub/i386/reboot.h (grub_reboot): Export function.
6807 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
6808 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
6809 0xf000:0xfff0 instead of 0xffff:0x0000.
6810 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
6811 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
6812
ef34cbd4
RM
68132009-11-30 Robert Millan <rmh.grub@aybabtu.com>
6814
6815 Fix $srcdir != $objdir build.
6816
6817 * Makefile.in (po/%.po): Rewrite as ...
6818 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
6819
dc9837ea
ST
68202009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
6821
6822 Fix GNU/Hurd grub-install crash.
6823 * util/grub-probe.c (probe): Try to access `path' only when it is not
6824 NULL.
6825
2f857f98
VS
68262009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 Correct module naming.
6829
6830 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
6831 (GRUB_MOD_INIT(efi_uga)): ... to this
6832 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
6833 (GRUB_MOD_FINI(efi_uga)): ... to this
6834 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
6835 (GRUB_MOD_INIT(efi_gop)): ... to this
6836 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
6837 (GRUB_MOD_FINI(efi_gop)): ... to this
6838
c5448046
RM
68392009-11-28 Robert Millan <rmh.grub@aybabtu.com>
6840
6841 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
6842 translatable.
6843 (usage): Translate `arg' strings using gettext().
6844 Thanks to Jordi Mallach for the suggestion.
6845
c85184ad
VS
68462009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6847
6848 GOP support. Based on patch from Bean
6849 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
6850
6851 * video/efi_gop.c: New file.
6852 * include/grub/efi/graphics_output.h: Likewise.
6853 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
6854 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
6855 variables.
6856 * conf/x86_64-efi.rmk: Likewise.
6857
8a4c48d8
VS
68582009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 Rename efi_fb to efi_uga.
6861
6862 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
6863 'efi_uga.mod'.
6864 (efi_fb_mod_SOURCES): Rename this ...
6865 (efi_uga_mod_SOURCES): ... to this.
6866 (efi_fb_mod_CFLAGS): Rename this ...
6867 (efi_uga_mod_CFLAGS): ... to this.
6868 (efi_fb_mod_LDFLAGS): Rename this ...
6869 (efi_uga_mod_LDFLAGS): ... to this.
6870 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
6871 'efi_uga.mod'.
6872 (efi_fb_mod_SOURCES): Rename this ...
6873 (efi_uga_mod_SOURCES): ... to this.
6874 (efi_fb_mod_CFLAGS): Rename this ...
6875 (efi_uga_mod_CFLAGS): ... to this.
6876 (efi_fb_mod_LDFLAGS): Rename this ...
6877 (efi_uga_mod_LDFLAGS): ... to this.
6878 * video/efi_fb.c: Move this ...
6879 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
6880
fb6c1a7b
RM
68812009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6882
6883 * po/README: New file. Explain our PO file workflow.
6884
3bc7896c
RM
68852009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6886
6887 * po/ChangeLog: Remove. Move relevant entries back to ...
6888 * ChangeLog: ... here.
6889 * po/ca.po: Remove (now handled by TLP).
6890 * po/id.po: Likewise.
6891 * po/zh_CN.po: Likewise.
6892 * Makefile.in (LINGUAS): Initialize in a way that supports
6893 empty set.
6894
9ed4841d
RM
68952009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6896
6897 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
6898 reliing on po/LINGUAS.
6899 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
6900 (po/%.po): ... this.
6901
0ad46fd7 69022009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
6903
6904 * util/i386/efi/grub-mkimage.c: Include "progname.h".
6905 (main): Use `program_name' instead of nonexistent `progname'.
6906
e30dd392
FZ
69072009-11-26 Felix Zielcke <fzielcke@z-51.de>
6908
6909 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6910 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
6911
7656de4f
RM
69122009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6913
6914 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
6915 commit.
6916 * conf/i386-efi.rmk: Likewise.
6917 * conf/i386-ieee1275.rmk: Likewise.
6918 * conf/powerpc-ieee1275.rmk: Likewise.
6919 * conf/sparc64-ieee1275.rmk: Likewise.
6920 * conf/x86_64-efi.rmk: Likewise.
6921
db77c4d4
FZ
69222009-11-26 Felix Zielcke <fzielcke@z-51.de>
6923
6924 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
6925
a755bb04
FZ
69262009-11-26 Felix Zielcke <fzielcke@z-51.de>
6927
6928 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
6929
8a4c07fd
RM
69302009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6931
6932 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
6933 (grub_mkdevicemap_SOURCES): New variable.
6934 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
6935 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
6936 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
6937 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
6938 (grub_mkdevicemap_SOURCES): Remove.
6939 * conf/i386-efi.rmk: Likewise.
6940 * conf/i386-ieee1275.rmk: Likewise.
6941 * conf/i386-pc.rmk: Likewise.
6942 * conf/powerpc-ieee1275.rmk: Likewise.
6943 * conf/sparc64-ieee1275.rmk: Likewise.
6944 * conf/x86_64-efi.rmk: Likewise.
6945 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
6946 (usage): Fix strings to use `program_name'.
6947 (main): Initialize gettext.
6948 * util/grub-editenv.c: Likewise.
6949 * util/grub-emu.c: Likewise.
6950 * util/grub-fstest.c: Likewise.
6951 * util/grub-mkdevicemap.c: Likewise.
6952 * util/grub-mkfont.c: Likewise.
6953 * util/grub-mkrelpath.c: Likewise.
6954 * util/grub-pe2elf.c: Likewise.
6955 * util/grub-probe.c: Likewise.
6956 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
6957 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
6958 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6959
6960 * util/misc.c: Include `"progname.h"'.
6961 (progname): Remove variable.
6962 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
6963
6f61ed55
FZ
69642009-11-25 Felix Zielcke <fzielcke@z-51.de>
6965
6966 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
6967 printf and print a newline after the menuentry header line.
6968 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6969
f022876b
FZ
69702009-11-25 Felix Zielcke <fzielcke@z-51.de>
6971
6972 autoconf >= 2.60 support $(localedir).
6973
6974 * INSTALL: Note that autoconf 2.60 is required.
6975 * configure.ac (AC_PREREQ): Bump to 2.60.
6976 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
6977 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
6978
6717926e
YB
69792009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
6980
6981 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
6982 aclocal is run.
6983
08806a54
RM
69842009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6985
6986 * normal/main.c (grub_normal_read_line): Fix off-by-one
6987 buffer overflow.
6988
13b33fba
RM
69892009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6990
6991 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
6992 "parser.grub" in grub_command_execute() call.
6993
4a8572e9
CPE
69942009-11-24 Carles Pina i Estany <carles@pina.cat>
6995
6996 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
6997 * conf/i386-efi.rmk: Likewise.
6998 * conf/i386-ieee1275.rmk: Likewise.
6999 * conf/i386-pc.rmk: Likewise.
7000 * conf/powerpc-ieee1275.rmk: Likewise.
7001 * conf/sparc64-ieee1275.rmk: Likewise.
7002 * conf/x86_64-efi.rmk: Likewise.
7003 * gettext/gettex.c: Include <grub/i18n.h>.
7004 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
7005 here ...
7006 * include/grub/i18n.h: ... to here
7007 * include/grub/i18n.h: ... to here.
7008 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 7009 (grub_gettext_dummy): Move above user.
4a8572e9 7010
bee48093
FZ
70112009-11-24 Felix Zielcke <fzielcke@z-51.de>
7012
7013 * util/Makefile.in (install-local): Convert a `for' into a normal
7014 shell expansion.
7015
a031e91c
RM
70162009-11-24 Robert Millan <rmh.grub@aybabtu.com>
7017
7018 * autogen.sh: Add automake call.
7019 * config.guess: Remove.
7020 * config.sub: Likewise.
7021 * install-sh: Likewise.
7022
26bec39d
FZ
70232009-11-24 Felix Zielcke <fzielcke@z-51.de>
7024
7025 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
7026
8e2532fd
FZ
70272009-11-24 Felix Zielcke <fzielcke@z-51.de>
7028
7029 * util/Makefile.in (install-local): Convert a make `$(foreach)'
7030 function to a normal shell `for'.
7031
fefa1b7d
FZ
70322009-11-24 Felix Zielcke <fzielcke@z-51.de>
7033
7034 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7035
4501250b
FZ
70362009-11-24 Felix Zielcke <fzielcke@z-51.de>
7037
7038 * util/grub-mkrelpath.c: New file.
7039 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
7040 (grub_mkrelpath_SOURCES): New variable.
7041 * include/grub/util/misc.h: New function prototype.
7042 * util/misc.c (make_system_path_relative_to_its_root): New function.
7043
7044 * util/grub-mkconfig_lib.in (bindir): New variable.
7045 (grub_mkrelpath): Likewise.
7046 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
7047
7048 * util/probe.c (probe): Make the file path relative to its root.
7049 Change a info message to use the GRUB path. Enable again the
7050 check if we can read the file with GRUB facilities.
7051
7052 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
7053 to its root.
7054
11d9778b
FZ
70552009-11-24 Felix Zielcke <fzielcke@z-51.de>
7056
7057 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
7058 platform.
7059
4465287d
FZ
70602009-11-24 Felix Zielcke <fzielcke@z-51.de>
7061
7062 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
7063 strncmp().
7064
62b47f22
FZ
70652009-11-24 Felix Zielcke <fzielcke@z-51.de>
7066
7067 * util/getroot.c (grub_util_is_dmraid): New function.
7068 (grub_util_get_dev_abstraction): Treat dmraid and multipath
7069 devices as normal ones, not as LVM.
7070
1eafb9b9 70712009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
7072
7073 * conf/common.rmk: Add grub-gettext_lib target and updates
7074 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
7075 LDFLAGS.
7076 * gettext/gettext.c: New file. (Reads mo files).
7077 * include/grub/file.h (grub_file_pread): New prototype.
7078 * include/grub/i18n.h (_): New prototype.
7079 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
7080 prototypes.
7081 * kern/misc.c (grub_gettext_dummy): New function.
7082 * normal/menu_text.c: Include <grub/i18n.h>.
7083 * normal/menu_text.c (print_timeout): Gettexttize string.
7084 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
7085 * po/POTFILES: Add `normal/menu_text.c'.
7086 * po/ca.po: Add new translations.
c3ea6bd4
CPE
7087 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
7088 gettext module and defines locale_dir and lang in grub.cfg.
7089 * NEWS: Add gettext support.
7090
0fdb2568
RM
70912009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7092
7093 * util/hostdisk.c: Include `<grub/i18n.h>'.
7094 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
7095 (make_device_name): Rewrite using asprintf.
7096 (convert_system_partition_to_system_disk): Replace 0 with NULL.
7097 (find_system_device): If a device is not found, generate one just
7098 by reusing the OS path name.
7099 (read_device_map): Make it permissible for device.map not to exist.
7100
f515aa62
RM
71012009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7102
7103 * script/sh/execute.c: Move from here ...
7104 * script/execute.c: ... to here. Update all users.
7105 * script/sh/function.c: Move from here ...
7106 * script/function.c: ... to here. Update all users.
7107 * script/sh/lexer.c: Move from here ...
7108 * script/lexer.c: ... to here. Update all users.
7109 * script/sh/main.c: Move from here ...
7110 * script/main.c: ... to here. Update all users.
7111 * script/sh/parser.y: Move from here ...
7112 * script/parser.y: ... to here. Update all users.
7113 * script/sh/script.c: Move from here ...
7114 * script/script.c: ... to here. Update all users.
7115
f84b481b
RM
71162009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7117
7118 * configure.ac: Detect all `emu' platforms. Define
7119 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
7120 --enable-grub-emu logic. Disable include/grub/machine
7121 symlink on `emu' platforms.
7122
7123 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
7124 * gensymlist.sh.in: Likewise.
7125
7126 * include/grub/i386/coreboot/machine.h: Remove file.
7127 * include/grub/i386/efi/machine.h: Likewise.
7128 * include/grub/i386/ieee1275/machine.h: Likewise.
7129 * include/grub/i386/pc/machine.h: Likewise.
7130 * include/grub/i386/qemu/machine.h: Likewise.
7131 * include/grub/powerpc/ieee1275/machine.h: Likewise.
7132 * include/grub/sparc64/ieee1275/machine.h: Likewise.
7133 * include/grub/x86_64/efi/machine.h: Likewise.
7134
7135 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
7136 * commands/halt.c: Likewise.
7137 * commands/reboot.c: Likewise.
7138 * include/grub/autoefi.h: Likewise.
7139 * include/grub/i386/at_keyboard.h: Likewise.
7140 * include/grub/i386/kernel.h: Likewise.
7141 * include/grub/i386/loader.h: Likewise.
7142 * include/grub/i386/pc/memory.h: Likewise.
7143 * kern/dl.c: Likewise.
7144 * kern/i386/coreboot/init.c: Likewise.
7145 * loader/i386/bsd.c: Likewise.
7146 * loader/i386/linux.c: Likewise.
7147 * loader/multiboot_loader.c: Likewise.
7148 * term/i386/pc/serial.c: Likewise.
7149 * term/usb_keyboard.c: Likewise.
7150
7151 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
7152 `<grub/machine/machine.h>'
7153 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
7154 * util/misc.c: Remove `<grub/machine/machine.h>' and
7155 `<grub/machine/time.h>'.
7156
7157 * Makefile.in (enable_grub_emu): Remove variable.
7158 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
7159
7160 * conf/any-emu.rmk: New file.
7161 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
7162 (grub_emu_init.c): Move from here ...
7163 * conf/any-emu.rmk: ... to here.
7164
7165 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
7166 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
7167 * conf/any-emu.rmk: ... to here.
7168
4efeab03
RM
71692009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7170
7171 * include/grub/parser.h (grub_parser_register): Document need
7172 of `name' parameter.
7173 * normal/main.c (grub_normal_read_line): Simplify prompt string.
7174 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
7175 "sh" to "grub".
7176
ea1dd8bf
RM
71772009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7178
7179 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
7180 `$(XGETTEXT)'.
7181 * include/grub/i18n.h (N_): New macro.
7182 * util/mkisofs/mkisofs.h: Likewise.
7183 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
7184 around N_().
7185 (usage): Use gettext() to translate help strings when printing them.
7186
0c140626
RM
71872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7188
7189 Based on patch from Bean
7190 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
7191
7192 * video/efi_fb.c: New file.
7193 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
7194 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
7195 variables.
7196 * conf/x86_64-efi.rmk: Likewise.
7197
87d58298
RM
71982009-11-22 Robert Millan <rmh.grub@aybabtu.com>
7199
7200 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
7201 * util/i386/pc/grub-setup.c: Likewise.
7202
994cc3a3
ST
72032009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
7204
7205 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
7206 <hurd/fs.h>
7207 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
7208 file_get_storage_info to implement grub_guess_root_device.
7209
26a61d6a
FZ
72102009-11-21 Felix Zielcke <fzielcke@z-51.de>
7211
7212 * Makefile.in (target): Use make's builtin $(shell) function
7213 instead of calling directly $(SHELL) to create the locale directories,
7214 inside the $(foreach) function.
7215
74ff1dd5
FZ
72162009-11-21 Felix Zielcke <fzielcke@z-51.de>
7217
7218 * util/grub-mkrescue.in: Print an error and usage if output option
7219 has not been given.
7220
0b787d0e
FZ
72212009-11-21 Felix Zielcke <fzielcke@z-51.de>
7222
7223 Patch from Loïc Minier <loic.minier@ubuntu.com>.
7224 * util/grub.d/30_os-prober.in: Cope with Linux entries where
7225 root and /boot are on different devices.
7226
1164b270
RM
72272009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7228
7229 Fix build for srcdir != objdir.
7230
7231 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
7232 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
7233 $(srcdir).
7234 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
7235 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
7236 reference for input.
7237
13774a2f
RM
72382009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7239
7240 * util/grub-mkrescue.in: Use source directory direcly (without copiing
7241 or hardlinking it). Remove -J option, Joliet is not compatible with
7242 multiple source directories.
7243
efda854e
RM
72442009-11-21 Carles Pina i Estany <carles@pina.cat>
72452009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7246
7247 * util/grub-mkrescue.in: Recognize `--override-directory' option.
7248 (process_input_dir): New function. Process an arbitrary input
7249 directory.
7250 Misc adjustments to support both "override mode" and system-wide mode.
7251
6c09890c
FZ
72522009-11-20 Felix Zielcke <fzielcke@z-51.de>
7253
7254 * configure.ac (UNIFONT_BDF): Rename to ...
7255 (FONT_SOURCE): ... this. Update all users.
7256
a797824f
FZ
72572009-11-20 Felix Zielcke <fzielcke@z-51.de>
7258
7259 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
7260 to the list of unifont files to look for.
7261
cd4f42b0
RM
72622009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7263
7264 Patch from Joe Auricchio <jauricchio@gmail.com>
7265 * commands/minicmd.c (grub_mini_cmd_clear): New function.
7266 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
7267 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
7268
393c783d
FZ
72692009-11-19 Felix Zielcke <fzielcke@z-51.de>
7270
7271 * Makefile.in (install-local): Add a missing backslash.
7272
b2f1e327
FZ
72732009-11-19 Felix Zielcke <fzielcke@z-51.de>
7274
7275 * include/grub/x86_64/io.h: New file.
7276
f577f7a0
RM
72772009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7278
7279 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
7280 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
7281 Include `"progname.h"'.
7282 (main): Initialize gettext.
7283 * util/i386/pc/grub-setup.c: Gettexttize.
7284 * util/i386/pc/grub-mkimage.c: Likewise.
7285
7286 * Makefile.in (po/*.po): Redefine as ...
7287 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
7288
3bc7896c
RM
7289 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
7290
c37943b6
RM
72912009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7292
7293 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
7294 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
7295 (program_name): Remove.
7296 (main): Initialize gettext support.
6323f705
RM
7297 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
7298 Include `<libintl.h>'.
7299 (_): New macro.
c37943b6
RM
7300
7301 * util/mkisofs/eltorito.c: Gettexttize.
7302 * util/mkisofs/joliet.c: Likewise.
7303 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
7304 * util/mkisofs/multi.c: Likewise.
7305 * util/mkisofs/rock.c: Likewise.
7306 * util/mkisofs/tree.c: Likewise.
7307 * util/mkisofs/write.c: Likewise.
7308
3bc7896c
RM
7309 * po/POTFILES: Update with new files.
7310
5ce77c6e
RM
73112009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7312
7313 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
7314 * util/mkisofs/iso9660.h: Likewise.
7315 * util/mkisofs/joliet.c: Likewise.
7316 * util/mkisofs/mkisofs.c: Likewise.
7317 * util/mkisofs/mkisofs.h: Likewise.
7318 * util/mkisofs/rock.c: Likewise.
7319 * util/mkisofs/tree.c: Likewise.
7320 * util/mkisofs/write.c: Likewise.
7321
7322 * util/mkisofs/eltorito.c (rcsid): Remove.
7323 * util/mkisofs/hash.c: Likewise.
7324 * util/mkisofs/joliet.c: Likewise.
7325 * util/mkisofs/name.c: Likewise.
7326 * util/mkisofs/rock.c: Likewise.
7327 * util/mkisofs/tree.c: Likewise.
7328 * util/mkisofs/write.c: Likewise.
7329
1dabbc77
RM
73302009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7331
7332 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
7333 instead of static allocation.
7334 * util/mkisofs/match.h: Likewise.
7335
633877cb
RM
73362009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7337
3bc7896c
RM
7338 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
7339 and `util/grub.d/10_linux.in'.
633877cb
RM
7340 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
7341 translatable Shell files.
7342
af1c0c85
RM
73432009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7344
7345 * Makefile.in ($(srcdir)/aclocal.m4): New target.
7346
769ae37b
RM
73472009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7348
7349 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 7350 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
7351 * util/grub.d/10_kfreebsd.in (bindir): New variable.
7352 Add gettext initialization.
7353 (kfreebsd_entry): Make menuentry output translatable.
7354
73552009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7356
7357 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
7358 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
7359 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
7360 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
7361 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 7362 * po/LINGUAS: New file.
769ae37b
RM
7363
73642009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7365
7366 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
7367 other things).
7368 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
7369 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
7370 bindtextdomain() calls for gettext initialization.
7371
73722009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7373
7374 * gnulib/progname.c: New file (imported from Gnulib).
7375 * gnulib/progname.h: Likewise.
7376 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7377 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
7378 (usage): Replace `progname' with `program_name'.
7379 (main): Use set_program_name() for program name initialization.
7380
73812009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7382
7383 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
7384 from here ...
7385 * Makefile.in (CPPFLAGS): ... to here.
7386
73872009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7388
7389 * aclocal.m4: Move from here ...
7390 * acinclude.m4: ... to here.
7391 * autogen.sh: Add call to `aclocal'.
7392 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
7393
73942009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7395
7396 * Makefile.in (CLEANFILES): Add `po/*.mo'.
7397 (LINGUAS): New variable.
7398 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
7399 (install-local): Install MO files.
7400 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
7401 * include/grub/i18n.h: New file.
3bc7896c
RM
7402 * po/POTFILES: New file.
7403 * po/ca.po: New file.
769ae37b
RM
7404 * util/grub.d/10_linux.in (bindir): New variable.
7405 Add gettext initialization.
7406 (linux_entry): Make menuentry output translatable.
7407 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
7408 (usage): Make --help output translatable.
7409 (main): Initialize gettext.
7410
02c0a6ad
RM
74112009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7412
7413 * import_gcry.py: New file (written by Vladimir with minor
7414 adjustments).
7415 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
7416 ciphers.
7417 * INSTALL: Document that Python is required for bootstrap.
7418
74192009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7420
7421 Import ciphers from libgcrypt 1.4.4.
7422
7423 * lib/libgcrypt/cipher/ChangeLog
7424 * lib/libgcrypt/cipher/ac.c
7425 * lib/libgcrypt/cipher/arcfour.c
7426 * lib/libgcrypt/cipher/bithelp.h
7427 * lib/libgcrypt/cipher/blowfish.c
7428 * lib/libgcrypt/cipher/camellia-glue.c
7429 * lib/libgcrypt/cipher/camellia.c
7430 * lib/libgcrypt/cipher/camellia.h
7431 * lib/libgcrypt/cipher/cast5.c
7432 * lib/libgcrypt/cipher/cipher.c
7433 * lib/libgcrypt/cipher/crc.c
7434 * lib/libgcrypt/cipher/des.c
7435 * lib/libgcrypt/cipher/dsa.c
7436 * lib/libgcrypt/cipher/ecc.c
7437 * lib/libgcrypt/cipher/elgamal.c
7438 * lib/libgcrypt/cipher/hash-common.c
7439 * lib/libgcrypt/cipher/hash-common.h
7440 * lib/libgcrypt/cipher/hmac-tests.c
7441 * lib/libgcrypt/cipher/md.c
7442 * lib/libgcrypt/cipher/md4.c
7443 * lib/libgcrypt/cipher/md5.c
7444 * lib/libgcrypt/cipher/primegen.c
7445 * lib/libgcrypt/cipher/pubkey.c
7446 * lib/libgcrypt/cipher/rfc2268.c
7447 * lib/libgcrypt/cipher/rijndael-tables.h
7448 * lib/libgcrypt/cipher/rijndael.c
7449 * lib/libgcrypt/cipher/rmd.h
7450 * lib/libgcrypt/cipher/rmd160.c
7451 * lib/libgcrypt/cipher/rsa.c
7452 * lib/libgcrypt/cipher/seed.c
7453 * lib/libgcrypt/cipher/serpent.c
7454 * lib/libgcrypt/cipher/sha1.c
7455 * lib/libgcrypt/cipher/sha256.c
7456 * lib/libgcrypt/cipher/sha512.c
7457 * lib/libgcrypt/cipher/tiger.c
7458 * lib/libgcrypt/cipher/twofish.c
7459 * lib/libgcrypt/cipher/whirlpool.c
7460
af2f93ac
RM
74612009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7462
7463 Fix build for systems without error().
7464
7465 * gnulib/error.c: New file (imported from Gnulib).
7466 * gnulib/error.h: Likewise.
7467 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
7468 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
7469 (this variable is now used by error()).
7470
73fb3dd5
FZ
74712009-11-16 Felix Zielcke <fzielcke@z-51.de>
7472
814f5e96
FZ
7473 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
7474 instead of relying that char is signed.
73fb3dd5 7475
a691ca33
VS
74762009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
7479 blocksize different from specified.
7480 (grub_pxefs_read): Likewise.
7481
2af8f0f4
FZ
74822009-11-16 Felix Zielcke <fzielcke@z-51.de>
7483
7484 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
7485
7486 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
7487 (grub_ata_readwrite): Likewise. Update 2 format strings.
7488 (grub_atapi_read): Likewise.
7489
7490 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
7491 * conf/i386.rmk (pkglib_MODULES): ... to here ...
7492 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
7493 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
7494 (ata_mod_LDFLAGS): Move from here ...
7495 * conf/i386.rmk: ... to here ...
7496 * conf/x86_64-efi.rmk: ... and here.
7497 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
7498 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
7499
83bdecaf
RM
75002009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7501
7502 Relicense multiboot.h, with RMS' blessing.
7503
7504 * include/multiboot.h: Change to X11 license.
7505
fd6fd3d7
RM
75062009-11-15 Robert Millan <rmh.grub@aybabtu.com>
7507
7508 Support --version in grub-mkisofs.
7509
7510 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
7511 (OPTION_VERSION): New macro.
7512 (ld_options): Recognize --version.
7513 (usage): Move `program_name' from here ...
7514 (program_name): ... to here. Add `static' qualifier.
7515 (main): Recognize `OPTION_VERSION'.
7516
16a88c49
FZ
75172009-11-15 Felix Zielcke <fzielcke@z-51.de>
7518
7519 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
7520 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
7521
a4158476
RM
75222009-11-14 Robert Millan <rmh.grub@aybabtu.com>
7523
7524 Fix help2man generation for mkisofs.
7525
7526 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
7527 (usage): Send output to stdout (rather than stderr).
7528
fc2208b0
RM
75292009-11-14 Robert Millan <rmh.grub@aybabtu.com>
7530
7531 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
7532 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
7533 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
7534 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
7535 (bin_SCRIPTS): Add `grub-mkfloppy'.
7536 (grub_mkfloppy_SOURCES): New variable.
7537
7538 * util/grub-mkrescue.in: New file.
7539 * util/i386/pc/grub-mkfloppy.in: New file.
7540
7541 * util/i386/coreboot/grub-mkrescue.in: Remove.
7542 * util/i386/pc/grub-mkrescue.in: Remove.
7543
8d0edf4a
RM
75442009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7545
7546 * include/grub/multiboot.h (struct grub_multiboot_header): Move
7547 from here ...
7548 * include/multiboot.h (struct multiboot_header): ... to here. Update
7549 all users.
7550 * include/grub/multiboot.h (struct grub_multiboot_info): Move
7551 from here ...
7552 * include/multiboot.h (struct multiboot_info): ... to here. Update
7553 all users.
7554 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
7555 from here ...
7556 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
7557 Update all users.
7558 * include/grub/multiboot.h (struct grub_mod_list): Move
7559 from here ...
7560 * include/multiboot.h (struct multiboot_mod_list): ... to here.
7561 Update all users.
7562
a73f5969
RM
75632009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7564
7565 * include/multiboot2.h (multiboot_word): Rename from this ...
7566 (multiboot2_word): ... to this. Update all users.
7567 (multiboot_header): Rename from this ...
7568 (multiboot2_header): ... to this. Update all users.
7569 (multiboot_tag_header): Rename from this ...
7570 (multiboot2_tag_header): ... to this. Update all users.
7571 (multiboot_tag_start): Rename from this ...
7572 (multiboot2_tag_start): ... to this. Update all users.
7573 (multiboot_tag_name): Rename from this ...
7574 (multiboot2_tag_name): ... to this. Update all users.
7575 (multiboot_tag_module): Rename from this ...
7576 (multiboot2_tag_module): ... to this. Update all users.
7577 (multiboot_tag_memory): Rename from this ...
7578 (multiboot2_tag_memory): ... to this. Update all users.
7579 (multiboot_tag_unused): Rename from this ...
7580 (multiboot2_tag_unused): ... to this. Update all users.
7581 (multiboot_tag_end): Rename from this ...
7582 (multiboot2_tag_end): ... to this. Update all users.
7583
1c8927f0
RM
75842009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7585
7586 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
7587 this platform we should support Multiboot1 first.
7588
7589 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
7590 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
7591 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
7592
6e1e0d89
RM
75932009-11-12 Robert Millan <rmh.grub@aybabtu.com>
7594
7595 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
7596 of write calls (converting them to fwrite() if they aren't already).
7597 (get_torito_desc): Likewise.
7598 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
7599
7f2b34d8
RM
76002009-11-12 Robert Millan <rmh.grub@aybabtu.com>
7601
7602 * util/i386/pc/grub-install.in: Move from here ...
7603 * util/grub-install.in: ... to here. Update all users.
7604
c0ef3311
CW
76052009-11-11 Colin Watson <cjwatson@ubuntu.com>
7606
7607 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
7608
e1f240ff
RM
76092009-11-11 Robert Millan <rmh.grub@aybabtu.com>
7610
7611 Support for El Torito without floppy emulation.
7612
7613 * util/mkisofs/eltorito.c: Include `<errno.h>'.
7614 (init_boot_catalog): Improve error handling.
7615 (get_torito_desc): Don't use floppy emulation unless requested by
7616 user. Patch boot information table when requested via
7617 `-boot-info-table'.
7618 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
7619 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
7620 (use_boot_info_table): New variables.
7621 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
7622 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
7623 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
7624 `--eltorito-emul-floppy'.
7625 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
7626 and `OPTION_ELTORITO_EMUL_FLOPPY'.
7627 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
7628 (use_boot_info_table, get_731): New prototypes.
7629 * util/mkisofs/write.c (get_731): New function.
7630
af7d4de5
FZ
76312009-11-11 Felix Zielcke <fzielcke@z-51.de>
7632
7633 Fix the generation of the man page.
7634
7635 * util/pc/i386/grub-install.in: Source
7636 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7637
2c55dbc0
RM
76382009-11-11 Robert Millan <rmh.grub@aybabtu.com>
7639
7640 Large file support for grub-mkisofs.
7641
7642 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
7643 * util/mkisofs/mkisofs.c (next_extent, last_extent)
7644 (session_start): Upgrade type to `uint64_t'. Update all users.
7645 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
7646 (struct directory_entry): Upgrade type of `starting_block' and
7647 `size' to `uint64_t'. Update all users.
7648 (struct deferred): Remove unused structure.
7649 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
7650 Update all users.
7651 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
7652 file is larger than `UINT32_MAX'.
7653 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
7654 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
7655 return value.
7656 (struct deferred_write): Upgrade type of `extent' and `size' to
7657 `uint64_t'. Update all users.
7658 (last_extent_written): Upgrade type to `uint64_t'. Update all
7659 users.
7660 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
7661 Update all users. Upgrade type of `remain' to `int64_t' and
7662 `use' to `size_t'. Use error() to handle fread() errors.
7663 (write_files): Rely on write_one_file() rather than calling
7664 xfwrite() directly.
7665
6a9cead5
FZ
76662009-11-09 Felix Zielcke <fzielcke@z-51.de>
7667
7668 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
7669
4825d790
RM
76702009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7671
7672 * util/mkisofs/fnmatch.c: Remove.
7673 * util/mkisofs/getopt1.c: Likewise.
7674 * util/mkisofs/getopt.c: Likewise.
7675 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
7676 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
7677 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
7678 `gnulib/getopt1.c' and `gnulib/getopt.c'.
7679 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
7680
7681 * configure.ac: Detect `mingw32msvc' host_os.
7682 Check for lstat(), getuid() and getgid().
7683
7684 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
7685 instances of `u_char' with `uint8_t'.
7686
7687 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
7688 [!HAVE_GETUID] (getuid): New function (stub).
7689 [!HAVE_GETGID] (getgid): Likewise.
7690 [!HAVE_LSTAT] (lstat): Likewise.
7691 [!S_IROTH] (S_IROTH): New macro (dummy).
7692 [!S_IRGRP] (S_IRGRP): Likewise.
7693
84b860d8
RM
76942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7695
7696 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
7697 conditional expression).
7698
66e9b712
RM
76992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7700
7701 Import from Gnulib.
7702
7703 * gnulib/fnmatch.c: New file.
7704 * gnulib/fnmatch.h: Likewise.
7705 * gnulib/fnmatch_loop.c: Likewise.
7706 * gnulib/getopt.c: Likewise.
7707 * gnulib/getopt.h: Likewise.
7708 * gnulib/getopt1.c: Likewise.
7709 * gnulib/getopt_int.h: Likewise.
7710 * gnulib/gettext.h: Likewise.
7711
34f4a5b0
RM
77122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7713
7714 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
7715 * normal/handler.c (read_handler_list): Likewise.
7716
ac451143
RM
77172009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7718
7719 Misc cleanup.
7720
7721 * kern/command.c (grub_register_command_prio): Use
7722 grub_zalloc() instead of explicitly zeroing data.
7723 * kern/list.c: Include `<grub/mm.h>'.
7724 (grub_named_list_find): Replace `0' with `NULL'.
7725 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
7726 (fs_module_list): Change type to `grub_named_list_t'. Update all
7727 users.
7728 * normal/dyncmd.c (read_command_list): Add space between function
7729 call and parenthesis.
7730 * normal/handler.c (read_handler_list): Likewise.
7731
4089b167
RM
77322009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7733
7734 * normal/auth.c (punishment_delay): Moved from here ...
7735 (grub_auth_strcmp): ... to here (inside function).
7736
325f5037
RM
77372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7738
7739 * include/grub/list.h (struct grub_named_list): Remove `const'
7740 qualifier from `name'.
7741 (struct grub_prio_list): Likewise.
7742
7aea29a3
RM
77432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7744
7745 * normal/auth.c: Include `<grub/time.h>'.
7746 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
7747
3fd6f044
RM
77482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7749
7750 * normal/auth.c (punishment_delay): New variable.
7751 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
7752 (grub_auth_check_authentication): Punish failed login attempts with
7753 an incremental (2^N) delay.
7754
a4cd68e4
RM
77552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7756
7757 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
7758 path with $(srcdir).
7759
7ad12f43
VS
77602009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
7763
c1129f03
RM
77642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7765
7766 * util/i386/coreboot/grub-mkrescue.in: New file.
7767 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
7768 variables.
7769
7770 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
7771 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
7772 * configure.ac: Add header and function checks to satisfy grub-mkisofs
7773 requirements.
7774 * util/mkisofs/defaults.h: New file.
7775 * util/mkisofs/eltorito.c: Likewise.
7776 * util/mkisofs/exclude.h: Likewise.
7777 * util/mkisofs/fnmatch.c: Likewise.
7778 * util/mkisofs/getopt.c: Likewise.
7779 * util/mkisofs/getopt1.c: Likewise.
7780 * util/mkisofs/hash.c: Likewise.
7781 * util/mkisofs/include/fctldefs.h: Likewise.
7782 * util/mkisofs/include/mconfig.h: Likewise.
7783 * util/mkisofs/include/prototyp.h: Likewise.
7784 * util/mkisofs/include/statdefs.h: Likewise.
7785 * util/mkisofs/iso9660.h: Likewise.
7786 * util/mkisofs/joliet.c: Likewise.
7787 * util/mkisofs/match.c: Likewise.
7788 * util/mkisofs/match.h: Likewise.
7789 * util/mkisofs/mkisofs.c: Likewise.
7790 * util/mkisofs/mkisofs.h: Likewise.
7791 * util/mkisofs/multi.c: Likewise.
7792 * util/mkisofs/name.c: Likewise.
7793 * util/mkisofs/rock.c: Likewise.
7794 * util/mkisofs/tree.c: Likewise.
7795 * util/mkisofs/write.c: Likewise.
7796
ec8bb77d
VS
77972009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7798
7799 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
7800 being insecure.
7801
3716b12c
RM
78022009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7803
7804 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
7805 `grub-mkimage' (and use $0 when possible).
7806
b97b7b91
RM
78072009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7808
7809 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
7810 error message for excessively large memory map.
7811
04114812
RM
78122009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7813
7814 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
7815 executable bit.
7816
e4eb2373
RM
78172009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7818
7819 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
7820 message for coreboot users.
7821
c926e1d5 78222009-11-07 Robert Millan <rmh.grub@aybabtu.com>
7823
7824 Fix build with GNU gold.
7825
7826 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
7827 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
7828 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
7829 link addresses.
7830 * aclocal.m4: Likewise.
7831
86e5b1db 78322009-11-04 Felix Zielcke <fzielcke@z-51.de>
7833
7834 * configure.ac (AC_PREREQ): Bump to 2.59d.
7835 * INSTALL: Make it more clear when Autoconf and Ruby are
7836 needed and when to run `./autogen.sh'.
7837
246cd78f 78382009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
7839
7840 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
7841 OSes.
7842
4f9dfb37 78432009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7844
7845 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
7846
b82bd5e1 78472009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7848
7849 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
7850 giving it to GNU Mach.
7851
ff1a9bca 78522009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7853
7854 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
7855 GNU partition number to get internal GRUB partition number.
7856
61697d9c 78572009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7858
7859 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
7860 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
7861
a50569e1 78622009-11-01 Robert Millan <rmh.grub@aybabtu.com>
7863
7864 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
7865 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
7866 case.
7867
5b153867 78682009-11-01 Felix Zielcke <fzielcke@z-51.de>
7869
7870 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
7871
d9e2cd70 78722009-10-30 Robert Millan <rmh.grub@aybabtu.com>
7873
7874 Fix build problem.
7875
7876 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
7877 `-isystem=$(srcdir)/include'.
7878
805111a4 78792009-10-30 Robert Millan <rmh.grub@aybabtu.com>
7880
7881 * util/i386/pc/grub-install.in: Remove hint that device.map should be
7882 checked (grub-install doesn't currently rely on it).
7883
fa6e945f 78842009-10-29 Robert Millan <rmh.grub@aybabtu.com>
7885
7886 Revert SVN r2660.
7887
7888 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
7889 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7890 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
7891 * conf/i386-ieee1275.rmk: Likewise.
7892 * conf/i386-pc.rmk: Likewise.
7893 * conf/powerpc-ieee1275.rmk: Likewise.
7894 * conf/sparc64-ieee1275.rmk: Likewise.
7895 * conf/x86_64-efi.rmk: Likewise.
7896
cee15086 78972009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7898
7899 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
7900
95b9239e 79012009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7902
7903 * include/grub/misc.h: Stop checking for APPLE_CC.
7904
2ed19dfd 79052009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7906
7907 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
7908 doesn't cause an infinite call loop.
7909
fdcdde19 79102009-10-28 Felix Zielcke <fzielcke@z-51.de>
7911
7912 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
7913 strings.
7914
cefabfe1 79152009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7916
7917 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
7918 variable.
7919 * Makefile.in: Likewise.
7920
ed96ab6d 79212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7922
7923 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
7924
0579b753 79252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7926
7927 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
7928
478df409 79292009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7930
7931 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
7932
083d1679 79332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7934
7935 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
7936 from here ...
7937 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
7938
5947ae32 79392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7940
7941 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
7942 in $(MAKEINFO) invocation. This makes it clear in output that
7943 errors are being ignored.
7944
94180ff6 79452009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7946
7947 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
7948 from here ...
7949 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7950 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
7951 * conf/i386-ieee1275.rmk: Likewise.
7952 * conf/i386-pc.rmk: Likewise.
7953 * conf/powerpc-ieee1275.rmk: Likewise.
7954 * conf/sparc64-ieee1275.rmk: Likewise.
7955 * conf/x86_64-efi.rmk: Likewise.
7956
9031b03a 79572009-10-26 Colin Watson <cjwatson@ubuntu.com>
7958
7959 * util/grub-editenv.c (main): If only a command is given, use
7960 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
7961 (usage): FILENAME is now optional and has a default.
7962
e4f6809b 79632009-10-26 Colin Watson <cjwatson@ubuntu.com>
7964
7965 Improve grub-mkconfig performance when there are several menu
7966 entries on a single filesystem.
7967
7968 * util/grub.d/10_linux.in (linux_entry): Cache the output of
7969 prepare_grub_to_access_device.
7970 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7971 * util/grub.d/30_os-prober.in: Likewise.
7972
67937d4d 79732009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7974
7975 * util/grub.d/10_freebsd.in: Remove.
7976 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
7977 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
7978
ee3756cc 79792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7980
5c35048e 7981 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 7982
4dea1c6f 79832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7984
7985 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
7986 grub_util_error() call.
7987
042484d7 79882009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7989
7990 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
7991 `reserved_first_sector' member.
7992 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
7993 `reserved_first_sector' to 1.
7994 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
7995 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
7996 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
7997 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
7998 filesystems which begin at first sector.
7999 (options): New option --skip-fs-probe.
8000 (main): Handle --skip-fs-probe and pass it to setup().
8001
d64448a7 80022009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8003
8004 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
8005 (memset): Fix function prototype.
8006
508d42ec 80072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
80082009-10-25 Vasily Averin <vvs@parallels.com>
8009
8010 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
8011 `dirent.direntlen == 0'.
8012
b240e30c 80132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8014
8015 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
8016 `cpio'.
8017 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
8018
346e7fbe 80192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8020
8021 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
8022 `__trampoline_setup' and `__ucmpdi2'.
8023 * include/grub/powerpc/libgcc.h: Only export symbols for functions
8024 that libgcc provides.
8025
cdb308b0 80262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8027
8028 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
8029 * include/grub/sparc64/libgcc.h (memset): Likewise.
8030 * include/grub/misc.h (memset, memcmp): New function prototypes.
8031
fb26abc2 80322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8033
8034 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
8035 `cpio'.
8036 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
8037
f6693890 80382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8039
8040 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
8041 * docs/grub.cfg: Compensate for recent change in multiboot
8042 loader (since 2009-08-14 it won't pass filename to payload).
8043 * util/grub.d/10_hurd.in: Likewise.
8044
0933cdc0 80452009-10-21 Felix Zielcke <fzielcke@z-51.de>
8046
8047 * config.guess: Update to latest version from config git
8048 repository.
8049 * config.sub: Likewise.
8050
3b2fe8c2 80512009-10-20 Robert Millan <rmh.grub@aybabtu.com>
8052
8053 Fix build on sparc64.
8054
8055 * configure.ac: Perform checks for libgcc symbols before
8056 adding `-nostdlib' to LDFLAGS.
8057
46695a62 80582009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8059
8060 Let user specify OpenBSD root device.
8061
8062 * loader/i386/bsd.c (openbsd_root): New variable.
8063 (openbsd_opts): New option 'root'.
8064 (OPENBSD_ROOT_ARG): New macro.
8065 (grub_openbsd_boot): Use 'openbsd_root'.
8066 (grub_cmd_openbsd): Fill 'openbsd_root'.
8067
d2b6b7fc 80682009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8069
8070 * NEWS: Misc adjustments.
8071
421bd7ac 80722009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8073
8074 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
8075
f1d29d87 80762009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8077
8078 * configure.ac: Bump version to 1.97.
8079
6f3cd880 80802009-10-16 Colin Watson <cjwatson@ubuntu.com>
8081
8082 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
8083 -mno-3dnow on x86 architectures. Some toolchains enable these
8084 features by default, but they rely on registers that aren't enabled
8085 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
8086
035f7122 80872009-10-15 Robert Millan <rmh.grub@aybabtu.com>
8088
8089 Make entry text a bit more readable.
8090
8091 * util/grub.d/10_linux.in: Add `with' before `Linux'.
8092
44998e58 80932009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
8096
cd2851b3 80972009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8098
8099 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
8100 operations.
8101
c6f3b249 81022009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8103
8104 * configure.ac: Add missing dollar.
8105
6b5886ba 81062009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
8109
8110 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
8111 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
8112 exports.
8113 * include/grub/sparc64/libgcc.h: Likewise. Use
8114 preprocessor conditionals.
8115
e9d66f6d 81162009-10-14 Robert Millan <rmh.grub@aybabtu.com>
8117
8118 * conf/common.rmk (grub-dumpbios): Remove rule.
8119 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
8120 * util/grub-dumpbios.in: Remove file.
8121
9155bc17 81222009-10-14 Robert Millan <rmh.grub@aybabtu.com>
8123
8124 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
8125 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
8126
8127 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
8128 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
8129 users.
8130
8131 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
8132 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
8133 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
8134 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
8135 users.
8136
bf7f7a18 81372009-10-12 Robert Millan <rmh.grub@aybabtu.com>
8138
8139 * term/tparm.c: Switch to GPLv3.
8140
86564c26 81412009-10-09 Robert Millan <rmh.grub@aybabtu.com>
8142
8143 * include/grub/i386/cpuid.h: Add header protection.
8144
5c936493 81452009-10-09 Robert Millan <rmh.grub@aybabtu.com>
8146
8147 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
8148
8149 * include/grub/i386/cpuid.h: New file.
8150 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
8151 (has_longmode): Rename to ...
8152 (grub_cpuid_has_longmode): ... this. Update all users. Remove
8153 `static' attribute.
8154 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
8155 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
8156 on a CPU that doesn't implement AMD64 instruction set.
8157
186e7cf2 81582009-10-06 Colin Watson <cjwatson@ubuntu.com>
8159
8160 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
8161 that version.texi is rebuilt on version number changes.
8162
83b65c4a 81632009-10-06 Colin Watson <cjwatson@ubuntu.com>
8164
8165 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
8166 Fixes bug #27602.
8167
d244281c 81682009-10-06 Colin Watson <cjwatson@ubuntu.com>
8169
8170 * util/i386/pc/grub-install.in: Source
8171 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
8172 that the --grub-probe option will work.
8173 * util/sparc64/ieee1275/grub-install.in: Likewise.
8174
da25306d 81752009-10-05 Robert Millan <rmh.grub@aybabtu.com>
8176
8177 * configure.ac: Bump version to 1.97~beta4.
8178
e8ee83c0 81792009-10-03 Robert Millan <rmh.grub@aybabtu.com>
8180
8181 Resync grub-mkdevicemap in x86_64-efi.
8182
8183 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
8184 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
8185 `util/devicemap.c'.
8186
50dcabcf 81872009-10-01 Colin Watson <cjwatson@ubuntu.com>
8188
8189 * util/grub-editenv.c (create_envblk_file): Write new block with a
8190 .new suffix and then rename it into place, to ensure atomic
8191 creation.
8192
0e51c3a7 81932009-09-28 Robert Millan <rmh.grub@aybabtu.com>
8194
8195 Do not automatically install headers.
8196
8197 * Makefile.in (include_DATA): Remove. Update all users.
8198
31299a95 81992009-09-26 Robert Millan <rmh.grub@aybabtu.com>
8200
8201 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
8202 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
8203
8204 * util/osdetect.lua: Remove.
8205 * script/lua/lauxlib.c: Likewise.
8206 * script/lua/ldebug.c: Likewise.
8207 * script/lua/grub_main.c: Likewise.
8208 * script/lua/lauxlib.h: Likewise.
8209 * script/lua/ldebug.h: Likewise.
8210 * script/lua/ltablib.c: Likewise.
8211 * script/lua/liolib.c: Likewise.
8212 * script/lua/lstrlib.c: Likewise.
8213 * script/lua/lualib.h: Likewise.
8214 * script/lua/ldo.c: Likewise.
8215 * script/lua/ldump.c: Likewise.
8216 * script/lua/ldo.h: Likewise.
8217 * script/lua/loslib.c: Likewise.
8218 * script/lua/lundump.c: Likewise.
8219 * script/lua/grub_lib.c: Likewise.
8220 * script/lua/ldblib.c: Likewise.
8221 * script/lua/lundump.h: Likewise.
8222 * script/lua/lmem.c: Likewise.
8223 * script/lua/grub_lib.h: Likewise.
8224 * script/lua/lmathlib.c: Likewise.
8225 * script/lua/lstate.c: Likewise.
8226 * script/lua/ltm.c: Likewise.
8227 * script/lua/lvm.c: Likewise.
8228 * script/lua/lmem.h: Likewise.
8229 * script/lua/lstate.h: Likewise.
8230 * script/lua/ltm.h: Likewise.
8231 * script/lua/ltable.c: Likewise.
8232 * script/lua/lvm.h: Likewise.
8233 * script/lua/llex.c: Likewise.
8234 * script/lua/lgc.c: Likewise.
8235 * script/lua/grub_lua.h: Likewise.
8236 * script/lua/loadlib.c: Likewise.
8237 * script/lua/lfunc.c: Likewise.
8238 * script/lua/lopcodes.c: Likewise.
8239 * script/lua/lparser.c: Likewise.
8240 * script/lua/ltable.h: Likewise.
8241 * script/lua/llex.h: Likewise.
8242 * script/lua/lgc.h: Likewise.
8243 * script/lua/lfunc.h: Likewise.
8244 * script/lua/lbaselib.c: Likewise.
8245 * script/lua/lopcodes.h: Likewise.
8246 * script/lua/lparser.h: Likewise.
8247 * script/lua/lzio.c: Likewise.
8248 * script/lua/linit.c: Likewise.
8249 * script/lua/lobject.c: Likewise.
8250 * script/lua/llimits.h: Likewise.
8251 * script/lua/lstring.c: Likewise.
8252 * script/lua/lzio.h: Likewise.
8253 * script/lua/lapi.c: Likewise.
8254 * script/lua/lcode.c: Likewise.
8255 * script/lua/lua.h: Likewise.
8256 * script/lua/lobject.h: Likewise.
8257 * script/lua/lstring.h: Likewise.
8258 * script/lua/lapi.h: Likewise.
8259 * script/lua/lcode.h: Likewise.
8260 * script/lua/luaconf.h: Likewise.
8261
cb8a2c38 82622009-09-26 Colin Watson <cjwatson@ubuntu.com>
8263
8264 * docs/grub.texi (Command-line and menu entry commands): Document
8265 date and echo commands.
8266
6b9b6276 82672009-09-24 Pavel Roskin <proski@gnu.org>
8268
8269 * include/grub/kernel.h (struct grub_module_header): Remove
8270 `grub_module_header_types'. Make `type' unsigned. Make `size'
8271 32-bit on all platforms.
8272 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
8273 8-bit field. Use grub_host_to_target32() for `size'.
8274 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
8275 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
8276 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
8277
4e5a02a7 82782009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8279
8280 Fix "lost keypress" bug in at_keyboard.
8281
8282 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
8283 Checks for readyness of input buffer (without flushing it).
8284 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
8285 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
8286
c6dcedf6 82872009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8288
8289 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
8290 size check within GRUB_MACHINE_PCBIOS section.
8291
74c958b1 82922009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8293
8294 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
8295 return value.
8296 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
8297 KEYBOARD_ISREADY check.
8298 (grub_at_keyboard_checkkey): Rename to ...
8299 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
8300 Remove gratuitous cast.
8301
ff420223 83022009-09-23 Colin Watson <cjwatson@ubuntu.com>
8303
8304 * configure.ac: Call AC_PROG_MKDIR_P.
8305 * Makefile.in (docs/stamp-vti): Create docs directory. Create
8306 version.texi in $(builddir) rather than $(srcdir).
8307 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
8308 to makeinfo's @include search path.
8309
d96875df 83102009-09-23 Felix Zielcke <fzielcke@z-51.de>
8311
8312 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
8313
9b3f8365 83142009-09-23 Felix Zielcke <fzielcke@z-51.de>
8315
8316 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
8317 for `*.dpkg-new'.
8318
c44c90db 83192009-09-21 Colin Watson <cjwatson@ubuntu.com>
8320
8321 Build info documentation. Some code borrowed from Automake.
8322
8323 * configure.ac: Check for makeinfo.
8324 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
8325 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
8326 docs/version.texi.
8327 (MOSTLYCLEANFILES): Add vti.tmp.
8328 (docs/version.texi, docs/stamp-vti): Update automatically.
8329 (docs/grub.info): Build info documentation. Use --force and ignore
8330 errors for now.
8331 (all-local): Add $(INFOS).
8332 (install-local): Install info files.
8333 (uninstall): Uninstall info files.
8334 * docs/version.texi: Remove from revision control. This file is
8335 automatically generated on build now.
8336 * gendistlist.sh: Add `*.info'.
8337
e0b37bb5 83382009-09-21 Felix Zielcke <fzielcke@z-51.de>
8339
8340 * kern/term.c: Fix indentation.
8341
5a78865b 83422009-09-21 Felix Zielcke <fzielcke@z-51.de>
8343
8344 * util/hostdisk.c: Fix a comment.
8345
dace7e8a 83462009-09-20 Robert Millan <rmh.grub@aybabtu.com>
8347
8348 Fix regression introduced in r2539.
8349
8350 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
8351 to 0xA1.
8352
a83d079b 83532009-09-19 Colin Watson <cjwatson@ubuntu.com>
8354
8355 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 8356 os-prober. Under normal operation, it does not print anything to
8357 stderr; if it does, we need to debug it, and throwing away stderr
8358 makes that excessively difficult.
a83d079b 8359
be94a509 83602009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
8363
63f745e8 83642009-09-16 Robert Millan <rmh.grub@aybabtu.com>
8365
8366 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
8367 AC_LANG_PROGRAM from autoconf.
8368 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
8369 prototypes (fixes warning).
8370
8371 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
8372 `--disable-werror' was used.
8373
bbb2a70f 83742009-09-16 Robert Millan <rmh.grub@aybabtu.com>
8375
8376 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
8377 uninitialized `lastaddr'.
8378
77c24f1d 83792009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8380
0f0b8c87 8381 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 8382
07197f23 83832009-09-14 Colin Watson <cjwatson@ubuntu.com>
8384
8385 * commands/test.c (get_fileinfo): Return immediately if
8386 grub_fs_probe fails.
8387
dabf1798 83882009-09-14 José Martínez <xosemp@gmail.com>
8389
8390 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
8391
d52109a7 83922009-09-14 Colin Watson <cjwatson@ubuntu.com>
8393
8394 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
8395 output.
8396
56532179 83972009-09-13 Robert Millan <rmh.grub@aybabtu.com>
8398
8399 * configure.ac: Remove --enable-grub-pe2elf. Only build
8400 grub-pe2elf when needed by the build system itself.
8401 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
8402
8ef070f5 84032009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8404
8405 * configure.ac: Bump version to 1.97~beta3.
8406 * docs/version.texi: Likewise.
8407
61229557 84082009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8409
8410 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
8411 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
8412 from here ...
8413 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
8414 (grub_linux_setup_video): ... to here (with some adjustments).
8415
5c9f8d84 84162009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8417
8418 Fix memory corruption issue (spotted by Colin Watson).
8419
8420 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
8421 causing returned size to be stored in an incorrect memory location.
8422 Fix use of uninitialized value when storing the returned size.
8423
e8f5d6e9 84242009-09-12 Yves Blusseau <blusseau@zetam.org>
8425
8426 Change clean rules to properly remove files
8427
8428 * genmk.rb: add new clean rules
8429 * Makefile.in (clean): add the new targets
8430 (mostlyclean): likewise
8431
cda2a409 84322009-09-11 Colin Watson <cjwatson@ubuntu.com>
8433
8434 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
8435 to grub_uint64_t.
8436 * fs/ntfs.c (init_file): Understand 64-bit sizes for
8437 non-resident files.
8438
86695375 84392009-09-11 Colin Watson <cjwatson@ubuntu.com>
8440
8441 * configure.ac: Don't look for help2man when cross-compiling. Fixes
8442 part of bug #27349.
8443
8aa1541a 84442009-09-10 Felix Zielcke <fzielcke@z-51.de>
8445
8446 * util/grub-mkconfig.in: Make the created config mode 400 and
8447 print a warning if it fails.
8448
48d9bb0a 84492009-09-10 Robert Millan <rmh.grub@aybabtu.com>
8450
8451 * util/grub.d/40_custom.in: Ask user to type custom entries below
8452 comment, rather than below 'exec tail' line.
8453
3b0521be 84542009-09-10 Colin Watson <cjwatson@ubuntu.com>
8455
8456 * util/grub.d/40_custom.in: Make sure that the explanatory text is
8457 visible in grub.cfg.
8458
50051d55 84592009-09-10 Colin Watson <cjwatson@ubuntu.com>
8460
8461 * util/grub.d/40_custom.in: Make it a little clearer how to use this
8462 file.
8463
c0d34387 84642009-09-10 Felix Zielcke <fzielcke@z-51.de>
8465
8466 * docs/grub.cfg: Add an example menu entry for memtest86+.
8467
80a608f3 84682009-09-09 Felix Zielcke <fzielcke@z-51.de>
8469
a2094832 8470 * config.guess: Update to latest version from config git.
80a608f3 8471 * config.sub: Likewise.
8472
99423078 84732009-09-08 Colin Watson <cjwatson@ubuntu.com>
8474
8475 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
8476 unknown-command case. Fixes bug #27320.
8477
44454e4c 84782009-09-08 Felix Zielcke <fzielcke@z-51.de>
8479
8480 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
8481 `help' if the command exists.
8482
e30d87ad 84832009-09-06 Robert Millan <rmh.grub@aybabtu.com>
8484
8485 * INSTALL: Require GCC 4.1.3 or later.
8486
9a86f1ec 84872009-09-06 Yves Blusseau <blusseau@zetam.org>
8488
8489 * Makefile.in (RMKFILES): add i386-qemu.rmk
8490 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
8491 $(srcdir)/stamp-h.in
8492
7f26d466 84932009-09-05 Robert Millan <rmh.grub@aybabtu.com>
8494
8495 * util/grub-probe.c (probe): Comment out buggy codepath, which
8496 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
8497 should be re-enabled after 1.97.
8498
3a613259 84992009-09-05 Felix Zielcke <fzielcke@z-51.de>
8500
8501 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
8502 find searches for.
8503
197f76c7 85042009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
8505
8506 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
8507 unnecessary calls to grub_error.
8508
70ba68ce 85092009-09-04 Colin Watson <cjwatson@ubuntu.com>
8510
8511 * NEWS: Mention `keystatus' and Unicode fonts.
8512
4ff0d7a4 85132009-09-04 Robert Millan <rmh.grub@aybabtu.com>
8514
8515 * configure.ac: Bump version to 1.97~beta2.
8516 * docs/version.texi: Likewise.
8517
77c55a87 85182009-09-03 Colin Watson <cjwatson@ubuntu.com>
8519
8520 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
8521 containing unwind information in some cases where it previously did
8522 not. Use -fno-dwarf2-cfi-asm if available to restore the old
8523 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
8524 discussion.
8525
f79572cd 85262009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
8527
8528 Embedding loadenv module into grub-emu
8529
8530 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
8531 commands/loadenv.c
8532 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
8533 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
8534 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
8535 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
8536 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
8537 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
8538
93a81088 85392009-09-03 Magnus Granberg <zorry@ume.nu>
8540
8541 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
8542 include -fPIE in the default specs.
8543 * configure.ac: Check if pie_possible is yes and add -fno-PIE
8544 to TARGET_CFLAGS.
8545
160034b2 85462009-09-03 Felix Zielcke <fzielcke@z-51.de>
8547
8548 * INSTALL: Note that GNU Bison 2.3 or later is required.
8549
087c07c4 85502009-09-03 Colin Watson <cjwatson@ubuntu.com>
8551
8552 * kern/i386/pc/startup.S: Fix typo.
8553
cbf978c0 85542009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
8557 according to GCS.
8558
85592009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 8560
8561 * docs/grub.texi (Naming convention): Describe one-based partition
8562 numbering.
8563 (Device syntax): Likewise.
8564 (File name syntax): Likewise.
8565 (Block list syntax): Likewise.
8566 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
8567 menu.lst.
8568 (File name syntax): Likewise.
8569 (Command-line and menu entry commands): Document acpi, blocklist,
8570 crc, export, insmod, keystatus, ls, set, and unset commands.
8571
f3e8cdfd 85722009-09-02 Colin Watson <cjwatson@ubuntu.com>
8573
8574 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
8575 to avoid implying that only one of --shift, --ctrl, or --alt may be
8576 used.
8577
c0bc232b 85782009-09-02 Colin Watson <cjwatson@ubuntu.com>
8579
8580 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
8581 rather than comparing against S_IFREG, which will almost never work.
8582
aa0f752d 85832009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
8584
8585 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
8586 (write_blocklists): Likewise.
8587
ecb3166a 85882009-09-01 Colin Watson <cjwatson@ubuntu.com>
8589
8590 * script/lua/grub_lua.h (fputs): Supply a format string as the first
8591 argument to grub_printf.
8592
c403a125 85932009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 8594
8595 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 8596 non GNU test.
31aba781 8597
b5e7312c 85982009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * kern/file.c (grub_file_read): Spelling fix
8601
fe00f472 86022009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8603
8604 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
8605 loading of headers in some cases.
8606
cc55302e 86072009-08-30 Robert Millan <rmh.grub@aybabtu.com>
8608
8609 * configure.ac: Bump version to 1.97~beta1.
8610 * docs/version.texi: Likewise.
8611
5c90cdd2 86122009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 8613
8614 * include/grub/i386/xnu.h: Add license header.
8615 include grub/err.h explicitly.
8616
c90edae4 86172009-08-29 Robert Millan <rmh.grub@aybabtu.com>
8618
8619 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
8620 to `ufs' in the vfs.root.mountfrom kernel parameter.
8621
d8888b5c 86222009-08-29 Robert Millan <rmh.grub@aybabtu.com>
8623
8624 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
8625
8626 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
8627 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
8628
8629 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
8630 `ARRAY_SIZE' macro.
8631
6f07b921 86322009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 * kern/file.c (grub_file_read): Check offset.
8635 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
8636 * fs/jfs.c (grub_jfs_read_file): Likewise.
8637 * fs/ntfs.c (grub_ntfs_read): Likewise.
8638 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
8639 * fs/minix.c (grub_minix_read_file): Correct offset check.
8640 * fs/ufs.c (grub_ufs_read_file): Likewise.
8641
b4f34077 86422009-08-28 Colin Watson <cjwatson@ubuntu.com>
8643
8644 * term/i386/pc/console.c (bios_data_area): Cast
8645 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
8646
e7c69859 86472009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 1-bit optimised blitters.
8650
8651 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
8652 prototype.
8653 (grub_video_fbblit_replace_24bit_1bit): Likewise.
8654 (grub_video_fbblit_replace_16bit_1bit): Likewise.
8655 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8656 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
8657 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
8658 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
8659 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
8660 function.
8661 (grub_video_fbblit_replace_24bit_1bit): Likewise.
8662 (grub_video_fbblit_replace_16bit_1bit): Likewise.
8663 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8664 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
8665 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
8666 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
8667 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
8668 when possible.
8669 * video/video.c (grub_video_get_blit_format): Return
8670 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
8671
a57da43f 86722009-08-28 Colin Watson <cjwatson@ubuntu.com>
8673
8674 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
8675 the first argument to grub_printf.
8676
4cbe67e5 86772009-08-28 Colin Watson <cjwatson@ubuntu.com>
86782009-08-28 Robert Millan <rmh.grub@aybabtu.com>
8679
8680 Add `getkeystatus' terminal method. Add a new `keystatus' command
8681 to query it.
8682
8683 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
8684 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
8685 modifier key bitmasks.
8686 (struct grub_term_input): Add `getkeystatus' member.
8687 (grub_getkeystatus): Add prototype.
8688 * kern/term.c (grub_getkeystatus): New function.
8689
8690 * include/grub/i386/pc/memory.h
8691 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
8692 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
8693 Data Area layout.
8694 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
8695 (grub_console_term_input): Set `getkeystatus' member.
8696 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
8697 constants.
8698 (grub_usb_keyboard_getreport): Likewise.
8699 (grub_usb_keyboard_checkkey): Likewise.
8700 (grub_usb_keyboard_getkeystatus): New function.
8701 (grub_usb_keyboard_term): Set `getkeystatus' member.
8702
8703 * commands/keystatus.c: New file.
8704 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
8705 (keystatus_mod_SOURCES): New variable.
8706 (keystatus_mod_CFLAGS): Likewise.
8707 (keystatus_mod_LDFLAGS): Likewise.
8708 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
8709 commands/keystatus.c.
8710 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8711 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8712 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8713 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8714 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8715 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 8716
6e2a9085 87172009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 Split befs.mod and afs.mod into *_be.mod and *.mod
8720
8721 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
8722 (grub_fstest_SOURCES): Likewise.
8723 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
8724 (afs_be_mod_SOURCES): New variable.
8725 (afs_be_mod_CFLAGS): Likewise.
8726 (afs_be_mod_LDFLAGS): Likewise.
8727 (befs_be_mod_SOURCES): Likewise.
8728 (befs_be_mod_CFLAGS): Likewise.
8729 (befs_be_mod_LDFLAGS): Likewise.
8730 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
8731 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8732 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8733 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8734 (grub_emu_SOURCES): Likewise.
8735 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8736 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8737 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8738 * fs/afs_be.c: New file.
8739 * fs/befs_be.c: New file.
8740 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
8741 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
8742 (U16): Replaced with ...
8743 (grub_afs_to_cpu16): ...this. All users updated.
8744 (U32): Replaced with ...
8745 (grub_afs_to_cpu32): ...this. All users updated.
8746 (U64): Replaced with ...
8747 (grub_afs_to_cpu64): ...this. All users updated.
8748 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
8749 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 8750 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 8751 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
8752 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
8753 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
8754 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
8755 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
8756 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
8757 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
8758 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
8759
32a71655 87602009-08-26 Bean <bean123ch@gmail.com>
8761
8762 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
8763 64-bit number.
8764 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
8765 (grub_xfs_inode_block): Change return type to grub_uint64_t.
8766 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
8767
552bf6c5 87682009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8769
8770 NetBSD memory map support.
8771
8772 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
8773 (grub_netbsd_btinfo_mmap_header): New structure.
8774 (grub_netbsd_btinfo_mmap_entry): Likewise.
8775 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
8776
1ae2078c 87772009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8778
8779 Enable bsd.mod on coreboot.
8780
8781 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
8782 (bsd_mod_SOURCES): New variable.
8783 (bsd_mod_CFLAGS): Likewise.
8784 (bsd_mod_LDFLAGS): Likewise.
8785 (bsd_mod_ASFLAGS): Likewise.
8786 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
8787 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
8788
beefc598 87892009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8790
8791 Cleanup NetBSD root support.
8792
8793 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
8794 grub_bsd_get_device.
8795 Fix typo.
8796
3b76e68b 87972009-08-25 Felix Zielcke <fzielcke@z-51.de>
8798
8799 * util/grub.d/00_header.in: Move check for the video backend of
8800 gfxterm from here ...
8801 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
8802 a suitable video backend.
8803
aea664ea 88042009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 Fix breakage in grub-setup.
8807
8808 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
8809 "msdos_partition_map".
8810
ff747d50 88112009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8812
8813 Fix breakage in normal/auth.c.
8814
8815 * normal/auth.c (grub_iswordseparator): New function.
8816
e7e1f93f 88172009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 Authentication support.
8820
8821 * commands/password.c: New file.
8822 * conf/common.rmk (pkglib_MODULES): Add password.mod.
8823 (password_mod_SOURCES): New variable.
8824 (password_mod_CFLAGS): Likewise.
8825 (password_mod_LDFLAGS): Likewise.
8826 (normal_mod_SOURCES): Add normal/auth.c.
8827 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
8828 normal/auth.c.
8829 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8830 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8831 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8832 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8833 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8834 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8835 * include/grub/auth.h: New file.
8836 * include/grub/err.h (grub_err_t): New enum value
8837 GRUB_ERR_ACCESS_DENIED.
8838 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
8839 'users'.
8840 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
8841 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
8842 users updated.
8843 * normal/auth.c: New file.
8844 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
8845 (grub_cmdline_run): Don't allow to go to command line without
8846 authentication.
8847 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
8848 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
8849 menuentry without superuser rights.
8850 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
8851 user isn't a superuser.
8852
70f1161d 88532009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8854
8855 Save space by inlining misc.c functions.
8856
8857 * kern/misc.c (grub_iswordseparator): Made static.
8858 * kern/misc.c (grub_strcat): Moved from here ...
8859 * include/grub/misc.h (grub_strcat): ... here. Inlined.
8860 * kern/misc.c (grub_strncat): Moved from here ...
8861 * include/grub/misc.h (grub_strncat): ... here. Inlined.
8862 * kern/misc.c (grub_strcasecmp): Moved from here ...
8863 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
8864 * kern/misc.c (grub_strncasecmp): Moved from here ...
8865 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
8866 * kern/misc.c (grub_isalpha): Moved from here ...
8867 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
8868 * kern/misc.c (grub_isdigit): Moved from here ...
8869 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
8870 * kern/misc.c (grub_isgraph): Moved from here ...
8871 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
8872 * kern/misc.c (grub_tolower): Moved from here ...
8873 * include/grub/misc.h (grub_tolower): ... here. Inlined.
8874
48e40bff 88752009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8876
8877 * script/sh/function.c (grub_script_function_find): Cut error message
8878 not to flood terminal.
8879 * script/sh/lexer.c (grub_script_yylex): Remove command line length
8880 limit.
8881 * script/sh/script.c (grub_script_arg_add): Duplicate string.
8882
c385bfc3 88832009-08-24 Colin Watson <cjwatson@ubuntu.com>
8884
8885 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
8886 `report' grub_uint8_t *.
8887 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
8888 Use a 50-millisecond timeout rather than just repeating
8889 grub_usb_keyboard_getreport 50 times.
8890 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
8891
2d21e3e8 88922009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8893
8894 Rename *_partition_map to part_*
8895
8896 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
8897 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
8898 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
8899 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
8900 All users updated.
8901 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
8902 All users updated.
8903 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
8904 * util/grub-probe.c (probe_partmap): Don't transform partition name
8905 to get module name.
8906
dd103c4e 89072009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8908
8909 Fix OpenBSD and NetBSD support.
8910
8911 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
8912 memory address conflict.
8913 (OPENBSD_MMAP_ACPI): New definition.
8914 (OPENBSD_MMAP_NVS): Likewise.
8915 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
8916 and OPENBSD_MMAP_NVS.
8917 Add memory map terminator
8918 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 8919 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 8920
16c84d74 89212009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 Let user specify NetBSD root device.
8924
8925 * loader/i386/bsd.c (netbsd_root): New variable.
8926 (netbsd_opts): New option 'root'.
8927 (NETBSD_ROOT_ARG): New macro.
8928 (grub_netbsd_boot): Use 'netbsd_root'.
8929 (grub_bsd_unload): Free 'netbsd_root'.
8930 (grub_cmd_netbsd): Fill 'netbsd_root'.
8931
adb29902 89322009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8933
8934 Support for 64-bit NetBSD.
8935
8936 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
8937 point when booting non-FreeBSD.
8938
f5ae9f74 89392009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8940
8941 Support --no-smp and --no-acpi for NetBSD.
8942
8943 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
8944 (NETBSD_AB_NOACPI): Likewise.
8945 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
8946 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
8947
de74f136 89482009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8949
8950 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
8951 errors.
8952 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
8953 errors. Call grub_error when needed.
8954
e9a925da 89552009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 * commands/search.c (search_fs): Try searching without autoload first.
8958 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8959 filesystem module explicitly for faster booting.
8960
5174302b 89612009-08-23 Colin Watson <cjwatson@ubuntu.com>
8962
8963 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
8964
c8c80635 89652009-08-23 Colin Watson <cjwatson@ubuntu.com>
8966
8967 * util/grub.d/30_os-prober.in: Disable os-prober if
8968 `GRUB_DISABLE_OS_PROBER' was set to true.
8969
71acf5e5 89702009-08-23 Robert Millan <rmh.grub@aybabtu.com>
8971
8972 * partmap/pc.c: Rename to ...
8973 * partmap/msdos.c: ... this. Update all users.
8974 (grub_pc_partition_map): Rename to ...
8975 (grub_msdos_partition_map): ... this. Update all users.
8976
8977 * parttool/pcpart.c: Rename to ...
8978 * parttool/msdospart.c: ... this. Update all users.
8979
8980 * include/grub/pc_partition.h: Rename to ...
8981 * include/grub/msdos_partition.h: ... this. Update all users.
8982 (grub_pc_partition_bsd_entry): Rename to ...
8983 (grub_msdos_partition_bsd_entry): ... this. Update all users.
8984 (grub_pc_partition_disk_label): Rename to ...
8985 (grub_msdos_partition_disk_label): ... this. Update all users.
8986 (grub_pc_partition_entry): Rename to ...
8987 (grub_msdos_partition_entry): ... this. Update all users.
8988 (grub_pc_partition_mbr): Rename to ...
8989 (grub_msdos_partition_mbr): ... this. Update all users.
8990 (grub_pc_partition): Rename to ...
8991 (grub_msdos_partition): ... this. Update all users.
8992 (grub_pc_partition_is_empty): Rename to ...
8993 (grub_msdos_partition_is_empty): ... this. Update all users.
8994 (grub_pc_partition_is_extended): Rename to ...
8995 (grub_msdos_partition_is_extended): ... this. Update all users.
8996 (grub_pc_partition_is_bsd): Rename to ...
8997 (grub_msdos_partition_is_bsd): ... this. Update all users.
8998
8999 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
9000 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
9001 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
9002 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
9003 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
9004 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
9005 (gpt_mod_LDFLAGS): Rename to ...
9006 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
9007 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
9008 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
9009 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
9010 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
9011 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
9012 (part_gpt_mod_LDFLAGS): ... this.
9013 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
9014 `pcpart.mod' to `msdospart.mod'.
9015 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
9016 to ...
9017 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
9018 (msdospart_mod_LDFLAGS): ... this.
9019
c11fded5 90202009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
9023 (openbsd_opts): Likewise.
9024 (netbsd_opts): Likewise.
9025 (freebsd_flags): Added 0 terminator.
9026 (openbsd_flags): Likewise.
9027 (netbsd_flags): Likewise.
9028 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
9029 (grub_cmd_freebsd): Transformed into extended command.
9030 (grub_cmd_openbsd): Likewise.
9031 (grub_cmd_netbsd): Likewise.
9032 (cmd_freebsd): Changed type to grub_extcmd_t.
9033 (cmd_openbsd): Likewise.
9034 (cmd_netbsd): Likewise.
9035 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
9036 grub_cmd_openbsd as extended commands.
9037 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
9038 cmd_netbsd and cmd_openbsd
9039
11d1c769 90402009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9041
9042 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
9043
7a9094e5 90442009-08-21 Pavel Roskin <proski@gnu.org>
9045
5496c37e 9046 * Makefile.in (install-local): When checking if a file is in the
9047 build directory, use "test -e" to detect symlinks.
9048
7a9094e5 9049 * Makefile.in (install-local): Remove all files in
9050 $(DESTDIR)$(pkglibdir) before installing new files there.
9051
e53cea11 90522009-08-18 Felix Zielcke <fzielcke@z-51.de>
9053
9054 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
9055 grub-mkelfimage.
9056
9aced544 90572009-08-18 Felix Zielcke <fzielcke@z-51.de>
9058
9059 * util/grub-mkconfig.in: Don't use gfxterm by default if not
9060 explicitly specified by the user.
9061
b7da6bab 90622009-08-18 Pavel Roskin <proski@gnu.org>
9063
9064 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
9065 grub_uint8_t pointer for data.
9066 * include/grub/fbutil.h (struct grub_video_fbblit_info):
9067 Likewise.
9068 * video/fb/fbutil.c: Remove unnecessary casts.
9069
19f1b335 90702009-08-17 Michal Suchanek <hramrach@centrum.cz>
9071
9072 VBE cleanup.
9073
9074 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
9075 (grub_vbe_set_video_mode): Save active mode info
9076 only after setting the mode.
9077 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
9078 second argument.
9079
2f467aa9 90802009-08-17 Michal Suchanek <hramrach@centrum.cz>
9081
9082 Rename variables for clarity.
9083
9084 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
9085 (active_vbe_mode_info): ... this. All users updated.
9086 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
9087 All users updated.
9088 (initial_mode): Rename to ...
9089 (initial_vbe_mode): ... this. All users updated.
9090 (mode_in_use): Rename to ..
9091 (vbe_mode_in_use): ... this. All users updated.
9092 (mode_list): Rename to ..
9093 (vbe_mode_list): ... this. All users updated.
9094 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
9095 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
9096 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
9097 'mode_list_size' to 'vbe_mode_list_size'.
9098 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
9099 'best_mode_info' to 'best_vbe_mode_info' and
9100 'best_mode' to 'best_vbe_mode'
9101
6025fcd7 91022009-08-17 Michal Suchanek <hramrach@centrum.cz>
9103
9104 Remove duplicate grub_video_fb_get_video_ptr.
9105
9106 * include/grub/fbutil.h (get_data_ptr): Rename to ...
9107 (grub_video_fb_get_video_ptr): ... this.
9108 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
9109 * video/fb/fbutil.c: Add comment about addressing.
9110 (get_data_ptr): Rename to ...
9111 (grub_video_fb_get_video_ptr): ... this. All users updated.
9112 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
9113
cc8c6faf 91142009-08-17 Robert Millan <rmh.grub@aybabtu.com>
9115
9116 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
9117 grub_dprintf() that was just added.
9118
08aa61f0 91192009-08-17 Robert Millan <rmh.grub@aybabtu.com>
9120
9121 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
9122 (DEFAULT_VIDEO_MODE): Remove macros.
9123 (grub_linux_boot): Remove assumption that Linux has FB support,
9124 and use "text" as default video mode.
9125
7cef4f75 91262009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
9127
9128 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
9129 grub_dprintf.
9130 * fs/fat.c (grub_fat_read_data): Likewise.
9131
e1f39873 91322009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
9135 payload.
9136 (grub_module): Likewise.
9137
c166d79e 91382009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
9141 mbi->cmdline but free playground.
9142
c60cee8e 91432009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 Handle group offset on UFS1.
9146
9147 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
9148 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
9149
c0d8b5d4 91502009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 Split ufs.mod into ufs1.mod and ufs2.mod.
9153
9154 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
9155 (grub_fstest_SOURCES): Likewise.
9156 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
9157 (ufs_mod_SOURCES): Remove.
9158 (ufs_mod_CFLAGS): Likewise.
9159 (ufs_mod_LDFLAGS): Likewise.
9160 (ufs1_mod_SOURCES): New variable.
9161 (ufs1_mod_CFLAGS): Likewise.
9162 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 9163 (ufs2_mod_SOURCES): New variable.
9164 (ufs2_mod_CFLAGS): Likewise.
9165 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 9166 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
9167 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
9168 Likewise.
9169 (grub_emu_SOURCES): Likewise.
9170 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9171 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9172 (grub_setup_SOURCES): Likewise.
9173 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9174 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
9175 (grub_setup_SOURCES): Likewise.
9176 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
9177 Likewise.
9178 * fs/ufs2.c: New file.
9179 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
9180
d3539132 91812009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 Framebuffer split.
9184
9185 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
9186 subsystem at the end.
9187 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
9188 (video_fb_mod_SOURCES): New variable.
9189 (video_fb_mod_CFLAGS): Likewise.
9190 (video_fb_mod_LDFLAGS): Likewise.
9191 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
9192 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
9193 * video/i386/pc/vbeblit.c: Moved from here ...
9194 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
9195 * video/i386/pc/vbefill.c: Moved from here ...
9196 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
9197 * video/i386/pc/vbeutil.c: Moved from here ...
9198 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
9199 * include/grub/i386/pc/vbeblit.h: Moved from here ...
9200 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
9201 * include/grub/i386/pc/vbefill.h: Moved from here ...
9202 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
9203 * include/grub/i386/pc/vbeutil.h: Moved from here ...
9204 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
9205 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
9206 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
9207 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
9208 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
9209 (grub_video_adapter): Added 'get_info_and_fini'.
9210 (grub_video_get_info_and_fini): New prototype.
9211 (grub_video_set_mode): make modestring const char *.
9212 * loader/i386/linux.c (grub_linux_setup_video): Use
9213 grub_video_get_info_and_fini.
9214 (grub_linux_boot): Move modesetting just before booting.
9215 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
9216 grub_video_get_info_and_fini.
9217 * video/i386/pc/vbe.c: Moved framebuffer part ...
9218 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
9219 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
9220 grub_video_fbstd_colors and grub_video_fb_set_palette.
9221 (grub_video_vbe_init): Clear 'framebuffer' variable and use
9222 grub_video_fb_init.
9223 (grub_video_vbe_fini): Use grub_video_fb_fini.
9224 (grub_video_vbe_setup): Use framebuffer.render_target instead of
9225 render_target and use grub_video_fb_set_active_render_target and
9226 grub_video_fb_set_palette.
9227 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
9228 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
9229 (grub_video_vbe_adapter): Use framebuffer.
9230 * video/video.c (grub_video_get_info_and_fini): New function.
9231 (grub_video_set_mode): Make modestring const char *.
9232 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
9233 values are already initialised.
9234
d404ee56 92352009-08-14 Pavel Roskin <proski@gnu.org>
9236
9237 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
9238 ABS and APPLE_CC.
9239 * boot/i386/pc/diskboot.S: Likewise.
9240 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
9241 sectors allow compilation on MacOSX.
9242 * conf/i386-pc.rmk: Enable unconditional compilation of
9243 lnxboot.img.
9244
9a10df16 92452009-08-13 Colin Watson <cjwatson@ubuntu.com>
9246
9247 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
9248 * util/grub.d/00_header.in: Enter interruptible sleep if
9249 GRUB_HIDDEN_TIMEOUT is set.
9250
be3c9ca7 92512009-08-13 Yves Blusseau <blusseau@zetam.org>
9252
9253 * include/grub/symbol.h: Add the LOCAL macro.
9254 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
9255 starting with "L_".
9256
1f9e557e 92572009-08-13 Pavel Roskin <proski@gnu.org>
9258
9ca62843 9259 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
9260 any modern compilers we support.
9261
1f9e557e 9262 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
9263 Use local labels starting with "L_" so that Apple assembler
9264 knows they are local.
9265
81623db6 92662009-08-10 Robert Millan <rmh.grub@aybabtu.com>
9267
9268 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
9269 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
9270 (bsd_kernel_types): ... this enum.
9271
9272 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
9273 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
9274 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
9275
9276 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
9277 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
9278 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
9279 messages.
9280
f5d35e7a 92812009-08-08 Robert Millan <rmh.grub@aybabtu.com>
9282
9283 * util/grub-dumpdevtree: Moved from here ...
9284 * util/i386/efi/grub-dumpdevtree: ... to here.
9285 (hexify): New function. Converts a string to its hex version.
9286 Generate hex versions of "efi" and "device-properties" by calling
9287 hexify() on the ASCII strings rather than by hardcoding numbers.
9288
d1e1d527 92892009-08-08 Robert Millan <rmh.grub@aybabtu.com>
9290
9291 * fs/jfs.c: Update copyright year.
9292
1ebbe064 92932009-08-08 Felix Zielcke <fzielcke@z-51.de>
9294
9295 * util/grub.d/00_header.in: Fix a comment.
9296 * util/grub.d/10_linux.in: Likewise.
9297 * util/grub.d/10_windows.in: Likewise.
9298 * util/grub.d/10_hurd.in: Likewise.
9299
a78c8d24 93002009-08-08 Felix Zielcke <fzielcke@z-51.de>
9301
9302 * util/grub-mkconfig.in: Allow the user to specify the used font
9303 with GRUB_FONT.
9304
29a6b9e8 93052009-08-08 Pavel Roskin <proski@gnu.org>
9306
b5f16cc4 9307 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
9308 available, xfs.mod needs it now.
9309
2f5cb827 9310 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
9311 the "g" modifier in sed when the intention is to strip something
9312 once. This fixes comparison of kernels with multiple dashes.
9313
29a6b9e8 9314 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
9315 on it. Add missing space before closing bracket. Fix
9316 misleading formatting.
9317
892a3d98 93182009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9319
9320 * docs/grub.texi: Major overhaul. Remove all sections that are
9321 specific to GRUB Legacy, or mostly composed of Legacy-specific
9322 information.
9323
ed94253f 93242009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9325
9326 * docs/version.texi: New file. Provides version information for
9327 grub.texi.
9328
126d6628 93292009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9330
9331 * docs/grub.texi: Update CVS information to SVN.
9332 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
9333
998b5aa9 93342009-08-07 Felix Zielcke <fzielcke@z-51.de>
9335
9336 * util/grub-mkconfig.in: Remove a wrong `fi'.
9337
818e094a 93382009-08-07 Felix Zielcke <fzielcke@z-51.de>
9339
9340 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
9341 (grub_jfs_uuid): New function.
9342 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
9343
b969c52f 93442009-08-07 Felix Zielcke <fzielcke@z-51.de>
9345
9346 * util/grub-mkconfig_lib.in (font_path): Move the functionality
9347 of it to ...
9348 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
9349 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
9350
7a4894cc 93512009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9352
9353 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
9354 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
9355 Update all users.
9356
9357 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
9358 not just "vmlinu[zx]".
9359 Moved from here ...
9360 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
9361 all users.
9362
9363 * util/grub.d/10_linux.in (find_latest): Moved from here ...
9364 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
9365 all users.
9366
4e2171f8 93672009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9368
9369 * util/grub.d/10_freebsd.in: Use an absolute device path for
9370 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
9371
6dcfcb32 93722009-08-06 Felix Zielcke <fzielcke@z-51.de>
9373
9374 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
9375 handling of multiple abstraction modules.
9376
f56a8756 93772009-08-04 Robert Millan <rmh.grub@aybabtu.com>
9378
9379 Fix a bug resulting in black screen when loading Linux using a
9380 packed video mode.
9381
9382 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
9383 function.
9384
9385 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
9386 (grub_vbe_bios_getset_dac_palette_width): New function.
9387 (grub_vbe_bios_get_dac_palette_width)
9388 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
9389 grub_vbe_bios_getset_dac_palette_width()).
9390
9391 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
9392 check for return status.
9393 (grub_vbe_get_video_mode_info): When getting information for a packed
9394 mode (<= 8 bpp), obtain DAC palette width using
9395 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
9396 {red,green,blue}_mark_size.
9397
222671b2 93982009-08-04 Felix Zielcke <fzielcke@z-51.de>
9399
ecb1a6d9 9400 * commands/search.c (options): Fix help output to match actual code.
222671b2 9401
f84114f5 94022009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
9405 of homegrown code.
9406
bd288a20 94072009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 9408
9409 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
9410 on XFS or ReiserFS.
9411
8aab5e25 94122009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9413
9414 Support Apple partition map with sector size different from 512 bytes.
9415
9416 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
9417 (apple_partition_map_iterate): Respect 'aheader.blocksize'
9418 and 'apart.partmap_size'.
9419
6ad6258a 94202009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
94212009-08-01 Robert Millan <rmh.grub@aybabtu.com>
9422
9423 Fix cpuid command.
9424
9425 * commands/i386/cpuid.c (options): New variable.
9426 (grub_cmd_cpuid): Return real error.
9427 (GRUB_MOD_INIT(cpuid)): Declare options.
9428
67459bc6 94292009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
9430
9431 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
9432 valid.
9433
fbc6ab54 94342009-07-31 Bean <bean123ch@gmail.com>
9435
9436 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
9437 log2_inode.
9438 (grub_fshelp_node): Move inode field to the end.
9439 (grub_xfs_data): Remove inode field.
9440 (grub_xfs_inode_block): Calculate inode size using sblock.
9441 (grub_xfs_inode_offset): Likewise.
9442 (grub_xfs_read_inode): Calculate inode size using sblock.
9443 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
9444 (grub_xfs_iterate_dir): Calculate inode size using sblock.
9445 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
9446 to match inode size.
9447 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
9448 not accessible when data is null.
9449 (grub_xfs_open): Likewise.
9450
f45d6cfc 94512009-07-31 Bean <bean123ch@gmail.com>
9452
9453 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
9454 Don't change pv->disk if it's already set.
9455
9456 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
9457 (grub_raid_register): ... here.
9458 (grub_raid_rescan): Removed.
9459
9460 * include/grub/raid.h (grub_raid_rescan): Removed.
9461
9462 * util/grub-fstest.c: Remove include file <grub/raid.h>.
9463 (fstest): Replace grub_raid_rescan with module fini function followed
9464 by init function.
9465
9466 * util/grub-probe.c: Add include file <grub/raid.h>.
9467 (probe_raid_level): New function.
9468 (probe): Detect abstraction by walking the disk device, support two
9469 level of abstraction (LVM on RAID) when detecting partition map.
9470
24443b5a 94712009-07-31 Pavel Roskin <proski@gnu.org>
9472
9473 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
9474 to grub_zalloc(), it was erroneous.
9475 Reported by Bean <bean123ch@gmail.com>
9476
a275d9e7 94772009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
9478
9479 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 9480 embedding zone, not only the first one.
a275d9e7 9481
56c5a47f 94822009-07-29 Joe Auricchio <jauricchio@gmail.com>
9483
9484 * term/gfxterm.c (clear_char): New function.
9485 (grub_virtual_screen_setup): Use clear_char.
9486 (scroll_up): Likewise.
9487 (grub_virtual_screen_cls): Likewise.
9488
67bb323a 94892009-07-29 Felix Zielcke <fzielcke@z-51.de>
9490
9491 * util/deviceiter.c (get_acceleraid_disk_name): New static
9492 function.
9493 (grub_util_iterate_devices): Handle Accelraid devices.
9494 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
9495
388a7c75 94962009-07-28 Robert Millan <rmh.grub@aybabtu.com>
9497
9498 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
9499 separator for the suggested gfxpayload string (';' collides with the
9500 parser and needs escaping).
9501
3bb7abcf 95022009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
9505 Clear direction flag before jumping to OS.
9506 (grub_multiboot2_real_boot): Likewise.
9507
2ddd36d7 95082009-07-28 Felix Zielcke <fzielcke@z-51.de>
9509
9510 * util/i386/pc/grub-install: Fix parsing of --disk-module
9511 option.
9512
c521b62b 95132009-07-28 Felix Zielcke <fzielcke@z-51.de>
9514
9515 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
9516 when embedding.
9517
880e0a0c 95182009-07-26 Felix Zielcke <fzielcke@z-51.de>
9519
9520 * util/grub-mkconfig.in (package_version): New variable.
9521 Use it do display the version.
9522
2366e356 95232009-07-25 Felix Zielcke <fzielcke@z-51.de>
9524
9525 * kern/file.c (grub_file_open): Revert to previous check with
9526 grub_errno.
9527
7ad8c80e 95282009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
9531 from help line. It's out of sync with code.
9532
72b9658b 95332009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
9536 entries on failed boot.
9537
77435277 95382009-07-25 Felix Zielcke <fzielcke@z-51.de>
9539
9540 * kern/file.c (grub_file_open): Fix an error check.
9541
fcaa8b21 95422009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
9543
35d16c74 9544 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
9545 partition map couldn't be identified.
fcaa8b21 9546
48904cd1 95472009-07-23 Pavel Roskin <proski@gnu.org>
9548
ef3c317f 9549 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
9550 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
9551 case of little endian words becomes just an optimization.
9552 Respect const modifier.
ad8ea1f4 9553 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 9554
48904cd1 9555 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
9556 to avoid loss of upper bits if align is unsigned and shorter
9557 than addr.
9558
260c9a89 95592009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
9560
9561 UUID support for UFS
9562
9563 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
9564 (grub_ufs_uuid): New function.
9565 (grub_ufs_fs): add .uuid
9566
f76ce889 95672009-07-21 Pavel Roskin <proski@gnu.org>
9568
9569 * kern/dl.c (grub_dl_check_header): Make static.
9570
6a6cbcaf 95712009-07-21 Felix Zielcke <fzielcke@z-51.de>
9572
9573 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
9574 add drivemap for Vista. It breaks Windows 7.
9575
cffcddb2 95762009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
9577
9578 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
9579 128 bytes
9580
1ef44b80 95812009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9582
9583 Add BFS support
9584
9585 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
9586 (grub_fstest_SOURCES): Likewise.
9587 (pkglib_MODULES): Add befs.mod.
9588 (befs_mod_SOURCES): New variable.
9589 (befs_mod_CFLAGS): Likewise.
9590 (befs_mod_LDFLAGS): Likewise.
9591 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9592 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9593 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9594 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9595 (grub_setup_SOURCES): Likewise.
9596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9597 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9598 (grub_setup_SOURCES): Likewise.
9599 * fs/befs.c: New file.
9600 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
9601 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
9602 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
9603 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
9604 (B_KEY_INDEX_ALIGN): New declaration.
9605 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
9606 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
9607 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
9608 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
9609 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
9610 (grub_afs_mount) [MODE_BFS]: Likewise.
9611 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
9612 (grub_afs_fs): Use GRUB_AFS_FSNAME
9613 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
9614 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
9615 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
9616 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
9617
4f253044 96182009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
9619
9620 * util/getroot.c (find_root_device): Add support for MacOSX.
9621 * util/hostdisk.c: Likewise.
9622
57a55913 96232009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 * font/font.c (find_glyph): Check whether a font is present to avoid
9626 segmentation fault.
75421ca9 9627
96282009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 9629
9630 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
9631
e98cd0c2 96322009-07-20 Pavel Roskin <proski@gnu.org>
9633
9634 * configure.ac: Trim excessively wordy excuses.
9635
1d2d169a 96362009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 Add symlink, mtime and label support to AtheFS.
9639
9640 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
9641 (grub_afs_iterate_dir): Handle symlinks.
9642 (grub_afs_open): Use grub_afs_read_symlink.
9643 (grub_afs_dir): Likewise.
9644 Pass mtime.
9645 (grub_afs_label): New function.
9646 (grub_afs_fs): Add grub_afs_label.
9647 (grub_afs_read_symlink): New function.
9648
186f3189 96492009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 Fix AtheFS support.
9652
9653 * fs/afs.c: Fix comments style.
9654 (grub_afs_blockrun): Declare as packed.
9655 (grub_afs_datastream): Likewise.
9656 (grub_afs_bnode): Likewise.
9657 (grub_afs_btree): Likewise.
9658 (grub_afs_sblock): Likewise.
9659 Declare `name' as char.
9660 (grub_afs_inode): Declare as packed.
9661 Change void *vnode to grub_uint32_t unused.
9662 (grub_afs_iterate_dir): Check that key_size is positive.
9663 (grub_afs_mount): Don't read superblock twice.
75421ca9 9664 (grub_afs_dir): Don't free node in case of error,
186f3189 9665 grub_fshelp_find_file already handles this.
9666 (grub_afs_open): Likewise.
9667
5680109e 96682009-07-19 Pavel Roskin <proski@gnu.org>
9669
9670 * Makefile.in: Remove LIBLZO and enable_lzo.
9671 * conf/i386-pc.rmk: Remove lzo support.
9672 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
9673 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
9674 support.
9675 * kern/i386/pc/lzo1x.S: Remove.
9676 * kern/i386/pc/startup.S: Remove lzo support.
9677 * util/i386/pc/grub-mkimage.c: Likewise.
9678
ac70fa32 96792009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
9682 * fs/xfs.c (grub_xfs_dir): Likewise.
9683 * fs/afs.c (grub_afs_dir): Likewise.
9684 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9685 (grub_iso9660_open): Likewise.
9686 * fs/jfs.c (grub_jfs_open): Likewise.
9687 * fs/ext2.c (grub_ext2_dir): Likewise.
9688 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
9689 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 9690
eab58da2 96912009-07-16 Pavel Roskin <proski@gnu.org>
9692
d2838156 9693 * configure.ac: Never add "-c" to CFLAGS.
9694
55c70904 9695 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
9696
43e6200c 9697 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
9698 grub_cv_cc_efiemu should be used.
9699
ce7a733d 9700 * configure.ac: Typo fixes.
9701
eab58da2 9702 * kern/mm.c (grub_zalloc): New function.
9703 (grub_debug_zalloc): Likewise.
9704 * include/grub/mm.h: Declare grub_zalloc() and
9705 grub_debug_zalloc().
9706 * util/misc.c (grub_zalloc): New function.
9707 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
9708 instead of grub_malloc(), remove unneeded initializations.
9709 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
9710 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
9711 * commands/parttool.c (grub_cmd_parttool): Likewise.
9712 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
9713 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
9714 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
9715 * disk/usbms.c (grub_usbms_finddevs): Likewise.
9716 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
9717 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
9718 (grub_cmd_efiemu_pnvram): Likewise.
9719 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
9720 * fs/iso9660.c (grub_iso9660_mount): Likewise.
9721 (grub_iso9660_iterate_dir): Likewise.
9722 * fs/jfs.c (grub_jfs_opendir): Likewise.
9723 * fs/ntfs.c (list_file): Likewise.
9724 (grub_ntfs_mount): Likewise.
9725 * kern/disk.c (grub_disk_open): Likewise.
9726 * kern/dl.c (grub_dl_load_core): Likewise.
9727 * kern/elf.c (grub_elf_file): Likewise.
9728 * kern/env.c (grub_env_context_open): Likewise.
9729 (grub_env_set): Likewise.
9730 (grub_env_set_data_slot): Likewise.
9731 * kern/file.c (grub_file_open): Likewise.
9732 * kern/fs.c (grub_fs_blocklist_open): Likewise.
9733 * loader/i386/multiboot.c (grub_module): Likewise.
9734 * loader/xnu.c (grub_xnu_create_key): Likewise.
9735 (grub_xnu_create_value): Likewise.
9736 * normal/main.c (grub_normal_add_menu_entry): Likewise.
9737 (read_config_file): Likewise.
9738 * normal/menu_entry.c (make_screen): Likewise.
9739 * partmap/sun.c (sun_partition_map_iterate): Likewise.
9740 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
9741 * script/sh/script.c (grub_script_parse): Likewise.
9742 * video/bitmap.c (grub_video_bitmap_create): Likewise.
9743 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
9744 * video/readers/png.c (grub_png_output_byte): Likewise.
9745 (grub_video_reader_png): Likewise.
9746
830afef7 97472009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 9748
9749 Enable all targets that can be built by default
9750
830afef7 9751 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 9752 grub-mkfont and grub-fstest if they can be built
9753
ee293aee 97542009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 Fix hang and segmentation fault in grub-emu-usb
9757
9758 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
9759 * util/usb.c (grub_libusb_devices): likewise
9760 (grub_libusb_init): rename to ...
9761 (GRUB_MOD_INIT (libusb)):...this
9762 (grub_libusb_fini): rename to ..
9763 (GRUB_MOD_FINI (libusb)):...this
9764 * disk/usbms.c (grub_usbms_transfer): fix retry logic
9765 * include/grub/disk.h (grub_raid_init): removed, it's useless
9766 (grub_raid_fini): likewise
9767 (grub_lvm_init): likewise
9768 (grub_lvm_fini): likewise
9769 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
9770 by grub_init_all
9771
94414221 97722009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9773
9774 Fix libusb
9775
9776 * Makefile.in (LIBUSB): new macro
9777 * genmk.rb (Utility/print_tail): new method
9778 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
9779 (top level): call util.print_tail at the end.
9780
59ade63d 97812009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9782
9783 Make FreeBSD accept zpool.cache
9784
9785 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
9786 type is /boot/zfs/zpool.cache
9787
a58da8c7 97882009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 Fix 64-bit efiemu
9791
9792 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
9793 correct wrong typedef
9794 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
9795
20591577 97962009-07-15 Pavel Roskin <proski@gnu.org>
9797
560ca572 9798 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
9799 * kern/disk.c (struct grub_disk_cache): Likewise.
9800
e8e8e4fd 9801 * commands/probe.c (options): Typo fix.
9802
fde24e10 9803 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
9804 Increase to 0x5a to accommodate FAT32. Adjust other offsets
9805 accordingly.
9806 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
9807
379c54c1 9808 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
9809 the end of "Error" to make the message more readable.
9810
7bd8f5bf 9811 * boot/i386/pc/boot.S (kernel_segment): Remove.
9812 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
9813 for destination.
9814
40b132c5 9815 * boot/i386/pc/boot.S (boot_version): Remove.
9816 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9817 Remove.
9818
20591577 9819 * include/grub/i386/pc/boot.h: Sort all offsets.
9820 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
9821 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
9822 * boot/i386/pc/boot.S: Assert location of every offset listed in
9823 include/grub/i386/pc/boot.h.
9824
2df32b2c 98252009-07-13 Pavel Roskin <proski@gnu.org>
9826
44b5d879 9827 * include/grub/i386/coreboot/machine.h: Rename
9828 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
9829 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
9830 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
9831
17dc3751 9832 * kern/dl.c: Force native word size to suppress warnings when
9833 compiling grub-emu.
9834
2df32b2c 9835 * kern/device.c (grub_device_iterate): Change struct part_ent to
9836 hold the name, not a pointer to it. Use one grub_malloc() per
9837 partition, not two. Free partition_name if grub_malloc() fails.
9838 Set ents to NULL only before grub_partition_iterate() is called.
9839
75c59f59 98402009-07-11 Bean <bean123ch@gmail.com>
9841
9842 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
9843 childname.
9844
0ae1bf88 98452009-07-10 Bean <bean123ch@gmail.com>
98462009-07-10 Robert Millan <rmh.grub@aybabtu.com>
9847
9848 * kern/ieee1275/openfw.c (grub_children_iterate)
9849 (grub_devalias_iterate): Fix size evaluation for property or path
9850 strings, which was broken since r2132.
9851
8279cade 98522009-07-07 Pavel Roskin <proski@gnu.org>
9853
7d8a52d3 9854 * commands/search.c (search_file): Merge into ...
9855 (search_fs): ... this. Accept search type as argument.
9856 (grub_cmd_search): Pass search type to search_fs().
9857
25f9a05a 9858 * include/grub/util/console.h: New file.
9859 * util/console.c: Use it instead of grub/machine/console.h.
9860 * util/grub-emu.c: Likewise.
9861
8279cade 9862 * lib/arg.c (find_long_option): Remove.
9863 (find_long): Add `len' argument, make `s' const char *.
9864 (grub_arg_parse): Parse long options in place, not in a
9865 temporary buffer.
9866
4a11b60f 98672009-07-06 Pavel Roskin <proski@gnu.org>
9868
99f68041 9869 * commands/search.c (search_fs): Fix potential NULL pointer
9870 dereference.
9871
4a11b60f 9872 * commands/search.c (search_fs): Replace QUID macro with quid_fn
9873 function pointer.
9874
e110f4de 98752009-07-06 Daniel Mierswa <impulze@impulze.org>
9876
9877 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
9878 comparison.
9879
46eeb6a2 98802009-07-05 Pavel Roskin <proski@gnu.org>
9881
bab74958 9882 * include/grub/i386/linux.h (struct linux_kernel_params):
9883 Restore padding3, it's still needed.
9884
46eeb6a2 9885 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
9886 FreeBSD.
9887 * util/osdetect.lua: Likewise.
9888
b4a1dc79 98892009-07-05 Bean <bean123ch@gmail.com>
9890
9891 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
9892
9893 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
9894 (grub_lua_getenv): Likewise.
9895 (grub_lua_setenv): Likewise.
9896 (save_errno): New function.
9897 (push_result): Likewise.
9898 (grub_lua_enum_device): Likewise.
9899 (grub_lua_enum_file): Likewise.
9900 (grub_lua_file_open): Likewise.
9901 (grub_lua_file_close): Likewise.
9902 (grub_lua_file_seek): Likewise.
9903 (grub_lua_file_read): Likewise.
9904 (grub_lua_file_getline): Likewise.
9905 (grub_lua_file_getsize): Likewise.
9906 (grub_lua_file_getpos): Likewise.
9907 (grub_lua_file_eof): Likewise.
9908 (grub_lua_file_exist): Likewise.
9909 (grub_lua_add_menu): Likewise.
9910
9911 * script/lua/grub_lua.h (isupper): New inline function.
9912 (islower): Likewise.
9913 (ispunct): Likewise.
9914 (isxdigit): Likewise.
9915 (strcspn): Change to normal function.
9916 (strpbkr): New function declaration.
9917 (memchr): Likewise.
9918
9919 * script/lua/grub_main.c (scan_str): New function.
9920 (strcspn): Likewise.
9921 (strpbrk): Likewise.
9922 (memchr): Likewise.
9923
9924 * script/lua/linit.c (lualibs): Enable the string library.
9925
9926 * util/osdetect.lua: New file.
9927
2da92295 99282009-07-04 Robert Millan <rmh.grub@aybabtu.com>
9929
9930 * include/grub/i386/linux.h (struct linux_kernel_params): Add
9931 `capabilities' member.
9932
b2582ec9 99332009-07-02 Pavel Roskin <proski@gnu.org>
9934
9935 * genparttoollist.sh: Add missing newline at the end.
9936
32622956 99372009-07-01 Pavel Roskin <proski@gnu.org>
9938
87a7339e 9939 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
9940
d23af54e 9941 * util/hostdisk.c (open_device): Remove `const' from
9942 `sysctl_size', as sysctlbyname() can change it (in this case it
9943 doesn't actually happen).
9944
c94b18a9 9945 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
9946 using signed long int constants.
9947
c6cd3ef0 9948 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
9949 constant to avoid a warning on FreeBSD.
9950
0df63420 9951 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
9952 where it's needed.
9953
999577f1 9954 * Makefile.in: Install include/grub/machine symlink.
9955
6f41557f 9956 * Makefile.in: When installing symlinks, use "cp -fR", which
9957 works on FreeBSD and MacOSX.
9958 From Yves Blusseau <cl7m42e02@sneakemail.com>
9959
c8d22988 9960 * kern/dl.c (grub_dl_resolve_symbol): Make static.
9961 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
9962
1b96e952 9963 * util/misc.c: Move grub_reboot() and grub_halt() ...
9964 * util/grub-emu.c: ... here. Make main_env static.
9965 * include/grub/util/misc.h: Remove main_env.
9966
2ef0084d 9967 * kern/mm.c: Use correct format to print size_t.
9968
32622956 9969 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
9970 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
9971 * kern/powerpc/dl.c: Likewise.
9972 * kern/sparc64/dl.c: Likewise.
9973 * kern/x86_64/dl.c: Likewise.
9974
3f7f0cd0 99752009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9976
9977 Fix grub-emu build on sparc64-ieee1275.
9978
75421ca9 9979 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 9980 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
9981
211d06b5 99822009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9983
9984 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
9985 (grub_reboot, grub_halt): New functions.
9986
9987 * util/i386/pc/misc.c: Delete. Update all users.
9988 * util/sparc64/ieee1275/misc.c: Likewise.
9989 * util/powerpc/ieee1275/misc.c: Likewise.
9990
aaf53e3c 99912009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9992
9993 * conf/i386.rmk (setjmp_mod_SOURCES)
9994 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
9995 * conf/common.rmk (setjmp_mod_SOURCES)
9996 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
9997 to use $(target_cpu).
9998 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
9999 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
10000 * conf/powerpc-ieee1275.rmk: Likewise.
10001 * conf/sparc64-ieee1275.rmk: Likewise.
10002
10003 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
10004 $(target_cpu) for kern/$(target_cpu)/dl.c.
10005 * conf/i386-efi.rmk: Likewise.
10006 * conf/i386-ieee1275.rmk: Likewise.
10007 * conf/x86_64-efi.rmk: Likewise.
10008 * conf/i386-coreboot.rmk: Likewise.
10009 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
10010 $(target_cpu) for kern/$(target_cpu)/dl.c and for
10011 kern/$(target_cpu)/cache.S.
10012 * conf/sparc64-ieee1275.rmk: Likewise.
10013
a337130b 100142009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10015
10016 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
10017 type to `grub_uint8_t', and adjust `padding9' accordingly.
10018
c6fe4d53 100192009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10020
b09db61d 10021 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
10022
c6fe4d53 10023 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
10024 assembly in final jump, using register constraints.
10025
b09db61d 10026 (grub_linux_boot): For text mode, initialize `have_vga' using
10027 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
10028
10029 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
10030 right before the final jump.
10031
10032 Set `video_mode' to 0x3.
10033
10034 Document initialization of `video_page', `video_mode' and
10035 `video_ega_bx'.
10036
28333ad0 100372009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10038
10039 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
10040 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 10041 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 10042
02164e1b 100432009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10044
10045 Fix build on Debian / sparc.
10046
10047 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
10048
18b6c557 100492009-06-28 Pavel Roskin <proski@gnu.org>
10050
85f2aab6 10051 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
10052 fix a warning.
10053
18b6c557 10054 * util/grub.d/10_linux.in: Match SUSE style initrd names.
10055
ad760f81 100562009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10057
10058 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
10059 `err'.
10060
87a4623b 100612009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10062
10063 Revert r2338.
10064
10065 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
10066 file can't be opened. grub_file_open() is already supposed to set
75421ca9 10067 grub_errno / grub_errmsg appropriately.
87a4623b 10068 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10069
8231fb77 100702009-06-27 Pavel Roskin <proski@gnu.org>
100712009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10072
10073 * include/grub/dl.h: Include grub/elf.h.
10074 (struct grub_dl): Add symtab field.
10075 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
10076 GRUB_MODULES_MACHINE_READONLY.
10077 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
10078 of the header for read-only modules.
10079 (grub_dl_unload): Free mod->symtab for read-only modules.
10080 * kern/i386/dl.c: Use mod->symtab.
10081 * kern/powerpc/dl.c: Likewise.
10082 * kern/sparc64/dl.c: Likewise.
10083 * kern/x86_64/dl.c: Likewise.
10084
10085 * conf/i386-qemu.rmk: New file.
10086 * kern/i386/qemu/startup.S: Likewise.
10087 * kern/i386/qemu/mmap.c: Likewise.
10088 * boot/i386/qemu/boot.S: Likewise.
10089 * include/grub/i386/qemu/time.h: Likewise.
10090 * include/grub/i386/qemu/serial.h: Likewise.
10091 * include/grub/i386/qemu/kernel.h: Likewise.
10092 * include/grub/i386/qemu/console.h: Likewise.
10093 * include/grub/i386/qemu/boot.h: Likewise.
10094 * include/grub/i386/qemu/init.h: Likewise.
10095 * include/grub/i386/qemu/machine.h: Likewise.
10096 * include/grub/i386/qemu/loader.h: Likewise.
10097 * include/grub/i386/qemu/memory.h: Likewise.
10098
10099 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
10100 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
10101 [qemu] (pkglib_IMAGES): Add `boot.img'.
10102 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
10103 [qemu] (boot_img_FORMAT): New variables.
10104 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
10105 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
10106 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
10107 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10108 [qemu] (kernel_img_FORMAT): New variables.
10109
10110 * configure.ac: Recognise `i386-qemu'.
10111
10112 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
10113 (for no compression).
10114 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
10115 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
10116 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
10117 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
10118 ifdefs).
10119
97fe384e 101202009-06-27 Pavel Roskin <proski@gnu.org>
10121
10122 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
10123 read.
10124 * efiemu/prepare32.c: Likewise.
10125 * efiemu/prepare64.c: Likewise.
10126
c402ab17 101272009-06-26 Pavel Roskin <proski@gnu.org>
10128
10129 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
10130 * include/grub/elf.h: Define symbols without "32" or "64" based
10131 on GRUB_TARGET_WORDSIZE.
10132 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
10133 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
10134 ELF definitions.
10135 * efiemu/loadcore64.c: Likewise.
10136 * loader/i386/bsd32.c: Likewise.
10137 * loader/i386/bsd64.c: Likewise.
10138 * kern/dl.c: Remove own ELF definitions.
10139 * util/i386/efi/grub-mkimage.c: Likewise.
10140
9bbdfd4d 101412009-06-23 Robert Millan <rmh.grub@aybabtu.com>
10142
10143 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
10144 segment 0x0 unconditionally, because the reference generated by
10145 GAS is an absolute address.
10146
a42ce6e9 101472009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10148
10149 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
10150 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
10151
c952cf92 101522009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10153
10154 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
10155 indexes. Check for -f explicitly.
cc3752ad 10156 (search_file): Improve error message.
10157 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 10158
132a0a59 101592009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10160
10161 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
10162 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
10163
387a140c 101642009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10165
10166 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
10167 * conf/i386-ieee1275.rmk: Likewise.
10168 * conf/i386-coreboot.rmk: Likewise.
10169
10170 * kern/i386/pc/startup.S (grub_stop): Remove function.
10171 * kern/i386/ieee1275/startup.S: Likewise.
10172 * kern/i386/coreboot/startup.S: Likewise.
10173 * kern/i386/misc.S (grub_stop): New function.
10174
41da9665 101752009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10176
10177 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
10178 * kern/i386/realmode.S (real_to_prot): ... to here.
10179
bf337234 101802009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10181
10182 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
10183 with `kernel.img'.
10184 (kernel_elf_SOURCES): Rename to ...
10185 (kernel_img_SOURCES): ... this.
10186 (kernel_elf_HEADERS): Rename to ...
10187 (kernel_img_HEADERS): ... this. Update all users.
10188 (kernel_elf_ASFLAGS): Rename to ...
10189 (kernel_img_ASFLAGS): ... this.
10190 (kernel_elf_CFLAGS): Rename to ...
10191 (kernel_img_CFLAGS): ... this.
10192 (kernel_elf_LDFLAGS): Rename to ...
10193 (kernel_img_LDFLAGS): ... this.
10194 * conf/i386-coreboot.rmk: Likewise.
10195 * conf/powerpc-ieee1275.rmk: Likewise.
10196
10197 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
10198 with "kernel.img".
10199
f52196ff 102002009-06-21 Pavel Roskin <proski@gnu.org>
10201
c3cee413 10202 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
10203 to match nested functions.
10204 * loader/sparc64/ieee1275/linux.c: Likewise.
10205
f52196ff 10206 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
10207
58750afc 102082009-06-21 Robert Millan <rmh.grub@aybabtu.com>
10209
10210 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
10211 all i386 platforms.
10212
15355c7d 102132009-06-21 Robert Millan <rmh.grub@aybabtu.com>
10214
10215 Fix asm file handling on ELF, and remove workarounds.
10216
10217 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 10218 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 10219 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
10220 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
10221
3f3ec72b 102222009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
10223
10224 Load BSD ELF modules
10225
10226 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
10227 and loader/i386/bsd64.c
10228 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
10229 (FREEBSD_MODTYPE_ELF_MODULE): New definition
10230 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
10231 (grub_freebsd_load_elfmodule32): New declaration
10232 (grub_freebsd_load_elfmoduleobj64): Likewise
10233 (grub_freebsd_load_elf_meta32): Likewise
10234 (grub_freebsd_load_elf_meta64): Likewise
10235 (grub_freebsd_add_meta): Likewise
10236 (grub_freebsd_add_meta_module): Likewise
10237 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
10238 (grub_freebsd_add_meta_module): Likewise and move module-specific
10239 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
10240 (grub_cmd_freebsd): Add elf-kernel specific parts
10241 based on grub_freebsd_add_meta_module
10242 (grub_cmd_freebsd_module): Add type parsing moved from
10243 grub_freebsd_add_meta_module
10244 (grub_cmd_freebsd_module_elf): New function
10245 (cmd_freebsd_module_elf): New variable
10246 (GRUB_MOD_INIT): Register freebsd_module_elf
10247 * loader/i386/bsd32.c: New file
10248 * loader/i386/bsd64.c: Likewise
10249 * loader/i386/bsdXX.c: Likewise
10250 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
10251 (grub_elf64_load): Likewise
10252 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
10253 All users updated
10254 (grub_elf64_load_hook_t): Likewise
10255
0db15301 102562009-06-21 Colin Watson <cjwatson@ubuntu.com>
10257
10258 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
10259 variable.
10260 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
10261 don't write a menu entry for recovery mode.
10262
546796c1 102632009-06-20 Robert Millan <rmh.grub@aybabtu.com>
10264
10265 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
10266 after it's no longer needed.
10267
cd7310d5 102682009-06-20 Robert Millan <rmh.grub@aybabtu.com>
10269
10270 * include/grub/i386/loader.h (grub_linux_prot_size)
10271 (grub_linux_tmp_addr, grub_linux_real_addr)
10272 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
10273 GRUB_MACHINE_PCBIOS.
10274 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
10275 common grub_util_info() call to ...
10276 (generate_image): ... here.
10277 Fix use of uninitialized memory, comparison of signed with
10278 unsigned integers and memory leak.
10279 Remove bogus module address message.
10280
ab32d3b5 102812009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
10284 grub_raid_register
10285 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
10286
024ef597 102872009-06-19 Pavel Roskin <proski@gnu.org>
10288
10289 * configure.ac: Remove stray AC_MSG_CHECKING.
10290
3ac72b51 102912009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
10292
10293 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 10294
e14cd814 102952009-06-18 Pavel Roskin <proski@gnu.org>
10296
10297 * conf/common.rmk: Add fs_file.mod.
10298 * disk/fs_file.c: New file.
10299 * include/grub/disk.h (enum grub_disk_dev_id): Add
10300 GRUB_DISK_DEVICE_FILE_ID.
10301
26586d98 103022009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10303
10304 Fix build with Apple's toolchain. Part 2
10305
10306 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
10307 a fake start
10308
26de2bcd 103092009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10310
10311 Fix build with Apple's toolchain. Part 1
10312
10313 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
10314 for long calls
10315 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 10316 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 10317 Apple's toolchain
10318
09b3490b 103192009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 Fix warnings
10322
10323 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
10324 (decomp_block): initialize ch
10325 use grub_memcpy instead of memcpy
10326
c22a006a 103272009-06-17 Pavel Roskin <proski@gnu.org>
10328
d3638678 10329 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
10330 version, use declarations needed to use vga_text as the startup
10331 console.
10332
c22a006a 10333 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
10334 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
10335 the kernel.
10336 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
10337 and grub_at_keyboard_fini(), it's done on module load and
10338 unload.
10339
05b129e0 103402009-06-17 Felix Zielcke <fzielcke@z-51.de>
10341
10342 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
10343 file can't be found.
10344 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10345
cf24ed9e 103462009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
10347
10348 Fix newline handling
10349
10350 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 10351 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 10352 (grub_script_yylex): don't segfault on unterminated script
10353 newline terminates command and variable
10354
74aa8e4b 103552009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 avoid double grub_adjust_range call. Bug reported by David Simner
10358
10359 * kern/disk.c (grub_disk_write): change to raw disk access before
10360 calling disk_read
10361
1bd265f3 103622009-06-17 Colin Watson <cjwatson@ubuntu.com>
10363
10364 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
10365 spaces, for the benefit of help2man.
10366 * util/i386/efi/grub-mkimage.c (usage): Likewise.
10367
a2d08c06 103682009-06-16 Pavel Roskin <proski@gnu.org>
10369
10370 * kern/i386/halt.c: Include grub/machine/init.h.
10371 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
10372
b97bcb19 103732009-06-16 Felix Zielcke <fzielcke@z-51.de>
10374
10375 * util/grub.d/30_os-prober.in: Use ${root} in the generated
10376 drivemap menuentry.
10377
0644f96c 103782009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
10379
10380 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
10381 `echo' command.
10382
3ef17a2e 103832009-06-16 Pavel Roskin <proski@gnu.org>
10384
10385 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
10386 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
10387 save %dx, we only need %dl and we never change it.
10388 * boot/i386/pc/cdboot.S: Don't set the root drive.
10389 * boot/i386/pc/pxeboot.S: Likewise.
10390 * include/grub/i386/pc/boot.h: Remove
10391 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
10392 GRUB_BOOT_MACHINE_DRIVE_CHECK.
10393 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
10394 * kern/i386/pc/init.c (make_install_device): Remove references
10395 to grub_root_drive.
10396 * kern/i386/pc/startup.S: Likewise.
10397 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
10398
693fe637 103992009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
10400
10401 xnu_uuid command
10402
10403 * commands/xnu_uuid.c: new file
10404 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
10405 (xnu_uuid_mod_SOURCES): new variable
10406 (xnu_uuid_mod_CFLAGS): likewise
10407 (xnu_uuid_mod_LDFLAGS): likewise
10408 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
10409 * conf/i386-ieee1275.rmk: likewise
10410 * conf/i386-pc.rmk: likewise
10411 * conf/powerpc-ieee1275.rmk: likewise
10412 * conf/sparc64-ieee1275.rmk: likewise
10413 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
10414
c9da87d0 104152009-06-16 Pavel Roskin <proski@gnu.org>
10416
10417 * configure.ac: Avoid '==' in test command, it's not portable.
10418
9c6f4596 104192009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
10420
10421 Probe command
10422
10423 * commands/probe.c: new file
10424 * conf/common.rmk (pkglib_MODULES): add probe.mod
10425 (probe_mod_SOURCES): new variable
10426 (probe_mod_CFLAGS): likewise
10427 (probe_mod_LDFLAGS): likewise
10428 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
10429 * conf/i386-ieee1275.rmk: likewise
10430 * conf/i386-pc.rmk: likewise
10431 * conf/powerpc-ieee1275.rmk: likewise
10432 * conf/sparc64-ieee1275.rmk: likewise
10433
70b7f9fd 104342009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 Fix handling of string like \"hello\" and "a
10437 b"
10438
10439 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
10440 (grub_script_yylex): fix parsing of quoting, escaping and newline
10441
71c79a6b 104422009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
10443
dd74360c 10444 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 10445 handling
dd74360c 10446
0644f96c 104472009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 10448
10449 * util/grub-mkconfig.in: Fix parsing of --output option.
10450
e40893c3 104512009-06-12 Pavel Roskin <proski@gnu.org>
10452
10453 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
10454 genmk.rb don't need to be generated or installed.
10455
3a1acfe2 104562009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10457
10458 * commands/i386/pc/drivemap_int13h.S: add more comments
10459
3a4575d4 104602009-06-11 Pavel Roskin <proski@gnu.org>
10461
0658e928 10462 * Makefile.in (uninstall): Uninstall manuals.
10463
ca0388f0 10464 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
10465 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
10466 and update-grub_lib in two places.
10467 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
10468
e3b27c39 10469 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
10470 a compiler warning.
10471
3a4575d4 10472 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
10473 `entry_lo' to fix variable shadowing.
10474
af1f4f55 104752009-06-11 Christian Franke <franke@computer.org>
10476
10477 * kern/misc.c (__enable_execute_stack): Add missing return type
10478 to prevent gcc warning.
10479
5225e649 104802009-06-11 Felix Zielcke <fzielcke@z-51.de>
10481
10482 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
10483
7d83bd47 104842009-06-11 Pavel Roskin <proski@gnu.org>
10485
c1cb63ba 10486 * Makefile.in: Don't rely on any scripts being executable.
10487 Always use $(SHELL) to run shell scripts.
10488
7d83bd47 10489 * configure.ac: Always define ___main if using -nostdlib. This
10490 fixes tests on Cygwin.
10491
948f48e7 104922009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
10493
10494 UDF fix
10495
7d83bd47 10496 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 10497 is in bytes and not in blocks
7d83bd47 10498
8ada9bc1 104992009-06-11 Pavel Roskin <proski@gnu.org>
10500
10501 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
10502 warning.
10503
25ad2323 105042009-06-11 Felix Zielcke <fzielcke@z-51.de>
10505
10506 * util/grub.d/30_os-prober.in: Fix a comment. Source
10507 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
10508 to set the root device. Place drivemap command in the generated
10509 chain entry.
10510
e65acb0c 105112009-06-11 Pavel Roskin <proski@gnu.org>
10512
10513 * configure.ac: Remove host_m32. Issues with 64-bit utilities
10514 have long been resolved.
10515
f285fe2d 105162009-06-11 Colin Watson <cjwatson@ubuntu.com>
10517
bd47b0b5 10518 * util/grub.d/10_linux.in: Capitalise "Linux".
10519
f285fe2d 10520 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
10521
a0c62e4e 105222009-06-11 Pavel Roskin <proski@gnu.org>
10523
b6783cb2 10524 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
10525 fix a gcc warning and ensure that the function won't ever exit.
10526
dde032e8 10527 * kern/i386/ieee1275/init.c: Add missing prototype for
10528 grub_stop_floppy().
10529
22cd079d 10530 * loader/ieee1275/multiboot2.c [__i386__]: Include
10531 grub/cpu/multiboot.h.
10532
a0c62e4e 10533 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
10534 casts to short - they are not portable and cause warnings. Fix
10535 use of uninitialized values in input_buf. Use ARRAY_SIZE.
10536
63963d17 105372009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 Drivemap fixes
10540
10541 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
10542 new function
10543 (grub_get_root_biosnumber_saved): new variable
10544 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
10545 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 10546 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 10547 %dx after the call if necessary
10548 * conf/common.rmk (pkglib_MODULES): remove boot.mod
10549 (boot_mod_SOURCES): remove
10550 (boot_mod_CFLAGS): remove
10551 (boot_mod_LDFLAGS): remove
10552 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
10553 (boot_mod_SOURCES): new variable
10554 (boot_mod_CFLAGS): likewise
10555 (boot_mod_LDFLAGS): likewise
10556 * conf/i386-efi.rmk: likewise
10557 * conf/i386-ieee1275.rmk: likewise
10558 * conf/i386-pc.rmk: likewise
10559 * conf/powerpc-ieee1275.rmk: likewise
10560 * conf/sparc64-ieee1275.rmk: likewise
10561 * conf/x86_64-efi.rmk: likewise
10562 * include/grub/i386/pc/biosnum.h: new file
10563 * lib/i386/pc/biosnum.c: likewise
10564 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
10565 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
10566 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 10567
33abf7ae 105682009-06-10 Pavel Roskin <proski@gnu.org>
10569
5ac35b35 10570 * io/gzio.c (test_header): Don't reuse one buffer for all data.
10571 Use separate variables. Read only the file size at the end, but
10572 not the checksum that we don't use.
10573
5c5215d5 10574 * kern/file.c (grub_file_read): Use void pointer for the buffer.
10575 Adjust all callers.
10576
27d5fef7 10577 * kern/ieee1275/openfw.c: Remove libc includes.
10578 * kern/ieee1275/cmain.c: Likewise.
10579 * include/grub/ieee1275/ieee1275.h: Likewise.
10580
33abf7ae 10581 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
10582 compiler warnings.
10583
19d50c2b 105842009-06-10 Felix Zielcke <fzielcke@z-51.de>
10585
10586 * Makefile.in: Remove all trailing whitespace.
10587 * conf/i386-pc.rmk: Likewise.
10588 * conf/powerpc-ieee1275.rmk: Likewise.
10589 * conf/sparc64-ieee1275.rmk: Likewise.
10590 * docs/grub.texi: Likewise.
10591 * docs/texinfo.tex: Likewise.
10592 * disk/fs_uuid.c: Likewise.
10593 * disk/lvm.c: Likewise.
10594 * disk/scsi.c: Likewise.
10595 * disk/ata.c: Likewise.
10596 * disk/ieee1275/ofdisk.c: Likewise.
10597 * disk/i386/pc/biosdisk.c: Likewise.
10598 * disk/host.c: Likewise.
10599 * disk/raid.c: Likewise.
10600 * disk/efi/efidisk.c: Likewise.
10601 * disk/usbms.c: Likewise.
10602 * disk/memdisk.c: Likewise.
10603 * disk/loopback.c: Likewise.
10604 * kern/powerpc/dl.c: Likewise.
10605 * kern/device.c: Likewise.
10606 * kern/dl.c: Likewise.
10607 * kern/sparc64/dl.c: Likewise.
10608 * kern/ieee1275/ieee1275.c: Likewise.
10609 * kern/term.c: Likewise.
10610 * kern/fs.c: Likewise.
10611 * kern/i386/dl.c: Likewise.
10612 * kern/i386/pc/startup.S: Likewise.
10613 * kern/i386/pc/init.c: Likewise.
10614 * kern/i386/pc/mmap.c: Likewise.
10615 * kern/i386/pc/lzo1x.S: Likewise.
10616 * kern/i386/ieee1275/init.c: Likewise.
10617 * kern/i386/realmode.S: Likewise.
10618 * kern/i386/tsc.c: Likewise.
10619 * kern/partition.c: Likewise.
10620 * kern/corecmd.c: Likewise.
10621 * kern/file.c: Likewise.
10622 * kern/efi/efi.c: Likewise.
10623 * kern/efi/init.c: Likewise.
10624 * kern/efi/mm.c: Likewise.
10625 * kern/main.c: Likewise.
10626 * kern/err.c: Likewise.
10627 * kern/env.c: Likewise.
10628 * kern/disk.c: Likewise.
10629 * kern/generic/millisleep.c: Likewise.
10630 * kern/generic/rtc_get_time_ms.c: Likewise.
10631 * kern/misc.c: Likewise.
10632 * kern/parser.c: Likewise.
10633 * genmk.rb: Likewise.
10634 * configure.ac: Likewise.
10635 * boot/i386/pc/diskboot.S: Likewise.
10636 * boot/i386/pc/pxeboot.S: Likewise.
10637 * boot/i386/pc/boot.S: Likewise.
10638 * boot/i386/pc/lnxboot.S: Likewise.
10639 * boot/i386/pc/cdboot.S: Likewise.
10640 * parttool/pcpart.c: Likewise.
10641 * video/readers/tga.c: Likewise.
10642 * video/video.c: Likewise.
10643 * video/bitmap.c: Likewise.
10644 * lib/envblk.c: Likewise.
10645 * lib/i386/setjmp.S: Likewise.
10646 * fs/xfs.c: Likewise.
10647 * fs/afs.c: Likewise.
10648 * fs/fat.c: Likewise.
10649 * fs/ntfs.c: Likewise.
10650 * fs/udf.c: Likewise.
10651 * fs/affs.c: Likewise.
10652 * fs/iso9660.c: Likewise.
10653 * fs/hfs.c: Likewise.
10654 * fs/fshelp.c: Likewise.
10655 * fs/ext2.c: Likewise.
10656 * fs/jfs.c: Likewise.
10657 * fs/reiserfs.c: Likewise.
10658 * fs/hfsplus.c: Likewise.
10659 * fs/minix.c: Likewise.
10660 * fs/cpio.c: Likewise.
10661 * fs/sfs.c: Likewise.
10662 * fs/ufs.c: Likewise.
10663 * efiemu/prepare.c: Likewise.
10664 * efiemu/loadcore_common.c: Likewise.
10665 * efiemu/runtime/efiemu.sh: Likewise.
10666 * efiemu/runtime/efiemu.S: Likewise.
10667 * efiemu/runtime/efiemu.c: Likewise.
10668 * efiemu/pnvram.c: Likewise.
10669 * efiemu/main.c: Likewise.
10670 * efiemu/i386/pc/cfgtables.c: Likewise.
10671 * efiemu/i386/loadcore64.c: Likewise.
10672 * efiemu/i386/loadcore32.c: Likewise.
10673 * efiemu/loadcore.c: Likewise.
10674 * efiemu/symbols.c: Likewise.
10675 * efiemu/mm.c: Likewise.
10676 * include/grub/autoefi.h: Likewise.
10677 * include/grub/datetime.h: Likewise.
10678 * include/grub/term.h: Likewise.
10679 * include/grub/hfs.h: Likewise.
10680 * include/grub/lvm.h: Likewise.
10681 * include/grub/i386/tsc.h: Likewise.
10682 * include/grub/i386/linux.h: Likewise.
10683 * include/grub/i386/xnu.h: Likewise.
10684 * include/grub/i386/efiemu.h: Likewise.
10685 * include/grub/i386/pc/biosdisk.h: Likewise.
10686 * include/grub/i386/pc/memory.h: Likewise.
10687 * include/grub/i386/pc/vbe.h: Likewise.
10688 * include/grub/parttool.h: Likewise.
10689 * include/grub/video.h: Likewise.
10690 * include/grub/memory.h: Likewise.
10691 * include/grub/fs.h: Likewise.
10692 * include/grub/partition.h: Likewise.
10693 * include/grub/xnu.h: Likewise.
10694 * include/grub/efi/api.h: Likewise.
10695 * include/grub/efi/pe32.h: Likewise.
10696 * include/grub/efi/memory.h: Likewise.
10697 * include/grub/multiboot.h: Likewise.
10698 * include/grub/usbdesc.h: Likewise.
10699 * include/grub/multiboot2.h: Likewise.
10700 * include/grub/acpi.h: Likewise.
10701 * include/grub/efiemu/efiemu.h: Likewise.
10702 * include/grub/disk.h: Likewise.
10703 * include/grub/ieee1275/ieee1275.h: Likewise.
10704 * include/grub/net.h: Likewise.
10705 * include/grub/machoload.h: Likewise.
10706 * include/grub/macho.h: Likewise.
10707 * include/multiboot.h: Likewise.
10708 * genmoddep.awk: Likewise.
10709 * normal/main.c: Likewise.
10710 * normal/menu_entry.c: Likewise.
10711 * normal/menu_viewer.c: Likewise.
10712 * normal/completion.c: Likewise.
10713 * normal/cmdline.c: Likewise.
10714 * normal/misc.c: Likewise.
10715 * normal/datetime.c: Likewise.
10716 * bus/usb/usbtrans.c: Likewise.
10717 * bus/usb/ohci.c: Likewise.
10718 * bus/usb/uhci.c: Likewise.
10719 * bus/usb/usb.c: Likewise.
10720 * mmap/efi/mmap.c: Likewise.
10721 * mmap/i386/pc/mmap_helper.S: Likewise.
10722 * mmap/i386/pc/mmap.c: Likewise.
10723 * mmap/i386/mmap.c: Likewise.
10724 * mmap/i386/uppermem.c: Likewise.
10725 * mmap/mmap.c: Likewise.
10726 * commands/acpi.c: Likewise.
10727 * commands/echo.c: Likewise.
10728 * commands/blocklist.c: Likewise.
10729 * commands/loadenv.c: Likewise.
10730 * commands/usbtest.c: Likewise.
10731 * commands/boot.c: Likewise.
10732 * commands/parttool.c: Likewise.
10733 * commands/search.c: Likewise.
10734 * commands/cat.c: Likewise.
10735 * commands/i386/pc/play.c: Likewise.
10736 * commands/i386/pc/drivemap.c: Likewise.
10737 * commands/i386/pc/vbeinfo.c: Likewise.
10738 * commands/i386/pc/acpi.c: Likewise.
10739 * commands/i386/pc/vbetest.c: Likewise.
10740 * commands/ls.c: Likewise.
10741 * commands/cmp.c: Likewise.
10742 * commands/test.c: Likewise.
10743 * commands/efi/acpi.c: Likewise.
10744 * commands/gptsync.c: Likewise.
10745 * commands/help.c: Likewise.
10746 * partmap/amiga.c: Likewise.
10747 * partmap/apple.c: Likewise.
10748 * partmap/acorn.c: Likewise.
10749 * partmap/pc.c: Likewise.
10750 * partmap/sun.c: Likewise.
10751 * partmap/gpt.c: Likewise.
10752 * script/sh/lexer.c: Likewise.
10753 * script/sh/function.c: Likewise.
10754 * font/font.c: Likewise.
10755 * font/font_cmd.c: Likewise.
10756 * loader/powerpc/ieee1275/linux.c: Likewise.
10757 * loader/efi/chainloader.c: Likewise.
10758 * loader/multiboot_loader.c: Likewise.
10759 * loader/macho.c: Likewise.
10760 * loader/i386/multiboot.c: Likewise.
10761 * loader/i386/linux.c: Likewise.
10762 * loader/i386/pc/linux.c: Likewise.
10763 * loader/i386/pc/multiboot2.c: Likewise.
10764 * loader/i386/pc/chainloader.c: Likewise.
10765 * loader/i386/pc/xnu.c: Likewise.
10766 * loader/i386/bsd_trampoline.S: Likewise.
10767 * loader/i386/efi/linux.c: Likewise.
10768 * loader/i386/multiboot_elfxx.c: Likewise.
10769 * loader/i386/bsd_helper.S: Likewise.
10770 * loader/i386/bsd.c: Likewise.
10771 * loader/i386/linux_trampoline.S: Likewise.
10772 * loader/i386/xnu_helper.S: Likewise.
10773 * loader/i386/xnu.c: Likewise.
10774 * loader/i386/bsd_pagetable.c: Likewise.
10775 * loader/i386/multiboot_helper.S: Likewise.
10776 * loader/xnu.c: Likewise.
10777 * loader/xnu_resume.c: Likewise.
10778 * io/gzio.c: Likewise.
10779 * term/efi/console.c: Likewise.
10780 * term/terminfo.c: Likewise.
10781 * term/ieee1275/ofconsole.c: Likewise.
10782 * term/i386/pc/serial.c: Likewise.
10783 * term/i386/pc/vesafb.c: Likewise.
10784 * term/i386/pc/vga.c: Likewise.
10785 * term/usb_keyboard.c: Likewise.
10786 * term/gfxterm.c: Likewise.
10787 * aclocal.m4: Likewise.
10788 * util/lvm.c: Likewise.
10789 * util/grub.d/30_os-prober.in: Likewise.
10790 * util/grub.d/10_hurd.in: Likewise.
10791 * util/console.c: Likewise.
10792 * util/grub-macho2img.c: Likewise.
10793 * util/grub-probe.c: Likewise.
10794 * util/hostfs.c: Likewise.
10795 * util/i386/pc/grub-mkimage.c: Likewise.
10796 * util/i386/pc/grub-setup.c: Likewise.
10797 * util/i386/efi/grub-mkimage.c: Likewise.
10798 * util/grub-mkconfig.in: Likewise.
10799 * util/raid.c: Likewise.
10800 * util/resolve.c: Likewise.
10801 * util/grub-mkdevicemap.c: Likewise.
10802 * util/grub-emu.c: Likewise.
10803 * util/getroot.c: Likewise.
10804 * util/hostdisk.c: Likewise.
10805 * util/usb.c: Likewise.
10806 * util/grub-editenv.c: Likewise.
10807 * util/misc.c: Likewise.
10808
d2d49665 108092009-06-10 Felix Zielcke <fzielcke@z-51.de>
10810
10811 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
10812 `genparttoollist.sh'.
10813 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
10814 Add `*.sh' to the list find searches for and change `mdate.sh'
10815 to `mdate-sh'.
10816
fe052e37 108172009-06-10 Pavel Roskin <proski@gnu.org>
10818
2763ac18 10819 * include/grub/multiboot2.h: Provide compatibility defines for
10820 multiboot2.h.
10821 * include/multiboot2.h: Include stdint.h only if needed, using
10822 angle brackets.
10823 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
10824 grub/multiboot2.h.
10825 * loader/ieee1275/multiboot2.c: Likewise.
10826 * loader/multiboot2.c: Likewise.
10827 * loader/multiboot_loader.c: Likewise.
10828
437e6adc 10829 * configure.ac: Use -nostdlib when probing for the target. It
10830 should not be required to have libc for the target.
10831
06a6836c 10832 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
10833 they fail without libc headers for the target.
10834 * include/grub/powerpc/libgcc.h: Use weak attribute for all
10835 exports.
10836 * include/grub/sparc64/libgcc.h: Likewise. Don't use
10837 preprocessor conditionals.
10838
fe052e37 10839 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
10840 build system doesn't need to be aware of the tar.c internals.
10841
afd22553 108422009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 10843
afd22553 10844 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 10845
6b787c4f 108462009-06-09 Robert Millan <rmh.grub@aybabtu.com>
10847
10848 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
10849 disk limit to 26 for IDE, Virtio, Xen and SCSI.
10850
108512009-06-09 Felix Zielcke <fzielcke@z-51.de>
10852
10853 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 10854 aren't available if ata.mod gets used.
6b787c4f 10855
473d1e45 108562009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 10857
473d1e45 10858 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 10859 initialising controller.
473d1e45 10860 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 10861
255a27d4 108622009-06-08 Felix Zielcke <fzielcke@z-51.de>
10863
10864 * util/i386/pc/grub-install.in: Add a parameter --disk-module
10865 to choose between ata and biosdisk module on i386-pc.
10866
473d1e45 108672009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 10868
d55842d8 10869 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
10870 Subclass and Programming Interface fields in terms of the 3 byte
10871 Class Code register.
10872 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
10873
fa5db0b1 10874 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
10875 interface is OHCI. Add grub_dprintf for symmetry with
10876 bus/usb/uhci.c.
10877 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
10878 interface is UHCI. Add interf variable for programming
10879 interface. Print interface with class/subclass.
10880
c0947beb 10881 * bus/usb/ohci.c: Set interf with correct field.
10882
69da8877 10883 * bus/usb/uhci.c: Remove unneeded doubled lines.
10884 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
10885 Remove whitespace inside comment.
10886
9e172e30 108872009-06-08 Robert Millan <rmh.grub@aybabtu.com>
10888
10889 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
10890 as fallback an equivalent option without depth.
10891
de65ee2b 108922009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 Not fail if unable to retrieve C/H/S on LBA disks
10895
473d1e45 10896 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 10897 if unable to retrieve C/H/S on LBA disks
10898
b57ea2c9 108992009-06-08 Pavel Roskin <proski@gnu.org>
10900
10901 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
10902 about aliasing.
10903
af361263 109042009-06-08 Felix Zielcke <fzielcke@z-51.de>
10905
10906 * Makefile.in (uninstall): Remove all $lib_DATA files.
10907
4c9ec6b3 109082009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10909
10910 Bugfix: install on partitionless device
10911
10912 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
10913 is a whole disk
10914
e76fc924 109152009-06-08 Felix Zielcke <fzielcke@z-51.de>
10916
10917 * Makefile.in (uninstall): Remove all $include_DATA files.
10918
ba5a0d05 109192009-06-08 Felix Zielcke <fzielcke@z-51.de>
10920
10921 * commands/true.c: New file. Implement the true and false commands.
10922 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
10923 (true_mod_SOURCES): New variable.
10924 (true_mod_CFLAGS): Likewise.
10925 (true_mod_LDFLAGS): Likewise.
10926
c8048e32 109272009-06-05 Colin D Bennett <colin@gibibit.com>
10928
10929 Optimized font character lookup using binary search instead of linear
10930 search. Fonts now are required to have the character index ordered by
10931 code point.
10932
10933 * font/font.c (load_font_index): Verify that fonts have ordered
10934 character indices.
10935 (find_glyph): Use binary search instead of linear search to find a
10936 character in a font.
10937
408305be 109382009-06-05 Michael Scherer <misc@mandriva.org>
10939
10940 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
10941 uses case sensitive btree.
10942 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
10943 only for case insensitive filesystems.
10944
8ee1e0d9 109452009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
10946
10947 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
10948 * conf/common.rmk (search_mod_CFLAGS): likewise
10949
a9966eb1 109502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10951
473d1e45 10952 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 10953 compensate a compiler bug
10954
9e7100fb 109552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10956
473d1e45 10957 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 10958 instead of '\b'
473d1e45 10959
ede21d71 109602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10961
10962 Definitions for creating asm symbols with Apple's CC
10963
10964 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
10965 [APPLE_CC] (VARIABLE): likewise
10966
9dbf7653 109672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10968
10969 Disable lnxboot.img when compiled
10970 with Apple's CC
10971
10972 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
10973 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
10974 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
10975 [! APPLE_CC] (CODE_LENG): skip
10976 [! APPLE_CC] (setup_sects): likewise
10977 [! APPLE_CC]: skip filling
473d1e45 10978
e93cdc3d 109792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 Address in trampolines based on 32-bit registers when compiled
10982 with Apple's CC
10983
473d1e45 10984 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 10985 for addresses
10986 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
10987
6c688477 109882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10989
10990 Avoid aliases when compiling with Apple's CC for PCBIOS machine
10991
10992 * kern/misc.c [APPLE_CC] (memcpy): new function
10993 [APPLE_CC] (memmove): likewise
10994 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 10995 (memcpy): define alias conditionally on !APPLE_CC
6c688477 10996 (memset): likewise
10997 (abort): likewise
10998 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
10999 APPLE_CC are defined
11000 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
11001 (grub_assert_fail): make prototype conditional
11002
e37ffc5c 110032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
11006
473d1e45 11007 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
11008 grub-macho2img
e37ffc5c 11009 (CLEANFILES): add grub-macho2img
11010 (grub_macho2img_SOURCES): new variable
11011 * kern/i386/pc/startup.S (bss_start): new variable
11012 (bss_end): likewise
11013 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
11014 * util/grub-macho2img.c: new file
11015
cf00df31 110162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11017
11018 Use objconv when compiling with Apple's CC
11019
11020 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
11021 (efiemu64.o): likewise
11022 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
11023 when compiling with Apple's CC
11024 (efiemu64_s.o): likewise
11025 * configure.ac: check for objconv when compiling with Apple's CC
11026 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 11027
d119a20c 110282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11029
11030 Define segment as well as section when compiling with
11031 Apple's CC
11032
11033 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
11034 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
11035 (efiemu_convert_pointer): likewise
11036 (efiemu_set_virtual_address_map): likewise
11037 (efiemu_convert_pointer): likewise
11038 (efiemu_getcrc32): likewise
11039 (init_crc32_table): likewise
11040 (reflect): likewise
11041 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
11042 (GRUB_MOD_DEP): likewise
473d1e45 11043
c8600122 110442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11045
11046 Allow a compilation without -mcmodel=large
11047
11048 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
11049 when compiled without -mcmodel=large
473d1e45 11050 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 11051 without -mcmodel=large
473d1e45 11052 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 11053 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 11054
e8df1d4e 110552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11056
11057 Remove nested functions in efiemu core
11058
11059 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 11060
cc6c3ac1 110612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11062
11063 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
11064
11065 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
11066 temporary storage
473d1e45 11067 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
11068 using Apple's CC
cc6c3ac1 11069 (grub_cpu_is_tsc_supported): likewise
11070 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 11071
3e325901 110722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11073
11074 Absolute addressing through constant with Apple's cc
11075
11076 * kern/i386/pc/startup.S: Define necessary constants
11077 and address through it when using ABS with Apple's CC
11078 * boot/i386/pc/diskboot.S: likewise
11079 * boot/i386/pc/boot.S: likewise
11080 * boot/i386/pc/lnxboot.S: likewise
11081 * boot/i386/pc/cdboot.S: likewise
11082 * mmap/i386/pc/mmap_helper.S: likewise
11083 * commands/i386/pc/drivemap_int13h.S: likewise
11084
2b167a72 110852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11086
11087 Check if compiler is apple cc
11088
11089 * Makefile.in (ASFLAGS): new variable
11090 (TARGET_ASFLAGS): likewise
11091 (TARGET_MODULE_FORMAT): likewise
11092 (TARGET_APPLE_CC): likewise
11093 (OBJCONV): likewise
11094 (TARGET_IMG_CFLAGS): likewise
11095 (TARGET_CPPFLAGS): add includedir
11096 * configure.ac: call grub_apple_cc and grub_apple_target_cc
11097 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
11098 Check for linker script only if compiler isn't Apple's CC
11099 (TARGET_MODULE_FORMAT): set
11100 (TARGET_APPLE_CC): likewise
11101 (TARGET_ASFLAGS): likewise
11102 (ASFLAGS): likewise
11103 Check for objcopy only if compiler isn't Apple's CC
11104 Check for BSS symbol only if compiler isn't Apple's CC
11105 * genmk.rb: adapt nm options if we use Apple's utils
11106 * aclocal.m4 (grub_apple_cc): new test
11107 (grub_apple_target_cc): likewise
473d1e45 11108
fb14123e 111092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11110
11111 Simplify sed expressions and improve awk
11112
11113 * Makefile.in (install-local): simplify sed expression
11114 * gencmdlist.sh: likewise
11115 * genmoddep.awk: avoid adding module as a dependency of itself
11116
5b889789 111172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11118
11119 Add missing start symbols
11120
11121 * boot/i386/pc/boot.S: add start
fb14123e 11122 * boot/i386/pc/pxeboot.S: likewise
473d1e45 11123
fd2bf2e3 111242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 11127
11128 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 11129 (relocate_addresses): consider both r_addend and value at offset
11130 (make_mods_section): zerofill modinfo and header
11131 (convert_elf): write prefix here
473d1e45 11132
5389763d 111332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11134
11135 Use .asciz instead of .string
11136
11137 * i386/pc/diskboot.S: use .asciz instead of .string
11138 * i386/pc/boot.S: likewise
11139 * include/grub/dl.h (GRUB_MOD_DEP): likewise
11140 (GRUB_MOD_NAME): likewise
473d1e45 11141
3eb5ed4e 111422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 gfxpayload support
11145
11146 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
11147 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
11148 (grub_video_setup): remove
11149 (grub_video_set_mode): new prototype
11150 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
11151 (vid_mode): remove
11152 (linux_vesafb_res): compile only on PCBIOS
11153 (grub_linux_boot): support gfxpayload
11154 * loader/i386/pc/xnu.c (video_hook): new function
11155 (grub_xnu_set_video): support gfxpayload
11156 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
11157 (DEFAULT_VIDEO_HEIGHT): likewise
11158 (DEFAULT_VIDEO_FLAGS): likewise
11159 (DEFAULT_VIDEO_MODE): new definition
11160 (video_hook): new function
11161 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 11162 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 11163 loading xnu
11164 * video/video.c (grub_video_setup): removed
473d1e45 11165 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 11166 grub_video_setup
11167
4b0e1143 111682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11169
11170 Avoid calling biosdisk in drivemap
11171
11172 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
11173 (revparse_biosdisk): likewise
11174 (list_mappings): derive name from id directly
11175 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 11176
fda6cb98 111772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 Script fixes
11180
11181 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
11182 (grub_lexer_param): add tokenonhold
11183 (grub_script_create_cmdline): remove cmdline. All callers updated
11184 (grub_script_function_create): make functionname
11185 grub_script_arg. All callers updated
11186 (grub_script_execute_argument_to_string): new prototype
11187 * kern/parser.c (state_transitions): reorder
11188 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 11189 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 11190 make global
11191 (grub_script_execute_cmdline): use new format
11192 * script/sh/function.c (grub_script_function_create): make functionname
11193 grub_script_arg. All callers updated
473d1e45 11194 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 11195 (grub_script_yylex): remove
11196 (grub_script_yylex2): renamed to ...
11197 (grub_script_yylex): ...renamed
11198 parse the expressions like a${b}c
11199 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
11200 (GRUB_PARSER_TOKEN_VAR): remove
11201 (GRUB_PARSER_TOKEN_NAME): likewise
11202 ("if"): declare as typeless
11203 ("while"): likewise
11204 ("function"): likewise
11205 ("else"): likewise
11206 ("then"): likewise
11207 ("fi"): likewise
11208 (text): remove
11209 (argument): likewise
11210 (script): accept empty scripts and make exit on error
11211 (arguments): use GRUB_PARSER_TOKEN_ARG
11212 (function): likewise
11213 (command): move error handling to script
11214 (menuentry): move grub_script_lexer_ref before
473d1e45 11215 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 11216 argument. All callers updated
11217
f4448a07 112182009-06-04 Robert Millan <rmh.grub@aybabtu.com>
11219
11220 Prevent GRUB from probing floppies during boot.
11221
11222 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
11223 * commands/search.c (options): Add --no-floppy.
11224 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
11225 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
11226 --no-floppy when searching for UUIDs.
11227
2bf5885a 112282009-06-04 Robert Millan <rmh.grub@aybabtu.com>
11229
11230 Simplify the code duplication in commands/search.c.
11231
11232 * commands/search.c (search_label, search_fs_uuid): Merge into ...
11233 (search_fs): ... this. Update all users.
11234
f6fd460a 112352009-06-03 Felix Zielcke <fzielcke@z-51.de>
11236
11237 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
11238
cbb3c83e 112392009-05-28 Pavel Roskin <proski@gnu.org>
11240
57788cfd 11241 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
11242 Remove the original symlink explicitly.
11243
cbb3c83e 11244 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
11245 just one slash. That's how grub_fshelp_find_file() does it.
11246
cd0d5e30 112472009-05-26 Pavel Roskin <proski@gnu.org>
11248
f0f8bbe2 11249 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
11250 to `str'.
11251
cd0d5e30 11252 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
11253 possibly unused.
11254
8c2cab51 112552009-05-25 Christian Franke <franke@computer.org>
11256
11257 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
11258 register.
11259 (grub_atapi_identify): Add wait after drive select.
11260 (grub_ata_identify): Do more strict status register check before
11261 calling grub_atapi_identify (). Suppress error message if status
11262 register is 0x00 after command failure. Add status register
11263 check after PIO read to avoid bogus identify due to stuck DRQ.
11264 Thanks to Pavel Roskin for testing.
11265 (grub_device_initialize): Remove unsafe status register check.
11266 Thanks to 'phcoder' for problem report and patch.
11267 Prevent sign extension in debug message.
11268
230c0ad6 112692009-05-23 Colin D Bennett <colin@gibibit.com>
11270
11271 Cleaned up `include/grub/normal.h'. Grouped prototypes by
11272 definition file, and functions defined in `normal/menu.c' have had
11273 their prototypes moved to `include/grub/menu.h' for consistency.
11274
11275 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
11276 from normal.h.
11277 (grub_menu_get_entry): Likewise.
11278 (grub_menu_get_timeout): Likewise.
11279 (grub_menu_set_timeout): Likewise.
11280 (grub_menu_execute_entry): Likewise.
11281 (grub_menu_execute_with_fallback): Likewise.
11282 (grub_menu_entry_run): Likewise.
11283
11284 * include/grub/normal.h: Re-ordered and grouped function
11285 prototypes by file that the function is defined in.
11286 (grub_menu_execute_callback): Removed; moved to menu.h.
11287 (grub_menu_get_entry): Likewise.
11288 (grub_menu_get_timeout): Likewise.
11289 (grub_menu_set_timeout): Likewise.
11290 (grub_menu_execute_entry): Likewise.
11291 (grub_menu_execute_with_fallback): Likewise.
11292 (grub_menu_entry_run): Likewise.
11293 (grub_menu_addentry): Renamed from this ...
11294 (grub_normal_add_menu_entry): ... to this.
11295
11296 * normal/main.c (grub_menu_addentry): Renamed from this ...
11297 (grub_normal_add_menu_entry): ... to this.
11298
11299 * script/sh/execute.c (grub_script_execute_menuentry): Update
11300 reference to renamed grub_menu_addentry function.
11301
861f03a5 113022009-05-23 Felix Zielcke <fzielcke@z-51.de>
11303
11304 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
11305
96b1619a 113062009-05-22 Pavel Roskin <proski@gnu.org>
11307
bf6a5fb2 11308 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
11309 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
11310 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
11311 compiling for the i386 targets, but not for the utilities.
11312
96b1619a 11313 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
11314 to grub_uint8_t.
11315 (grub_root_drive): Likewise.
11316 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
11317 remove alignment.
11318 (grub_root_drive): Change size to byte.
11319 (grub_start_addr): Remove.
11320 (grub_end_addr): Likewise.
11321 (grub_apm_bios_info): Likewise.
11322
b729776b 113232009-05-21 Felix Zielcke <fzielcke@z-51.de>
11324
11325 * normal/i386: Remove.
11326 * normal/powerpc: Likewise.
11327 * normal/sparc64: Likewise.
11328 * normal/x86_64: Likewise.
11329
0a15ce80 113302009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11331
11332 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 11333 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 11334 * loader/i386/xnu_helper.S: Likewise
d6da58e6 11335
33db9015 113362009-05-18 Colin D Bennett <colin@gibibit.com>
11337
d6da58e6 11338 Display error messages when parsing a Lua statement fails.
11339 Previously, executing a syntactically invalid statement like
11340 ")foo" or "bar;" would silently fail.
33db9015 11341
11342 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 11343 (grub_lua_parse_line): Improved reporting of Lua parser and
11344 execution errors.
33db9015 11345
46422c89 113462009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 Remove -Werror which causes build to fail on some systems
11349
11350 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
11351 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
11352 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 11353
22f53a96 113542009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11355
11356 trampoline for linux on 64-bit platform
11357
18f547ad 11358 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
11359 loader/i386/efi/linux_trampoline.S
11360 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 11361 declaration
d6da58e6 11362 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
11363 here
22f53a96 11364 * loader/i386/linux_trampoline.S: moved here
d6da58e6 11365 * loader/i386/efi/linux.c (allocate_pages): reserve space for
11366 trampoline
22f53a96 11367 (jumpvector): removed
11368 (grub_linux_trampoline_start): new declaration
11369 (grub_linux_trampoline_end): likewise
11370 (grub_linux_boot): use trampoline when on 64-bit platform
11371 * loader/i386/linux.c: likewise
11372
cb5a0f40 113732009-05-16 Pavel Roskin <proski@gnu.org>
11374
11375 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
11376 const to avoid a warning.
11377 (grub_lua_setenv): Likewise.
11378 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
11379 lmsg to fix a warning.
11380
334f2c28 113812009-05-16 Felix Zielcke <fzielcke@z-51.de>
11382
11383 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 11384 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11385 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
11386 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11387 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
11388 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11389 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
11390 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 11391
59e5d3ec 113922009-05-16 Felix Zielcke <fzielcke@z-51.de>
11393
11394 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
11395
9d87a1ba 113962009-05-16 Bean <bean123ch@gmail.com>
11397
11398 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
11399 (lua_mod_SOURCES): New variable.
11400 (lua_mod_CFLAGS): Likewise.
11401 (lua_mod_LDFLAGS): Likewise.
11402
11403 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
11404 (setjmp_mod_SOURCES): New variable.
11405 (setjmp_mod_CFLAGS): Likewise.
11406 (setjmp_LDFLAGS): Likewise.
11407
11408 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
11409 (setjmp_mod_SOURCES): New variable.
11410 (setjmp_mod_CFLAGS): Likewise.
11411 (setjmp_LDFLAGS): Likewise.
11412
11413 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
11414 (setjmp_mod_SOURCES): New variable.
11415 (setjmp_mod_CFLAGS): Likewise.
11416 (setjmp_LDFLAGS): Likewise.
11417
11418 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
11419 (setjmp_mod_SOURCES): New variable.
11420 (setjmp_mod_CFLAGS): Likewise.
11421 (setjmp_LDFLAGS): Likewise.
11422
11423 * normal/i386/setjmp.S: Moved from here ...
11424 * lib/i386/setjmp.S: ... Moved here
11425 * normal/x86_64/setjmp.S: Moved from here ...
11426 * lib/x86_64/setjmp.S: ... Moved here
11427 * normal/powerpc/setjmp.S: Moved from here ...
11428 * lib/powerpc/setjmp.S: ... Moved here
11429 * normal/sparc64/setjmp.S: Moved from here ...
11430 * lib/sparc64/setjmp.S: ... Moved here
11431
11432 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
11433 returns_twice in mingw.
11434
11435 * script/lua/grub_lib.c: New file.
11436 * script/lua/grub_lib.h: Likewise.
11437 * script/lua/grub_lua.h: Likewise.
11438 * script/lua/grub_main.c: Likewise.
11439 * script/lua/lapi.c: Likewise.
11440 * script/lua/lapi.h: Likewise.
11441 * script/lua/lauxlib.c: Likewise.
11442 * script/lua/lauxlib.h: Likewise.
11443 * script/lua/lbaselib.c: Likewise.
11444 * script/lua/lcode.c: Likewise.
11445 * script/lua/lcode.h: Likewise.
11446 * script/lua/ldblib.c: Likewise.
11447 * script/lua/ldebug.c: Likewise.
11448 * script/lua/ldebug.h: Likewise.
11449 * script/lua/ldo.c: Likewise.
11450 * script/lua/ldo.h: Likewise.
11451 * script/lua/ldump.c: Likewise.
11452 * script/lua/lfunc.c: Likewise.
11453 * script/lua/lfunc.h: Likewise.
11454 * script/lua/lgc.c: Likewise.
11455 * script/lua/lgc.h: Likewise.
11456 * script/lua/linit.c: Likewise.
11457 * script/lua/liolib.c: Likewise.
11458 * script/lua/llex.c: Likewise.
11459 * script/lua/llex.h: Likewise.
11460 * script/lua/llimits.h: Likewise.
11461 * script/lua/lmathlib.c: Likewise.
11462 * script/lua/lmem.c: Likewise.
11463 * script/lua/lmem.h: Likewise.
11464 * script/lua/loadlib.c: Likewise.
11465 * script/lua/lobject.c: Likewise.
11466 * script/lua/lobject.h: Likewise.
11467 * script/lua/lopcodes.c: Likewise.
11468 * script/lua/lopcodes.h: Likewise.
11469 * script/lua/loslib.c: Likewise.
11470 * script/lua/lparser.c: Likewise.
11471 * script/lua/lparser.h: Likewise.
11472 * script/lua/lstate.c: Likewise.
11473 * script/lua/lstate.h: Likewise.
11474 * script/lua/lstring.c: Likewise.
11475 * script/lua/lstring.h: Likewise.
11476 * script/lua/lstrlib.c: Likewise.
11477 * script/lua/ltable.c: Likewise.
11478 * script/lua/ltable.h: Likewise.
11479 * script/lua/ltablib.c: Likewise.
11480 * script/lua/ltm.c: Likewise.
11481 * script/lua/ltm.h: Likewise.
11482 * script/lua/lua.h: Likewise.
11483 * script/lua/luaconf.h: Likewise.
11484 * script/lua/lualib.h: Likewise.
11485 * script/lua/lundump.c: Likewise.
11486 * script/lua/lundump.h: Likewise.
11487 * script/lua/lvm.c: Likewise.
11488 * script/lua/lvm.h: Likewise.
11489 * script/lua/lzio.c: Likewise.
11490 * script/lua/lzio.h: Likewise.
11491
5e898c9d 114922009-05-16 Bean <bean123ch@gmail.com>
11493
11494 * include/grub/kernel.h (grub_module_header_types): Add type
11495 OBJ_TYPE_CONFIG.
11496
11497 * kern/main.c (grub_load_config): New function.
11498 (grub_main): Call grub_load_config to read boot config.
11499
11500 * grub-mkimage (generate_image): New parameter config_path.
11501 (options): New option --config.
11502 (main): Parse --config option, and pass it to generate_image.
11503
cf353a47 115042009-05-14 Christian Franke <franke@computer.org>
11505
11506 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
11507 This fixes build on Cygwin.
11508
3834887f 115092009-05-14 Pavel Roskin <proski@gnu.org>
11510
11511 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
11512 jump. This saves two bytes, so the typical case of 2 swapped
11513 drives would fit 32 bytes.
11514
8090fc01 115152009-05-13 Pavel Roskin <proski@gnu.org>
11516
ac963883 11517 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
11518 grub_uint32_t to avoid a warning.
11519
8090fc01 11520 * loader/i386/linux.c (allocate_pages): When assigning
11521 real_mode_mem, cast through grub_size_t to fix a warning. The
11522 code already makes sure that the value would fit a pointer.
11523 (grub_linux_setup_video): Cast render_target->data to
11524 grub_size_t to fix a warning.
11525
18f547ad 115262009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 11527
11528 * commands/i386/pc/drivemap.c: New file - implement drivemap
11529 command.
11530 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
11531 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
11532
6f6a8b28 115332009-05-13 Pavel Roskin <proski@gnu.org>
11534
11535 * util/i386/pc/grub-setup.c (setup): Remove unused variable
11536 embedding_area_exists.
11537
15fbf4c4 115382009-05-13 Robert Millan <rmh.grub@aybabtu.com>
11539
11540 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
11541 it easier to understand / work with.
59978c8a 11542 Improve warning messages for cases where there's no embedding area,
11543 or when it is too small (or core.img too large).
15fbf4c4 11544
238e871f 115452009-05-13 Pavel Roskin <proski@gnu.org>
11546
0ab3a9a4 11547 * loader/i386/pc/multiboot2.c: Add necessary includes for
11548 grub_multiboot2_real_boot().
11549
a2c8c5f8 11550 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
11551 PX record is always little-endian. We only need the lower 2
11552 bytes of the mode.
11553
faec96af 11554 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
11555 facilitate code reuse.
11556 (grub_cpio_mount): Use "struct head", not a char buffer. This
11557 fixes a warning reported by gcc 4.4.
11558
238e871f 11559 * kernel/disk.c (grub_disk_read): Use void pointer for the
11560 buffer.
11561 (grub_disk_write): Use const void pointer for the buffer.
11562 Adjust all callers. Remove unnecessary casts.
11563
901d2f0c 115642009-05-10 Robert Millan <rmh.grub@aybabtu.com>
11565
11566 * util/i386/pc/grub-install.in: Update copyright year.
11567
18f547ad 115682009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 11569
11570 gptsync
11571
11572 * commands/gptsync.c: new file
11573 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
11574 (gptsync_mod_SOURCES): new variable
11575 (gptsync_mod_CFLAGS): likewise
11576 (gptsync_mod_LDFLAGS): likewise
18f547ad 11577 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 11578 new definition
11579 (GRUB_PC_PARTITION_TYPE_HFS): likewise
11580 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
11581 * conf/i386-ieee1275.rmk: likewise
11582 * conf/i386-pc.rmk: likewise
11583 * conf/powerpc-ieee1275.rmk: likewise
11584
b4ba690a 115852009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11586
11587 Fixed grub-emu
11588
11589 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
11590 (grub_dl_ref): likewise
11591
317e1a44 115922009-05-08 Robert Millan <rmh.grub@aybabtu.com>
11593
11594 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
11595 split in two functions (one for msdos and one for gpt).
11596
041b8094 115972009-05-08 Pavel Roskin <proski@gnu.org>
11598
752473c2 11599 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
11600 not modified.
11601
041b8094 11602 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
11603 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
11604 Initialize them with -1. Add sanity check for bad1. Eliminate
11605 nerr variable.
11606
172800ce 116072009-05-08 David S. Miller <davem@davemloft.net>
11608
11609 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
11610
29aa5e81 116112009-05-06 Robert Millan <rmh.grub@aybabtu.com>
11612
11613 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 11614 existence.
29aa5e81 11615
96613b62 116162009-05-05 Felix Zielcke <fzielcke@z-51.de>
11617
11618 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 11619 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 11620
eef73c8a 116212009-05-05 David S. Miller <davem@davemloft.net>
11622
11623 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
11624
119494b5 116252009-05-05 Pavel Roskin <proski@gnu.org>
11626
11627 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
11628 of grub_dl_ref() and grub_dl_unref().
11629 * commands/parttool.c: Remove preprocessor conditionals around
11630 grub_dl_ref() and grub_dl_unref().
11631 * fs/affs.c: Likewise.
11632 * fs/afs.c: Likewise.
11633 * fs/cpio.c: Likewise.
11634 * fs/ext2.c: Likewise.
11635 * fs/fat.c: Likewise.
11636 * fs/hfs.c: Likewise.
11637 * fs/hfsplus.c: Likewise.
11638 * fs/iso9660.c: Likewise.
11639 * fs/jfs.c: Likewise.
11640 * fs/minix.c: Likewise.
11641 * fs/ntfs.c: Likewise.
11642 * fs/reiserfs.c: Likewise.
11643 * fs/sfs.c: Likewise.
11644 * fs/udf.c: Likewise.
11645 * fs/ufs.c: Likewise.
11646 * fs/xfs.c: Likewise.
11647 * include/grub/dl.h: Likewise.
11648 * loader/xnu.c: Likewise.
11649
de5fd76e 116502009-05-04 Pavel Roskin <proski@gnu.org>
11651
11652 * commands/acpi.c: Remove unused variable my_mod.
11653 * partmap/amiga.c: Likewise.
11654 * partmap/apple.c: Likewise.
11655 * partmap/gpt.c: Likewise.
11656 * partmap/pc.c: Likewise.
11657 * partmap/sun.c: Likewise.
11658 * term/gfxterm.c: Likewise.
11659 * term/i386/pc/vesafb.c: Likewise.
11660 * term/i386/pc/vga.c: Likewise.
11661
983598ad 116622009-05-04 David S. Miller <davem@davemloft.net>
11663
11664 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
11665 pointer args to grub_ieee1275_get_property().
11666
8aadec43 11667 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
11668
9554b15e 11669 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
11670 devices, and do not traverse down under controller nodes.
11671
67e23c90 11672 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
11673 (grub_ofdisk_open): Use it to un-escape "," characters.
11674 * kern/disk.c (find_part_sep): New.
11675 (grub_disk_open): Use it to find the first non-escaped ','
11676 character in the disk name.
11677 * util/ieee1275/devicemap.c (escape_of_path): New.
11678 (grub_util_emit_devicemap_entry): Use it.
11679 * util/sparc64/ieee1275/grub-install.in: Update script to
11680 strip partition specifiers properly by not triggering on
11681 '\' escaped ',' characters.
11682
74bfdd2f 116832009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11684
11685 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
11686 to 0x300.
11687 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
11688 resolutions.
11689 (linux_vesafb_modes): Add a lot of additional modes to the list (based
11690 on documentation from Wikipedia).
11691
4241d2b1 116922009-05-04 Pavel Roskin <proski@gnu.org>
11693
11694 * disk/ata.c: Spelling fixes.
11695 * disk/raid.c: Likewise.
11696 * disk/usbms.c: Likewise.
11697 * disk/dmraid_nvidia.c: Likewise.
11698 * kern/ieee1275/openfw.c: Likewise.
11699 * kern/ieee1275/init.c: Likewise.
11700 * kern/ieee1275/cmain.c: Likewise.
11701 * boot/i386/pc/cdboot.S: Likewise.
11702 * video/readers/png.c: Likewise.
11703 * video/i386/pc/vbe.c: Likewise.
11704 * fs/udf.c: Likewise.
11705 * fs/hfs.c: Likewise.
11706 * fs/reiserfs.c: Likewise.
11707 * efiemu/runtime/efiemu.c: Likewise.
11708 * efiemu/main.c: Likewise.
11709 * efiemu/mm.c: Likewise.
11710 * include/grub/elf.h: Likewise.
11711 * include/grub/xnu.h: Likewise.
11712 * include/grub/usbdesc.h: Likewise.
11713 * include/grub/usb.h: Likewise.
11714 * include/grub/script_sh.h: Likewise.
11715 * include/grub/lib/LzmaEnc.h: Likewise.
11716 * include/grub/efiemu/efiemu.h: Likewise.
11717 * include/grub/command.h: Likewise.
11718 * normal/menu.c: Likewise.
11719 * normal/main.c: Likewise.
11720 * normal/datetime.c: Likewise.
11721 * bus/usb/uhci.c: Likewise.
11722 * mmap/i386/uppermem.c: Likewise.
11723 * mmap/mmap.c: Likewise.
11724 * commands/acpi.c: Likewise.
11725 * commands/test.c: Likewise.
11726 * partmap/apple.c: Likewise.
11727 * font/font.c: Likewise.
11728 * loader/sparc64/ieee1275/linux.c: Likewise.
11729 * loader/macho.c: Likewise.
11730 * loader/i386/bsd_trampoline.S: Likewise.
11731 * loader/i386/bsd.c: Likewise.
11732 * loader/xnu.c: Likewise.
11733 * term/i386/pc/vesafb.c: Likewise.
11734 * term/usb_keyboard.c: Likewise.
11735 * util/resolve.c: Likewise.
11736 * util/getroot.c: Likewise.
11737
0cfc0083 117382009-05-04 Felix Zielcke <fzielcke@z-51.de>
11739
11740 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
11741
7c1d00cd 117422009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11743
11744 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
11745 build error.
11746
b01f0548 117472009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11748
11749 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
11750 parameter only available on BIOS.
11751
ecc3eb22 117522009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11753
11754 Removed wrong semicolon in declaration
11755
11756 * grub/misc.h (grub_dprintf): remove semicolon
11757
112972a9 117582009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11759
11760 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
11761 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
11762 is done by grub_cmd_linux() now).
11763 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
11764 restore video to text mode.
11765 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
11766 indicates lack of "vga=" parameter. "vga=0" is mapped to
11767 `GRUB_LINUX_VID_MODE_NORMAL'.
11768
afd5c115 117692009-05-04 Felix Zielcke <fzielcke@z-51.de>
11770
11771 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
11772 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
11773 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 11774 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 11775 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
11776 `grub_script.tab.c'.
11777
11778 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11779 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11781 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11782 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11783
faa517ce 11784 * Makefile.in: Remove duplicated 2008 in Copyright line.
11785
ae0c0bdc 117862009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11787
473d1e45 11788 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 11789 unconditionally.
11790 * include/grub/util/misc.h (grub_util_warn): New declaration.
11791
11792 * util/i386/pc/grub-install.in: Understand --force and pass it down
11793 to grub-setup.
11794
11795 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
11796 down to setup().
11797 (setup): Improve error messages and add warnings when requested to
11798 install in odd layouts. Refuse to install using blocklists unless
11799 --force was set.
11800
18f547ad 118012009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 11802
11803 * disk/raid.c (grub_raid_scan_device): Improve debug message.
11804
6d260daa 118052009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11806
11807 Updated copyright year
11808
11809 * fs/hfsplus.c: updated copyright year
18f547ad 11810
69f853f8 118112009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11812
11813 HFS+ UUID
11814
18f547ad 11815 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 11816 in the space previously used by unused3
11817 (grub_hfsplus_uuid): new function
11818 (grub_hfsplus_fs): added uuid field
11819
4c402e73 118202009-05-03 Pavel Roskin <proski@gnu.org>
11821
11822 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
11823 suppress warnings. It's no longer needed.
11824 * disk/host.c: Likewise.
11825 * disk/ata_pthru.c: Likewise.
11826 * disk/loopback.c: Likewise.
11827 * hook/datehook.c: Likewise.
11828 * parttool/pcpart.c: Likewise.
11829 * fs/i386/pc/pxe.c: Likewise.
11830 * fs/ntfscomp.c: Likewise.
11831 * efiemu/main.c: Likewise.
11832 * mmap/mmap.c: Likewise.
11833 * commands/crc.c: Likewise.
11834 * commands/hexdump.c: Likewise.
11835 * commands/hdparm.c: Likewise.
11836 * commands/acpi.c: Likewise.
11837 * commands/echo.c: Likewise.
11838 * commands/minicmd.c: Likewise.
11839 * commands/blocklist.c: Likewise.
11840 * commands/memrw.c: Likewise.
11841 * commands/loadenv.c: Likewise.
11842 * commands/usbtest.c: Likewise.
11843 * commands/lsmmap.c: Likewise.
11844 * commands/boot.c: Likewise.
11845 * commands/parttool.c: Likewise.
11846 * commands/configfile.c: Likewise.
11847 * commands/search.c: Likewise.
11848 * commands/ieee1275/suspend.c: Likewise.
11849 * commands/cat.c: Likewise.
11850 * commands/i386/pc/pxecmd.c: Likewise.
11851 * commands/i386/pc/play.c: Likewise.
11852 * commands/i386/pc/halt.c: Likewise.
11853 * commands/i386/pc/vbeinfo.c: Likewise.
11854 * commands/i386/pc/vbetest.c: Likewise.
11855 * commands/lspci.c: Likewise.
11856 * commands/date.c: Likewise.
11857 * commands/handler.c: Likewise.
11858 * commands/ls.c: Likewise.
11859 * commands/test.c: Likewise.
11860 * commands/cmp.c: Likewise.
11861 * commands/efi/loadbios.c: Likewise.
11862 * commands/efi/fixvideo.c: Likewise.
11863 * commands/halt.c: Likewise.
11864 * commands/help.c: Likewise.
11865 * commands/reboot.c: Likewise.
11866 * hello/hello.c: Likewise.
11867 * script/sh/main.c: Likewise.
11868 * loader/xnu.c: Likewise.
11869 * term/terminfo.c: Likewise.
11870 * term/i386/pc/serial.c: Likewise.
11871 * term/usb_keyboard.c: Likewise.
11872
515b5079 118732009-05-03 David S. Miller <davem@davemloft.net>
11874
11875 * normal/menu.c: Include grub/parser.h
11876
dfc31a22 118772009-05-03 Pavel Roskin <proski@gnu.org>
11878
2fee74f1 11879 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
11880 not char*.
11881 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
11882 Suggested by Javier Martín <lordhabbit@gmail.com>
11883
dfc31a22 11884 * util/i386/pc/grub-mkrescue.in: Allow for the case when
11885 efiemu??.o doesn't exist.
11886 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
11887 copying.
11888
18f547ad 118892009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 11890
11891 FreeBSD 64-bit support
11892
18f547ad 11893 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 11894 and loader/i386/bsd_trampoline.S
11895 (bsd_mod_ASFLAGS): new variable
11896 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
11897 (FREEBSD_MODTYPE_KERNEL64): likewise
11898 (grub_bsd64_trampoline_start): likewise
11899 (grub_bsd64_trampoline_end): likewise
11900 (grub_bsd64_trampoline_selfjump): likewise
11901 (grub_bsd64_trampoline_gdt): likewise
11902 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
11903 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
11904 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
11905 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 11906 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 11907 of "attrib" member
11908 * loader/i386/bsd_pagetable.c: new file
11909 * loader/i386/bsd_trampoline.S: likewise
11910 * loader/i386/bsd.c (ALIGN_QWORD): new macro
11911 (ALIGN_VAR): likewise
11912 (entry_hi): new variable
11913 (kern_end_mdofs): likewise
11914 (is_64bit): likewise
11915 (grub_freebsd_add_meta): use ALIGN_VAR
11916 (grub_e820_mmap): new declaration
11917 (grub_freebsd_add_mmap): new function
11918 (grub_freebsd_add_meta_module): support 64 bit kernels
11919 (grub_freebsd_list_modules): use ALIGN_VAR
11920 (gdt_descriptor): new declaration
11921 (grub_freebsd_boot): support 64 bit kernels
11922 (grub_bsd_elf64_hook): new function
11923 (grub_bsd_load_elf): support elf64
11924
038c5720 119252009-05-03 Bean <bean123ch@gmail.com>
11926
11927 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
11928 after we get the result of if statement.
11929
fc45fb58 119302009-05-03 Bean <bean123ch@gmail.com>
11931
11932 * Makefile.in (enable_efiemu): New variable.
11933
11934 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
11935 set.
11936 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
11937 path.
11938 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
11939 path, add -mno-red-zone option.
11940 (efiemu64_s.o): Likewise.
11941 (efiemu64.o): Use macro $^ for source file.
11942
11943 * configure.ac (--enable-efiemu): New option.
11944
bbee0f2b 119452009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11946
11947 xnu support
11948
11949 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
11950 (pkglib_MODULES): add xnu.mod
11951 (xnu_mod_SOURCES): new variable
11952 (xnu_mod_CFLAGS): likewise
11953 (xnu_mod_LDFLAGS): likewise
11954 (xnu_mod_ASFLAGS): likewise
11955 * conf/i386-pc.rmk: likewise
11956 * conf/x86_64-efi.rmk: likewise
7dd4a573 11957 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 11958 new declaration
11959 * include/grub/i386/macho.h: new file
11960 * include/grub/i386/xnu.h: likewise
11961 * include/grub/macho.h: likewise
11962 * include/grub/machoload.h: likewise
11963 * include/grub/x86_64/macho.h: likewise
11964 * include/grub/x86_64/xnu.h: likewise
11965 * include/grub/xnu.h: likewise
11966 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
11967 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
11968 * loader/i386/efi/xnu.c: new file
11969 * loader/i386/pc/xnu.c: likewise
11970 * loader/i386/xnu.c: likewise
11971 * loader/i386/xnu_helper.S: likewise
11972 * loader/macho.c: likewise
11973 * loader/xnu.c: likewise
11974 * loader/xnu_resume.c: likewise
11975 * util/grub-dumpdevtree: likewise
11976 * include/grub/i386/pit.h: include grub/err.h
11977 (grub_pit_wait): export
11978 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 11979
5caf964d 119802009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11981
11982 Efiemu
7dd4a573 11983
5caf964d 11984 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 11985 _linux_efi, linux_efi.
11986 new files in grub-emu
5caf964d 11987 new targets efiemu32.o and efiemu64.o
11988 * loader/linux_normal_efiemu.c: likewise
11989 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 11990 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 11991 files to copy
11992 * include/grub/autoefi.h: new file
7dd4a573 11993 * include/grub/i386/efiemu.h: likewise
5caf964d 11994 * include/grub/i386/pc/efiemu.h: likewise
11995 * include/grub/efi/api.h: add LL suffix when necessary
11996 new definitions relating to tables
11997 * include/grub/efiemu/efiemu.h: new file
11998 * include/grub/efiemu/runtime.h: likewise
11999 * efiemu/prepare.c: likewise
12000 * efiemu/loadcore_common.c: likewise
12001 * efiemu/loadcore64.c: likewise
12002 * efiemu/runtime/efiemu.sh: likewise
12003 * efiemu/runtime/efiemu.S: likewise
12004 * efiemu/runtime/efiemu.c: likewise
12005 * efiemu/runtime/config.h: likewise
12006 * efiemu/prepare32.c: likewise
12007 * efiemu/main.c: likewise
12008 * efiemu/modules/pnvram.c: likewise
12009 * efiemu/modules/i386: likewise
12010 * efiemu/modules/i386/pc: likewise
12011 * efiemu/modules/acpi.c: likewise
12012 * efiemu/i386/pc/cfgtables.c: likewise
12013 * efiemu/i386/loadcore64.c: likewise
12014 * efiemu/i386/loadcore32.c: likewise
12015 * efiemu/prepare64.c: likewise
12016 * efiemu/loadcore.c: likewise
12017 * efiemu/symbols.c: likewise
12018 * efiemu/mm.c: likewise
12019 * efiemu/loadcore32.c: likewise
7dd4a573 12020
120212009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 12022
12023 ACPI spoofing
12024
12025 * commands/acpi.c: new file
12026 * commands/i386/pc/acpi.c: likewise
12027 * commands/efi/acpi.c: likewise
12028 * include/grub/acpi.h: likewise
12029 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
12030 (acpi_mod_SOURCES): new variable
12031 (acpi_mod_CFLAGS): likewise
12032 (acpi_mod_LDFLAGS): likewise
12033 * conf/i386-efi.rmk: likewise
12034 * conf/x86_64-efi.rmk: likewise
12035
7dd4a573 120362009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 12037
12038 Missing part from mmap patch
12039
12040 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
12041 (grub_mmap_unregister)
12042 (grub_mmap_free_and_unregister): use grub_mmap_register
12043
7dd4a573 120442009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 12045
12046 Mmap services
12047
12048 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
12049 * loader/i386/linux.c (find_mmap_size): likewise
12050 (allocate_pages): likewise
12051 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
12052 (grub_fill_multiboot_mmap): likewise
12053 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
12054 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
12055 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
12056 (OPENBSD_MMAP_RESERVED): likewise
12057 * include/grub/i386/pc/memory.h: include grub/memory.h
12058 (grub_lower_mem): removed
12059 (grub_upper_mem): likewise
12060 (GRUB_MACHINE_MEMORY_ACPI): new definition
12061 (GRUB_MACHINE_MEMORY_NVS): likewise
12062 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
12063 (GRUB_MACHINE_MEMORY_HOLE): likewise
12064 (grub_machine_mmap_register): likewise
12065 (grub_machine_mmap_unregister): likewise
12066 (grub_machine_get_upper): likewise
12067 (grub_machine_get_lower): likewise
12068 (grub_machine_get_post64): likewise
12069 * include/grub/i386/efi/memory.h: new file
12070 * include/grub/x86_64/efi/memory.h: likewise
12071 * include/grub/efi/memory.h: likewise
12072 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
12073 (mmap_mod_SOURCES): new variable
12074 (mmap_mod_LDFLAGS): likewise
12075 (mmap_mod_ASFLAGS): likewise
12076 * conf/i386-coreboot.rmk: likewise
12077 * conf/i386-ieee1275.rmk: likewise
12078 * conf/i386-efi.rmk: likewise
12079 * conf/x86_64-efi.rmk: likewise
12080 * include/grub/types.h (UINT_TO_PTR): new macro
12081 (PTR_TO_UINT32): likewise
12082 (PTR_TO_UINT64): likewise
12083 * include/grub/memory.h: new file
12084 * mmap/i386/pc/mmap.c: likewise
12085 * mmap/i386/pc/mmap_helper.S: likewise
12086 * mmap/i386/uppermem.c: likewise
12087 * mmap/mmap.c: likewise
12088 * mmap/efi/mmap.c: likewise
7dd4a573 12089 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 12090 grub_upper_mem
12091 * kern/i386/pc/init.c (grub_lower_mem): removed variable
12092 (grub_upper_mem): likewise
12093 (grub_machine_init): don't use grub_upper_mem,
12094 make grub_lower_mem local
12095 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
12096 grub_mmap_iterate and grub_mmap_get_upper
12097 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
12098
d558e6b5 120992009-05-02 Bean <bean123ch@gmail.com>
12100
12101 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
12102 script/sh/parser.y.
12103 (pkglib_MODULES): Add normal.mod and sh.mod.
12104 (normal_SOURCES): New variable.
12105 (normal_mod_CFLAGS): Likewise.
12106 (normal_mod_LDFLAGS): Likewise.
12107 (sh_mod_SOURCES): Likewise.
12108 (sh_mod_CFLAGS): Likewise.
12109 (sh_mod_LDFLAGS): Likewise.
12110
12111 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
12112 script/sh/lexer.c_DEPENDENCIES.
12113 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
12114 kern/rescue_reader.c and kern/rescue_parser.c.
12115 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
12116 (grub_emu_SOURCES): Change source files.
12117 (pkglib_MODULES): Remove normal.mod.
12118 (normal_SOURCES): Removed.
12119 (normal_mod_CFLAGS): Likewise.
12120 (normal_mod_LDFLAGS): Likewise.
12121 * conf/i386-coreboot.rmk: Likewise.
12122 * conf/i386-efi.rmk: Likewise.
12123 * conf/i386-ieee1276.rmk: Likewise.
12124 * conf/powerpc-ieee1275.rmk: Likewise.
12125 * conf/sparc64-ieee1275.rmk: Likewise.
12126 * conf/x86_64-efi.rmk: Likewise.
12127
12128 * include/grub/command.h (grub_command_execute): New inline function.
12129
12130 * include/grub/menu.h (grub_menu_entry): Removed commands field.
12131
12132 * include/grub/normal.h: Remove <grub/setjmp.h>.
12133 (grub_fs_module_list): Moved to normal/autofs.c.
12134 (grub_exit_env): Removed.
12135 (grub_command_execute): Likewise.
12136 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
12137 parameter script.
12138 (read_command_list): New function declaration.
12139 (read_fs_list): Likewise.
12140
12141 * include/parser.h: Include <grub/reader.h>.
12142 (grub_parser_split_cmdline): Change type of getline parameter.
12143 (grub_parser): New structure.
12144 (grub_parser_class): New variable.
12145 (grub_parser_execute): New function declaration.
12146 (grub_register_rescue_parser): Likewise.
12147 (grub_parser_register): New inline function.
12148 (grub_parser_unregister): Likewise.
12149 (grub_parser_get_current): Likewise.
12150 (grub_parser_set_current): Likewise.
12151
12152 * include/grub/reader.h: New file.
12153 * kern/reader.c: Likewise.
12154 * kern/rescue_parser.c: Likewise.
12155 * kern/rescue_reader.c: Likewise.
12156 * normal/autofs.c: Likewise.
12157 * normal/dyncmd.c: Likewise.
12158
12159 * include/grub/rescue.h: Removed.
12160 * normal/command.h: Likewise.
12161
12162 * include/grub/script.h: Moved to ...
12163 * include/grub/script_sh.h: ... Moved here.
12164 * normal/execute.c: Moved to ...
12165 * script/sh/execute.c: ... Moved here.
12166 * normal/function.c: Moved to ...
12167 * script/sh/function.c: ... Moved here.
12168 * normal/lexer.c: Moved to ...
12169 * script/sh/lexer.c: ... Moved here.
12170 * normal/parser.y: Moved to ...
12171 * script/sh/parser.y: ... Moved here.
12172 * normal/script.c: Moved to ...
12173 * script/sh/script.c: ... Moved here.
12174
12175 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
12176 <grub/reader.h>.
12177 (grub_exit_env): Removed.
12178 (fs_module_list): Moved to normal/autofs.c.
12179 (grub_file_getline): Don't handle comment here.
12180 (free_menu): Skip removed field entry->commands.
12181 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
12182 script parameter.
12183 (read_config_file): Removed nested parameter, change getline function.
12184 (grub_enter_normal_mode): Removed.
12185 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
12186 (read_command_list): Likewise.
12187 (autoload_fs_module): Moved to normal/autofs.c.
12188 (read_fs_list): Likewise.
12189 (reader_nested): New variable.
12190 (grub_normal_execute): Run parser.sh to switch to sh parser.
12191 (grub_cmd_rescue): Removed.
12192 (cmd_normal): Removed.
12193 (grub_cmd_normal): Unregister itself at the beginning. Don't register
12194 rescue command.
12195 (grub_cmdline_run): New function.
12196 (grub_normal_reader_init): Likewise.
12197 (grub_normal_read_line): Likewise.
12198 (grub_env_write_pager): Likewise.
12199 (cmdline): New variable.
12200 (grub_normal_reader): Likewise.
12201 (GRUB_MOD_INIT): Register normal reader and set as current, register
12202 pager hook, register normal command with grub_register_command_prio,
12203 so that it won't show up in command.lst.
12204 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
12205 grub_fs_autoload_hook.
12206
12207 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
12208 (grub_menu_execute_entry): Replace grub_script_execute with
12209 grub_parser_execute, change parameter to grub_command_execute.
12210
12211 * normal/menu_text.c: Remove <grub/script.h>.
12212
12213 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
12214 and <grub/parser.h>.
12215 (run): Change editor_getline to use new parser interface. Change
12216 parameter to grub_command_execute.
12217
12218 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
12219 <grub/reader.h> and <grub/parser.h>.
12220 (grub_load_normal_mode): Execute normal command.
12221 (grub_main): Call grub_register_core_commands,
12222 grub_register_rescue_parser and grub_register_rescue_reader, use
12223 grub_reader_loop to enter input loop.
12224
7dd4a573 12225 * kern/parser.c (grub_parser_split_cmdline): Change type of
12226 getline parameter.
d558e6b5 12227 (grub_parser_class): New variable.
12228 (grub_parser_execute): New function.
12229
12230 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
12231 * loader/multiboot2.c: Likewise.
12232 * loader/sparc64/ieee1275/linux.c: Likewise.
12233
12234 * util/grub-emu.c (read_command_list): New dummy function.
12235
18db813d 122362009-05-02 Robert Millan <rmh.grub@aybabtu.com>
12237
12238 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
12239 count to 16 for CCISS and IDA.
12240
6c67de15 122412009-05-02 Robert Millan <rmh.grub@aybabtu.com>
12242
12243 * normal/menu_text.c (grub_wait_after_message): Print a newline
12244 after waiting for user input.
12245
12246 * loader/i386/linux.c: Include `<grub/normal.h>'.
12247 (grub_cmd_linux): Improve the error message about `ask' mode, by
12248 waiting for user input so it's not missed (we can do this, since
12249 user requested interaction).
12250
d9dc87b0 122512009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 Added missing lst to grub-mkrescue
12254
12255 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
12256 and ${input_dir}/parttool.lst
12257
ac8a2baa 122582009-04-30 David S. Miller <davem@davemloft.net>
12259
ad22a610 12260 * util/hostdisk.c (device_is_wholedisk): New function.
12261 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
12262 zero only if device_is_wholedisk() returns true.
12263
6966215d 12264 * util/hostdisk.c (convert_system_partition_to_system_disk):
12265 Handle virtual disk devices named /dev/vdiskX as found on sparc
12266 and powerpc.
12267
ac8a2baa 12268 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
12269 lettered partition specifier is found, convert to numbered.
12270
979b4fb4 122712009-04-29 David S. Miller <davem@davemloft.net>
12272
e2bf39b2 12273 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
12274 * include/grub/sparc64/ieee1275/memory.h: Likewise.
12275
3c64e104 12276 * normal/command.c: Add missing newline at end of file.
12277
979b4fb4 12278 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
12279 warnings.
12280 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
12281 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
12282 grub_ofdisk_read): Likewise, and deal similarly with the fact that
12283 ihandles have a 32-bit type but need to be stored in a "void *".
12284
136d9f82 122852009-04-28 Pavel Roskin <proski@gnu.org>
12286
9459c306 12287 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
12288 not disk. Adjust all dependencies.
2e08a26a 12289 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 12290 grub_disk_close().
12291
136d9f82 12292 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
12293 parent's partition, don't copy it by reference, as it gets freed
12294 on close.
12295
7dd4a573 122962009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 12297
12298 Preboot hooks support
12299
12300 * commands/boot.c (struct grub_preboot_t): new declaration
12301 (preboots_head): new variable
12302 (preboots_tail): likewise
12303 (grub_loader_register_preboot_hook): new function
12304 (grub_loader_unregister_preboot_hook): likewise
12305 (grub_loader_set): launch preboot hooks
12306 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
12307 (grub_loader_register_preboot_hook): new declaration
12308 (grub_loader_unregister_preboot_hook): likewise
12309
5af922b5 123102009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12311
12312 Warning fix
12313
7dd4a573 12314 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 12315 calling grub_dprintf
12316
a5562c30 123172009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
12318
12319 Bug and warning fixes
12320
7dd4a573 12321 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 12322 declaration
12323 * commands/test.c (test_parse): fixed bug with file tests and corrected
12324 declaration of find_file
12325
4006f85c 123262009-04-26 Pavel Roskin <proski@gnu.org>
12327
12328 * Makefile.in: Don't install empty manual pages if help2man is
12329 missing. Use help2man option for output, not shell redirection.
12330
5c77c3de 123312009-04-26 David S. Miller <davem@davemloft.net>
12332
12333 * util/grub-mkdevicemap.c (make_device_map): Add missing
12334 NESTED_FUNC_ATTR to process_device().
12335
033b10a8 123362009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12337
12338 Test command
12339
12340 * commands/test.c: rewritten to use bash-like test
12341
e4343593 123422009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12343
12344 Parttool autoloading and improvements
12345
7dd4a573 12346 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 12347 (parttool.lst): new target
12348 * genmk.rb: generate parttool-*
12349 (CLEANFILES): add #{parttool}
12350 (PARTTOOLFILES): new variable
12351 * genparttoollist.sh: new file
7dd4a573 12352 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 12353 (grub_pcpart_type): likewise
12354 * commands/parttool.c (helpmsg): new variable
12355 (grub_cmd_parttool): output help if not enough arguments are supplied
12356 autoload modules
12357 (GRUB_MOD_INIT(parttool)): use helpmsg
12358
0d312500 123592009-04-24 David S. Miller <davem@davemloft.net>
12360
7dd4a573 12361 Avoiding opening same device multiple times in device iterator.
0d312500 12362
12363 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 12364 and use it to build a list of partitions in iterate_disk() and
0d312500 12365 iterate_partition().
12366
ac20caff 12367 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
12368 on disk->data.
12369
0dcf7495 12370 * disk/ieee1275/nand.c (grub_nand_iterate): Return
12371 grub_devalias_iterate() result instead of unconditional 0.
12372 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
12373 Also, capture hook return value, either directly or via
12374 grub_children_iterate(), and propagate to caller.
12375 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
12376 grub_children_iterate): Return value is now 'int' instead of
12377 'grub_err_t'.
12378 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
12379 like a proper iterator, stopping when hooks return non-zero.
12380 (grub_devalias_iterate): Likewise.
12381
c8c08833 123822009-04-23 David S. Miller <davem@davemloft.net>
12383
12384 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
12385
f01005a8 123862009-04-22 David S. Miller <davem@davemloft.net>
12387
12388 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
12389 is larger than address_cells, use that value for address_cells too.
12390
4e8269da 12391 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
12392 IEEE1275_MAX_PATH_LEN): Define.
12393 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
12394 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
12395 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
12396 'devtype'. Explicitly NULL terminate devalias expansion.
12397
a1447506 12398 * util/sparc64/ieee1275/misc.c: New file.
12399 * util/sparc64/ieee1275/grub-setup.c: New file.
12400 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
12401 * util/sparc64/ieee1275/grub-mkimage.c: New file.
12402 * util/sparc64/ieee1275/grub-install.in: New file.
12403 * util/ieee1275/ofpath.c: New file.
12404 * util/ieee1275/devicemap.c: New file.
12405 * util/devicemap.c: New file.
12406 * util/deviceiter.c: New file.
12407 * kern/sparc64/ieee1275/init.c: New file.
12408 * include/grub/util/ofpath.h: New file.
12409 * include/grub/util/deviceiter.h: New file.
12410 * util/grub-mkdevicemap.c: Include deviceiter.h.
12411 Implement using grub_util_emit_devicemap_entry and
12412 grub_util_iterate_devices.
12413 * conf/i386-corebook.rmk: Build util/deviceiter.c and
12414 util/devicemap.c into grub-mkdevicemap
12415 * conf/i386-efi.rmk: Likewise.
12416 * conf/i386-ieee1275.rmk: Likewise.
12417 * conf/i386-pc.rmk: Likewise.
12418 * conf/powerpc-ieee1275.rmk: Likewise.
12419 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
12420 images and installation utilities. Build kernel as image
12421 instead of as elf binary. Use common rules as much as possible.
12422
7dd4a573 124232009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 12424
12425 Correct GPT definition
12426
7dd4a573 12427 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 12428 of "attrib" member
12429
c6c5219f 124302009-04-19 Felix Zielcke <fzielcke@z-51.de>
12431
12432 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
12433
0552ff9f 124342009-04-19 David S. Miller <davem@davemloft.net>
12435
12436 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
12437 (grub_rescue_cmd_linux): Rename to...
12438 (grub_cmd_linux): and fix prototype.
12439 (grub_rescue_cmd_initrd): Rename to...
12440 (grub_cmd_initrd): and fix prototype.
12441 (cmd_linux, cmd_initrd): New.
12442 (GRUB_MOD_INIT(linux)): Use grub_register_command().
12443 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
12444
d1a282fc 124452009-04-17 Pavel Roskin <proski@gnu.org>
12446
07c5039f 12447 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
12448 format.
12449 (grub_ohci_transfer): Likewise.
12450
b012002d 12451 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
12452
1bc09c35 12453 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
12454 return without a value. Fix inconsistent indentation.
12455
e0ff9126 12456 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
12457 match struct grub_fs.
12458
d1a282fc 12459 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
12460 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
12461 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
12462 * commands/lspci.c (grub_lspci_iter): Likewise.
12463
a96df3f2 124642009-04-16 Bean <bean123ch@gmail.com>
12465
12466 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
12467 value.
12468
41bb0fe9 124692009-04-15 Pavel Roskin <proski@gnu.org>
12470
12471 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
12472 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
12473 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
12474 definitions.
12475
596c6970 124762009-04-15 Felix Zielcke <fzielcke@z-51.de>
12477
12478 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 12479 that no multiple data or metadata areas are supported and `Unknown
596c6970 12480 metadata header'.
12481
7dd4a573 124822009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 12483
12484 Move loader out of the kernel
12485
12486 * kern/loader.c: moved to ...
12487 * commands/boot.c: ... moved here
12488 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
12489 * commands/boot.c (grub_cmd_boot): moved here. All users updated
12490 * include/grub/kernel.h (grub_machine_fini): export
12491 * include/grub/loader.h (grub_loader_is_loaded): update declaration
12492 (grub_loader_set): likewise
12493 (grub_loader_unset): likewise
12494 (grub_loader_boot): likewise
12495 * conf/common.rmk: new module boot.mod
12496 (pkglib_MODULES): add boot.mod
12497 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
12498 (grub_emu_SOURCES): likewise
12499 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
12500 (grub_emu_SOURCES): likewise
12501 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
12502 (grub_emu_SOURCES): likewise
12503 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
12504 (grub_emu_SOURCES): likewise
12505 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
12506 (grub_emu_SOURCES): likewise
7dd4a573 12507 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
12508 (grub_emu_SOURCES): likewise
0d5d5653 12509 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 12510 (grub_emu_SOURCES): likewise
0d5d5653 12511
7dd4a573 125122009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 12513
12514 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 12515
5999d619 12516 * kern/misc.c (grub_itoa): Removed function
12517 (grub_ltoa): likewise
12518 (grub_vsprintf): use grub_lltoa
12519
7dd4a573 125202009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 12521
12522 Restore grub-emu
12523
12524 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
12525 * conf/i386-coreboot.rmk: likewise
12526 * conf/i386-ieee1275.rmk: likewise
12527 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 12528
20318222 125292009-04-15 Felix Zielcke <fzielcke@z-51.de>
12530
12531 * INSTALL: Add that `./autogen.sh' needs to be run before
12532 `./configure.'.
12533
d05f0df3 125342009-04-14 Bean <bean123ch@gmail.com>
12535
12536 * Makefile.in (pkglib_DATA): Add handler.lst.
12537 (handler.lst): New rule.
12538
12539 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
12540 * conf/i386-coreboot.rmk: Likewise.
12541 * conf/i386-ieee1275.rmk: Likewise.
12542 * conf/i386-efi.rmk: Likewise.
12543 * conf/x86_64-efi.rmk: Likewise.
12544 * conf/powerpc-ieee1275.rmk: Likewise.
12545 * conf/sparc64-ieee1275.rmk: Likewise.
12546
12547 * genhandlerlist.sh: New file.
12548
12549 * genmk.rb: Add rules to generate handler.lst.
12550
12551 * include/grub/normal.h (grub_file_getline): New function definition.
12552 (read_handler_list): Likewise.
12553 (free_handler_list): Likewise.
12554
12555 * include/grub/term.h (grub_term_register_input): Add name parameter
12556 for auto generation of handler.lst.
12557 (grub_term_register_output): Likewise.
12558
12559 * normal/handler.c: New file.
12560
12561 * normal/main.c (get_line): Renamed to grub_file_getline.
12562 (read_config_file): Use the newly renamed grub_file_getline.
12563 (read_command_list): Likewise.
12564 (read_fs_list): Likewise.
12565 (grub_normal_execute): Call read_handler_list to parse handler.lst.
12566 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
12567
12568 * term/efi/console.c (grub_console_init): Add name parameter for auto
12569 generation of handler.lst.
12570 * term/gfxterm.c: Likewise.
12571 * term/i386/pc/at_keyboard.c: Likewise.
12572 * term/i386/pc/console.c: Likewise.
12573 * term/i386/pc/serial.c: Likewise.
12574 * term/i386/pc/vesafb.c: Likewise.
12575 * term/i386/pc/vga.c: Likewise.
12576 * term/i386/pc/vga_text.c: Likewise.
12577 * term/ieee1275/ofconsole.c: Likewise.
12578 * term/usb_keyboard.c: Likewise.
12579
33c846be 125802009-04-14 Bean <bean123ch@gmail.com>
12581
12582 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
12583 properly with null character.
12584
4484e01e 125852009-04-14 Felix Zielcke <fzielcke@z-51.de>
12586
12587 * configure: Remove.
12588 * config.h.in: Likewise.
f93d668e 12589 * stamp-h.in: Likewise.
4484e01e 12590 * DISTLIST: Likewise.
12591 * conf/common.mk: Likewise.
12592 * conf/i386-coreboot.mk: Likewise.
12593 * conf/i386-efi.mk: Likewise.
12594 * conf/i386-ieee1275.mk: Likewise.
12595 * conf/i386.mk: Likewise.
12596 * conf/i386-pc.mk: Likewise.
12597 * conf/powerpc-ieee1275.mk: Likewise.
12598 * conf/sparc64-ieee1275.mk: Likewise.
12599 * conf/x86_64-efi.mk: Likewise.
12600
12601 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
12602 develop on GRUB.
12603
7dd4a573 126042009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 12605 David S. Miller <davem@davemloft.net>
12606
12607 * util/hostdisk.c (make_device_name): Fix buffer length
12608 calculations.
12609
e25b5a8c 126102009-04-14 Felix Zielcke <fzielcke@z-51.de>
12611
12612 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
12613 <sys/param.h> and <sys/sysctl.h>.
12614 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
12615 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
12616 opening the device and reset them afterwards.
12617
1f1f580c 126182009-04-13 Pavel Roskin <proski@gnu.org>
12619
12620 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
12621 Reported by John Stanley <jpsinthemix@verizon.net>
12622
7ebc2d6b 126232009-04-13 Robert Millan <rmh@aybabtu.com>
12624
12625 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 12626 that name for menuentries when appropriate.
7ebc2d6b 12627
d8ba3667 126282009-04-13 Felix Zielcke <fzielcke@z-51.de>
12629
12630 * util/grub.d/10_freebsd.in: Add a missing `fi'.
12631
cba416eb 126322009-04-13 Robert Millan <rmh@aybabtu.com>
12633
12634 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
12635 to Linux, simply abort telling the user it's no longer supported.
12636
a547a745 126372009-04-13 Felix Zielcke <fzielcke@z-51.de>
12638
12639 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 12640 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 12641 `freebsd_loadenv' only when devices.hints exist.
12642
232a769c 126432009-04-13 Pavel Roskin <proski@gnu.org>
12644
12645 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
12646
c3012039 126472009-04-13 Felix Zielcke <fzielcke@z-51.de>
12648
12649 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
12650 partition number.
12651 (grub_drive): Likewise.
12652
234022fe 126532009-04-13 David S. Miller <davem@davemloft.net>
12654
12655 * kern/sparc64/ieee1275/ieee1275.c: New file.
12656 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
12657 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
12658 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
12659 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
12660 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
12661 grub_ieee1275_alloc_physmem): Declare new exported functions.
12662
d8e1836c 12663 * include/grub/sparc64/ieee1275/loader.h: New file.
12664 * include/grub/sparc64/ieee1275/memory.h: Likewise.
12665 * include/grub/sparc64/kernel.h: Likewise.
12666 * loader/sparc64/ieee1275/linux.c: Likewise.
12667
96bd81ec 12668 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
12669 (grub_fstest_SOURCES): Likewise.
12670
6a4737e5 12671 * util/hostdisk.c (make_device_name): Do not make any assumptions
12672 about the length of drive names.
12673
1d7a72fd 12674 * kern/dl.c (grub_dl_load_file): Close file immediately when
12675 we are done using it.
12676
56bc2471 126772009-04-12 David S. Miller <davem@davemloft.net>
12678
12679 * kern/misc.c (grub_ltoa): Fix cast when handling negative
12680 values. Noticed by Pavel Roskin.
12681
df38d0bb 12682 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
12683 target compiler.
7dd4a573 12684
e382e93a 12685 * genmk.rb: Add more flexible image type specification, also
12686 pass --strip-unneeded to objcopy.
12687 * conf/i386-pc.rmk: Use *_FORMAT.
12688 * conf/i386-pc.mk: Rebuilt.
12689
f5dbbca9 12690 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
12691 (OFDISK_HASH_SZ): Define.
12692 (ofdisk_hash): New hash table.
12693 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
12694 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
12695 instead of device phandle which is not unique.
12696
91c88b12 12697 * kern/sparc64/ieee1275/init.c: Delete, replace with...
12698 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
12699 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
12700 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
12701 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
12702 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
12703 GRUB_KERNEL_MACHINE_DATA_END): Define.
12704 (grub_kernel_image_size, grub_total_module_size): Declare.
12705
5b5d4aa5 127062009-04-12 Pavel Roskin <proski@gnu.org>
12707
7dd4a573 12708 * configure.ac: Change the logic when we check for target tools.
12709 Do it when the target is specified and it's different from the
12710 specified value of the host.
5b5d4aa5 12711
c91e1793 127122009-04-11 Felix Zielcke <fzielcke@z-51.de>
12713
12714 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
12715 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
12716 GNU/kFreeBSD. Check if a device is a character device. Use
12717 DIOCGMEDIASIZE to get the size.
12718 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
12719 support for GNU/kFreeBSD.
12720 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
12721 is a character device instead of a block device. Add support for
12722 FreeBSD device names.
12723
12724 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
12725 is a character device instead of a block device.
12726
12727 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
12728 is a character device instead of a block device.
12729
b1ac8644 127302009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
12731
12732 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
12733 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
12734 FreeBSD. Check if a device is a character device. Use
12735 DIOCGMEDIASIZE to get the size.
12736 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
12737 support for FreeBSD.
12738 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
12739 is a character device instead of a block device. Add support for
12740 FreeBSD device names.
12741
12742 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
12743 a character device instead of a block device.
12744 (grub_util_check_char_device): New function.
12745
12746 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
12747 a character device instead of a block device.
12748
12749 * include/grub/util/getroot.h (grub_util_check_char_device): New
12750 prototype.
12751
a3f7515a 127522009-04-11 David S. Miller <davem@davemloft.net>
12753
12754 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
12755 static libgcc.
12756 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
12757 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
12758 function, if present.
12759 (__bswapdi2): Likewise.
12760
0d44993d 12761 * include/grub/sparc64/ieee1275/boot.h: New file.
12762 * boot/sparc64/ieee1275/boot.S: Likewise.
12763 * boot/sparc64/ieee1275/diskboot.S: Likewise.
12764
ed3d2bc2 12765 * kern/misc.c (grub_ltoa): New function.
12766 (grub_vsprintf): Use it to format 'long' integers.
12767
d3bfb59c 127682009-04-10 David S. Miller <davem@davemloft.net>
12769
12770 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
12771 slots are of type grub_ieee1275_cell_t.
12772 (grub_nand_read): Likewise.
12773 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
12774 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
12775 macros are used to compare values in arg/ret block of the call.
12776 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
12777 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
12778 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
12779 grub_ieee1275_instance_to_path, grub_ieee1275_write,
12780 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
12781 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
12782 grub_ieee1275_close, grub_ieee1275_set_property,
12783 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
12784 grub_ieee1275_cell_t.
12785 * kern/ieee1275/openfw.c (grub_map): Likewise.
12786 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
12787 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
12788
450e2238 12789 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
12790 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
12791 (grub_devalias_iterate): Likewise.
12792
7dd4a573 127932009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 12794
12795 UFS improvements
12796
12797 * fs/ufs.c (INODE_NBLOCKS): new definition
12798 (struct grub_ufs_dirent): added fields for non-BSD dirents
12799 (grub_ufs_get_file_block): fixed double indirect handling
12800 (grub_ufs_lookup_symlink): use more robust way to determine whether
12801 symlink is inline
12802 (grub_ufs_find_file): support for non-BSD dirents
12803 (grub_ufs_dir): support for non-BSD dirents
12804
e7e6862a 128052009-04-10 Bean <bean123ch@gnail.com>
12806
12807 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
12808 attribute, otherwise the size would be wrong for i386 platform.
12809
12810 * include/grub/pci.h (grub_pci_read_word): New inline function.
12811 (grub_pci_read_byte): Likewise.
12812 (grub_pci_write): Likewise.
12813 (grub_pci_write_word): Likewise.
12814 (grub_pci_write_byte): Likewise.
12815
12816 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
12817
12818 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
12819 (find_framebuf): Scan pci to locate the frame buffer address.
12820
12821 * commands/efi/fixvideo.c: New file.
12822
12823 * commands/efi/loadbios.c: Likewise.
12824
12825 * commands/memrw.c: Likewise.
12826
12827 * util/grub-dumpbios.in: Likewise.
12828
12829 * conf/common.rmk (grub-dumpbios): New utility.
12830 (pkglib_MODULES): New module memrw.mod.
12831 (memrw_mod_SOURCE): New macro.
12832 (memrw_mod_CFLAGS): Likewise.
12833 (memrw_mod_LDFLAGS): Likewise.
12834
7dd4a573 12835 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 12836 fixvideo.mod.
12837 (loadbios_mod_SOURCE): New macro.
12838 (loadbios_mod_CFLAGS): Likewise.
12839 (loadbios_mod_LDFLAGS): Likewise.
12840 (fixvideo_mod_SOURCE): Likewise.
12841 (fixvideo_mod_CFLAGS): Likewise.
12842 (fixvideo_mod_LDFLAGS): Likewise.
12843
7dd4a573 12844 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 12845 fixvideo.mod.
12846 (loadbios_mod_SOURCE): New macro.
12847 (loadbios_mod_CFLAGS): Likewise.
12848 (loadbios_mod_LDFLAGS): Likewise.
12849 (fixvideo_mod_SOURCE): Likewise.
12850 (fixvideo_mod_CFLAGS): Likewise.
12851 (fixvideo_mod_LDFLAGS): Likewise.
12852
af63ada2 128532009-04-08 Felix Zielcke <fzielcke@z-51.de>
12854
12855 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
12856
c2cdde70 128572009-04-07 David S. Miller <davem@davemloft.net>
12858
12859 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
12860 support for R_SPARC_OLO10 relocations. Fix compile warning for
12861 R_SPARC_WDISP30 case.
ea3f72cf 12862 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 12863
761319cf 128642009-04-06 Pavel Roskin <proski@gnu.org>
12865
1007d1f5 12866 * include/grub/misc.h (ARRAY_SIZE): New macro.
12867 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
12868 New macro.
12869 * loader/i386/linux.c (allocate_pages): Use free_pages().
12870 (grub_linux_unload): Don't use free_pages().
12871 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
12872 wrong index. Treat all other modes as text modes.
12873 (grub_cmd_linux): Initialize vid_mode unconditionally to
12874 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
12875
761319cf 12876 * commands/help.c (print_command_help): Use cmd->prio, not
12877 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
12878
ea761d40 128792009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 12880
ea761d40 12881 Parttool
12882
12883 * parttool/pcpart.c: new file
12884 * commands/parttool.c: likewise
12885 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
12886 (parttool_mod_SOURCES): new variable
12887 (parttool_mod_CFLAGS): likewise
12888 (parttool_mod_LDFLAGS): likewise
12889 (pcpart_mod_SOURCES): likewise
12890 (pcpart_mod_CFLAGS): likewise
12891 (pcpart_mod_LDFLAGS): likewise
7dd4a573 12892 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 12893 and parttool/pcpart.c
12894 * conf/i386-efi.rmk: likewise
12895 * conf/i386-ieee1275.rmk: likewise
12896 * conf/i386-pc.rmk: likewise
12897 * conf/powerpc-ieee1275.rmk: likewise
12898 * conf/sparc64-ieee1275.rmk: likewise
12899 * conf/x86_64-ieee1275.rmk: likewise
12900
05aaebfb 129012009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12902
12903 Support for mtime and further expandability of dir command
12904
12905 * include/grub/lib/datetime.h: moved to ...
7dd4a573 12906 * include/grub/datetime.h: ... moved here and added
05aaebfb 12907 declaration of grub_unixtime2datetime. All users updated
7dd4a573 12908 * include/grub/fs.h: new syntax for dir and mtime functions in
12909 struct grub_fs
05aaebfb 12910 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
12911 and GRUB_FSHELP_FLAGS_MASK
12912 * commands/ls.c (grub_ls_list_files): Write mtime in long format
12913 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
12914 (grub_ext2_mtime): new function
12915 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
12916 (grub_hfsplus_mtime): new function
12917 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
12918 (GRUB_UFS_ATTR_FILE): likewise
12919 (GRUB_UFS_ATTR_LNK): likewise
12920 (struct grub_ufs_sblock): new fields mtime
12921 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
12922 all users updated
12923 (grub_ufs_dir): mtime support
12924 (grub_ufs_mtime): new function
12925 * fs/affs.c (grub_affs_dir): use new dir syntax
12926 * fs/afs.c (grub_afs_dir): likewise
12927 * fs/cpio.c (grub_cpio_dir): likewise
12928 * fs/fat.c (grub_fat_find_dir): likewise
12929 * fs/hfs.c (grub_hfs_dir): likewise
12930 * fs/iso9660.c (grub_iso9660_dir): likewise
12931 * fs/jfs.c (grub_jfs_dir): likewise
12932 * fs/minix.c (grub_minix_dir): likewise
12933 * fs/ntfs.c (grub_ntfs_dir): likewise
12934 * fs/reiserfs.c (grub_reiserfs_dir): likewise
12935 * fs/sfs.c (grub_sfs_dir): likewise
12936 * fs/xfs.c (grub_xfs_dir): likewise
12937 * util/hostfs.c (grub_hostfs_dir): likewise
12938 * lib/datetime.c: moved to ...
12939 * normal/datetime.c: ... moved here
12940 (grub_unixtime2datetime): new function
12941 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 12942 * normal/completion.c (iterate_dir): use new dir syntax
12943 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 12944 last modification time of a volume
7dd4a573 12945 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 12946 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 12947 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 12948 (normal_mod_SOURCES): likewise
12949 (datetime_mod_SOURCES): Removed lib/datetime.c
12950 * conf/i386-efi.rmk: likewise
7dd4a573 12951 * conf/i386-ieee1275.rmk: likewise
05aaebfb 12952 * conf/i386-pc.rmk: likewise
12953 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 12954 * conf/sparc64-ieee1275.rmk: likewise
12955 * conf/x86_64-efi.rmk: likewise
05aaebfb 12956
8a7e1a14 129572009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12958
12959 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 12960
12961 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 12962 on grub_fat_find_dir
12963 (grub_fat_find_dir): use grub_fat_iterate_dir
12964 (grub_fat_label): likewise
12965
04186a9c 129662009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
12967
7dd4a573 12968 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 12969 and command.h
12970 remove extraneous kernel_elf_HEADERS
12971
da4c0bb6 129722009-04-04 Bean <bean123ch@gnail.com>
12973
12974 * include/grub/util/misc.h: Add dummy function fsync for mingw.
12975
12976 * util/misc.c: Likewise.
12977
54ad9555 129782009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
12979
12980 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
12981 instead of grub_printf.
12982
7a6bf9f2 129832009-04-03 Robert Millan <rmh@aybabtu.com>
12984
12985 * loader/i386/linux.c (grub_linux_setup_video): Fill
12986 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
12987 values from `mode info' structure instead of hardcoded
12988 values.
12989
3fcc2083 129902009-04-01 Pavel Roskin <proski@gnu.org>
12991
12992 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
12993 unused now.
12994 * genmk.rb: Likewise.
12995 * configure.ac: Likewise.
12996
5ec9740b 129972009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
12998
12999 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
13000 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
13001
5270cec8 130022009-04-01 David S. Miller <davem@davemloft.net>
13003
13004 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 13005 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 13006 (grub_setjmp): Mark with 'returns_twice' attribute.
13007 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
13008 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
13009 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
13010
9c3dd854 130112009-04-01 Robert Millan <rmh@aybabtu.com>
13012
13013 Reapply fix from 2008-07-28 which was accidentally reverted; also
13014 perform the same fix to a similar check in same function.
13015
13016 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
13017 with the same number are found, just use issue a warning with
13018 grub_dprintf(), as this error has been reported to be non-fatal.
13019
0d818b7e 130202009-03-31 Pavel Roskin <proski@gnu.org>
13021
13022 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
13023 for cross-compilation.
13024
95646d92 130252009-03-30 Robert Millan <rmh@aybabtu.com>
13026
13027 Fix i386-ieee1275 build.
13028
13029 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
13030 Remove declaration.
13031
6a003ed1 130322009-03-30 Pavel Roskin <proski@gnu.org>
13033
13034 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
13035 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
13036 zero-terminated, rely only on the strlen value. Fix comparison
13037 of strings differing in length.
13038
92f33540 130392009-03-30 Robert Millan <rmh@aybabtu.com>
13040
13041 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
13042 checking for abi version. Improve error messages on BIOS to notify
13043 user about `linux16' command.
13044
a8c48fd5 130452009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13046
f968172e 13047 Leak fixes
a8c48fd5 13048
f968172e 13049 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
13050 in case of collision
13051 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 13052
9c323f09 130532009-03-29 Robert Millan <rmh@aybabtu.com>
13054
13055 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
13056 set `vid_mode' accordingly.
13057 (grub_linux_boot): Process `vid_mode' and set video mode.
13058
ae68f423 130592009-03-29 Robert Millan <rmh@aybabtu.com>
13060
13061 * util/grub.d/10_linux.in (linux_entry): New function.
13062 Factorize generation of Linux boot entries.
13063
5709cfc4 130642009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
13065
13066 Make the format of Environment Block plain text. The boot loader
13067 part is not tested well yet.
7dd4a573 13068
5709cfc4 13069 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
13070 (buffer): Removed.
13071 (envblk): Likewise.
13072 (usage): Remove "info" and "clear". Add "unset". Update the
13073 description of "set", as this does not delete variables any
13074 longer.
13075 (create_envblk_file): Complete rewrite.
13076 (open_envblk_file): Likewise.
13077 (cmd_info): Removed.
13078 (cmd_list): Likewise.
13079 (cmd_set): Likewise.
13080 (cmd_clear): Likewise.
13081 (list_variables): New function.
13082 (write_envblk): Likewise.
13083 (set_variables): Likewise.
13084 (unset_variables): Likewise.
13085 (main): Complete rewrite.
13086
13087 * commands/loadenv.c (buffer): Removed.
13088 (envblk): Likewise.
13089 (open_envblk_file): New function.
13090 (read_envblk_file): Complete rewrite.
13091 (grub_cmd_load_env): Likewise.
13092 (grub_cmd_list_env): Likewise.
13093 (struct blocklist): New struct.
13094 (free_blocklists): New function.
13095 (check_blocklists): Likewise.
13096 (write_blocklists): Likewise.
13097 (grub_cmd_save_env): Complete rewrite.
13098
13099 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
13100 a plain text signature.
13101 (GRUB_ENVBLK_MAXLEN): Removed.
13102 (struct grub_envblk): Complete rewrite.
13103 (grub_envblk_find): Removed.
13104 (grub_envblk_insert): Likewise.
13105 (grub_envblk_open): New prototype.
13106 (grub_envblk_set): Likewise.
13107 (grub_envblk_delete): Put const to VALUE.
13108 (grub_envblk_iterate): Put const to NAME and VALUE.
13109 (grub_envblk_close): New prototype.
13110 (grub_envblk_buffer): New inline function.
13111 (grub_envblk_size): Likewise.
13112
13113 * lib/envblk.c: Include grub/mm.h.
13114 (grub_env_find): Removed.
13115 (grub_envblk_open): New function.
13116 (grub_envblk_close): Likewise.
13117 (escaped_value_len): Likewise.
13118 (find_next_line): Likewise.
13119 (grub_envblk_insert): Removed.
13120 (grub_envblk_set): New function.
13121 (grub_envblk_delete): Complete rewrite.
13122 (grub_envblk_iterate): Likewise.
13123
a9368fd3 131242009-03-28 Robert Millan <rmh@aybabtu.com>
13125
13126 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
13127 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
13128 variables. Use 16-bit loader.
13129 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
13130 loader.
13131 * kern/i386/loader.S (grub_linux_boot): Rename to ...
13132 (grub_linux16_boot): ... this. Update all users.
13133 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
13134 (grub_linux_boot): ... this. Update all users.
13135
13136 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
13137 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
13138 commands to `linux16' and `initrd16'.
13139 (GRUB_MOD_FINI(linux)): Rename to ...
13140 (GRUB_MOD_FINI(linux16)): ... this.
13141
e4dd5a7e 131422009-03-24 Pavel Roskin <proski@gnu.org>
13143
13144 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
13145 not just for compilation.
13146
c04d6e05 131472009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
13148
13149 Move multiboot helper out of kernel
13150
13151 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
13152 `loader/i386/multiboot_helper.S'.
13153 * conf/i386-coreboot.rmk: Likewise
13154 * conf/i386-ieee1275.rmk: Likewise
13155
13156 * kern/i386/loader.S: Move multiboot helpers from here...
13157 * loader/i386/multiboot_helper.S: ...moved here
13158 * include/grub/i386/loader.h: Move declarations of multiboot
13159 helpers from here...
13160 * include/grub/i386/multiboot.h: ...moved here
13161 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
13162
42a5b3fc 131632009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13164
13165 * kern/env.c (grub_env_context_open): Added an argument to specify
13166 whether a new context inherits exported variables from current
13167 one. This is useful when making a sandbox to interpret a config
13168 file.
13169 All callers updated.
13170
13171 * include/grub/env.h (grub_env_context_open): Updated the prototype.
13172
b28bbc4e 131732009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13174
13175 * kern/env.c (grub_env_context_close): Fix memory leaks.
13176
f04f02e4 131772009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13178
13179 * normal/main.c (grub_normal_execute): Added an argument
13180 BATCH to specify if an interactive interface should be provided
13181 after reading a config file.
13182 All callers updated.
13183 (read_command_list): Prevent being executed twice.
13184 (read_fs_list): Likewise.
13185
42a5b3fc 13186 * include/grub/normal.h (grub_normal_execute): Updated the
13187 prototype.
f04f02e4 13188
41473ac2 131892009-03-22 Pavel Roskin <proski@gno.org>
13190
fbc00b0c 13191 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
13192 _start.
13193 * kern/i386/pc/startup.S: Likewise.
13194 * kern/i386/efi/startup.S: Likewise.
13195 * kern/i386/ieee1275/startup.S: Likewise.
13196 * kern/i386/coreboot/startup.S: Likewise.
13197 * kern/x86_64/efi/startup.S: Likewise.
13198
41473ac2 13199 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
13200 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
13201 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
13202
2274cc8f 132032009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
13204
13205 Bugfixes in multiboot for bugs uncovered by solaris kernel.
13206
13207 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
13208 limit detection.
13209 Use vaddr of correct segment for entry_point.
13210
b1b797cb 132112009-03-21 Bean <bean123ch@gmail.com>
13212
13213 * commands/blocklist.c: Add include file <grub/command.h>, remove
13214 <grub/normal.h> and <grub/arg.h>.
13215 (grub_cmd_blocklist): Use the new command interface.
13216 (GRUB_MOD_INIT): Likewise.
13217 (GRUB_MOD_FINI): Likewise.
13218 * commands/boot.c: Likewise.
13219 * commands/cat.c: Likewise.
13220 * commands/cmp.c: Likewise.
13221 * commands/configfile.c: Likewise.
13222 * commands/crc.c: Likewise.
13223 * commands/echo.c: Likewise.
13224 * commands/halt.c: Likewise.
13225 * commands/handler.c: Likewise.
13226 * commands/hdparm.c: Likewise.
13227 * commands/help.c: Likewise.
13228 * commands/hexdump.c: Likewise.
13229 * commands/loadenv.c: Likewise.
13230 * commands/ls.c: Likewise.
13231 * commands/lsmmap.c: Likewise.
13232 * commands/lspci.c: Likewise.
13233 * commands/loadenv.c: Likewise.
13234 * commands/read.c: Likewise.
13235 * commands/reboot.c: Likewise.
13236 * commands/search.c: Likewise.
13237 * commands/sleep.c: Likewise.
13238 * commands/test.c: Likewise.
13239 * commands/usbtest.c: Likewise.
13240 * commands/videotest.c: Likewise.
13241 * commands/i386/cpuid.c: Likewise.
13242 * commands/i386/pc/halt.c: Likewise.
13243 * commands/i386/pc/play.c: Likewise.
13244 * commands/i386/pc/pxecmd.c: Likewise.
13245 * commands/i386/pc/vbeinfo.c: Likewise.
13246 * commands/i386/pc/vbetest.c: Likewise.
13247 * commands/ieee1275/suspend.c: Likewise.
13248 * disk/loopback.c: Likewise.
13249 * font/font_cmd.c: Likewise.
13250 * hello/hello.c: Likewise.
13251 * loader/efi/appleloader.c: Likewise.
13252 * loader/efi/chainloader.c: Likewise.
13253 * loader/i386/bsd.c: Likewise.
13254 * loader/i386/efi/linux.c: Likewise.
13255 * loader/i386/ieee1275/linux.c: Likewise.
13256 * loader/i386/linux.c: Likewise.
13257 * loader/i386/pc/chainloader.c: Likewise.
13258 * loader/i386/pc/linux.c: Likewise.
13259 * loader/powerpc/ieee1275/linux.c: Likewise.
13260 * loader/multiboot_loader.c: Likewise.
13261 * term/gfxterm.c: Likewise.
13262 * term/i386/pc/serial.c: Likewise.
13263 * term/terminfo.c: Likewise.
13264
13265 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
13266 * term/i386/pc/vga.c: Likewise.
13267 * video/readers/jpeg.c: Likewise.
13268 * video/readers/png.c: Likewise.
13269 * video/readers/tga.c: Likewise.
13270
13271 * util/grub-fstest (cmd_loopback): Removed.
13272 (cmd_blocklist): Likewise.
13273 (cmd_ls): Likewise.
13274 (grub_register_command): Likewise.
13275 (grub_unregister_command): Likewise.
13276 (execute_command): Use grub_command_find to locate command and execute
13277 it.
13278
13279 * include/grub/efi/chainloader.h: Removed.
13280 * loader/efi/chainloader_normal.c: Likewise.
13281 * loader/i386/bsd_normal.c: Likewise.
13282 * loader/i386/pc/chainloader_normal.c: Likewise.
13283 * loader/i386/pc/multiboot_normal.c: Likewise.
13284 * loader/linux_normal.c: Likewise.
13285 * loader/multiboot_loader_normal.c: Likewise.
13286 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
13287
13288 * gencmdlist.sh: Scan new registration command grub_register_extcmd
13289 and grub_register_command_p1.
13290
13291 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
13292 kern/command.c, lib/arg.c and commands/extcmd.c.
13293 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
13294 (minicmd_mod_SOURCES): New variable.
13295 (minicmd_mod_CFLAGS): Likewise.
13296 (minicmd_mod_LDFLAGS): Likewise.
13297 (extcmd_mod_SOURCES): Likewise.
13298 (extcmd_mod_CFLAGS): Likewise.
13299 (extcmd_mod_LDFLAGS): Likewise.
13300 (boot_mod_SOURCES): Removed.
13301 (boot_mod_CFLAGS): Likewise.
13302 (boot_mod_LDFLAGS): Likewise.
13303
13304 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
13305 kern/corecmd.c.
13306 (kernel_img_HEADERS): Add command.h.
13307 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
13308 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
13309 and lib/arg.c.
13310 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
13311 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
13312 remove the corresponding normal mode command.
13313 (normal_mod_SOURCES): Remove normal/arg.c.
13314 * conf/i386-coreboot.rmk: Likewise.
13315 * conf/i386-efi.rmk: Likewise.
13316 * conf/i386-ieee1275.rmk: Likewise.
13317 * conf/powerpc-ieee1275.rmk: Likewise.
13318 * conf/x86_64-efi.rmk: Likewise.
13319
13320 * include/grub/arg.h: Move from here ...
13321 * include/grub/lib/arg.h: ... to here.
13322
13323 * normal/arg.c: Move from here ...
13324 * lib/arg.c: ... to here.
13325
13326 * commands/extcmd.c: New file.
13327 * commands/minicmd.c: Likewise.
13328 * include/grub/command.h: Likewise.
13329 * include/grub/extcmd.h: Likewise.
13330 * kern/command.c: Likewise.
13331 * kern/corecmd.c: Likewise.
13332
13333 * kern/list.c (grub_list_iterate): Return int instead of void.
13334 (grub_list_insert): New function.
13335 (grub_prio_list_insert): Likewise.
13336
13337 * kern/rescue.c (grub_rescue_command): Removed.
13338 (grub_rescue_command_list): Likewise.
13339 (grub_rescue_register_command): Likewise.
13340 (grub_rescue_unregister_command): Likewise.
13341 (grub_rescue_cmd_boot): Move to minicmd.c
13342 (grub_rescue_cmd_help): Likewise.
13343 (grub_rescue_cmd_info): Likewise.
13344 (grub_rescue_cmd_boot): Likewise.
13345 (grub_rescue_cmd_testload): Likewise.
13346 (grub_rescue_cmd_dump): Likewise.
13347 (grub_rescue_cmd_rmmod): Likewise.
13348 (grub_rescue_cmd_lsmod): Likewise.
13349 (grub_rescue_cmd_exit): Likewise.
13350 (grub_rescue_print_devices): Moved to corecmd.c.
13351 (grub_rescue_print_files): Likewise.
13352 (grub_rescue_cmd_ls): Likewise.
13353 (grub_rescue_cmd_insmod): Likewise.
13354 (grub_rescue_cmd_set): Likewise.
13355 (grub_rescue_cmd_unset): Likewise.
7d074e3c 13356 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 13357 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 13358 commands, remove grub_rescue_register_command calls.
b1b797cb 13359
7d074e3c 13360 * normal/command.c (grub_register_command): Removed.
b1b797cb 13361 (grub_unregister_command): Likewise.
13362 (grub_command_find): Likewise.
13363 (grub_iterate_commands): Likewise.
13364 (rescue_command): Likewise.
13365 (export_command): Moved to corecmd.c.
13366 (set_command): Removed.
13367 (unset_command): Likewise.
13368 (insmod_command): Likewise.
13369 (rmmod_command): Likewise.
13370 (lsmod_command): Likewise.
13371 (grub_command_init): Likewise.
13372
13373 * normal/completion.c (iterate_command): Use cmd->prio to check for
13374 active command.
13375 (complete_arguments): Use grub_extcmd_t structure to find options.
13376 (grub_normal_do_completion): Change function grub_iterate_commands to
13377 grub_command_iterate.
13378
13379 * normal/execute.c (grub_script_execute_cmd): No need to parse
13380 argument here.
13381
13382 * normal/main.c (grub_dyncmd_dispatcher): New function.
13383 (read_command_list): Register unload commands as dyncmd.
13384 (grub_cmd_normal): Use new command interface, register rescue,
13385 unregister normal at entry, register normal, unregister rescue at exit.
13386
13387 * include/grub/list.h (grub_list_test_t): New type.
13388 (grub_list_iterate): Return int instead of void.
13389 (grub_list_insert): New function.
13390 (GRUB_AS_NAMED_LIST_P): New macro.
13391 (GRUB_AS_PRIO_LIST): Likewise.
13392 (GRUB_AS_PRIO_LIST_P): Likewise.
13393 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
13394 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
13395 (grub_prio_list): New structure.
13396 (grub_prio_list_insert): New function.
13397 (grub_prio_list_remove): New inline function.
13398
13399 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
13400 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
13401 (GRUB_COMMAND_FLAG_MENU): Likewise.
13402 (GRUB_COMMAND_FLAG_BOTH): Likewise.
13403 (GRUB_COMMAND_FLAG_TITLE): Likewise.
13404 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
13405 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
13406 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
13407 (grub_command): Likewise.
13408 (grub_register_command): Likewise.
13409 (grub_command_find): Likewise.
13410 (grub_iterate_commands): Likewise.
13411 (grub_command_init): Likewise.
13412 (grub_arg_parse): Likewise.
13413 (grub_arg_show_help): Likewise.
13414
13415 * include/grub/rescue.h (grub_rescue_register_command): Removed.
13416 (grub_rescue_unregister_command): Likewise.
13417
13418 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
13419 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
13420 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
13421
13422 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
13423 grub_rescue_cmd_initrd.
13424 * include/grub/i386/loader.h: Likewise.
13425 * include/grub/x86_64/loader.h: Likewise.
13426
13427 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
13428
1f4147aa 134292009-03-21 Bean <bean123ch@gmail.com>
13430
13431 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
13432 instead of stat in mingw environment.
13433
13434 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
13435
13436 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
13437
13438 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
13439 AC_CONFIG_LINKS.
13440
2156d5ba 134412009-03-21 Bean <bean123ch@gmail.com>
13442
13443 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
13444 out of range error.
13445
177b82ca 134462009-03-18 Michel Dänzer <michel@daenzer.net>
13447
13448 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
13449 checking inode flags for EXT4_EXTENTS_FLAG.
13450
14aad807 134512009-03-18 Robert Millan <rmh@aybabtu.com>
13452
13453 * loader/i386/linux.c: Include `<grub/video.h>' and
13454 `<grub/i386/pc/vbe.h>'..
13455 (grub_linux_setup_video): New function. Loosely based on the EFI one.
13456 (grub_linux32_boot): Attempt to configure video settings with
13457 grub_linux_setup_video().
13458 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
13459 to avoid grub_console_fini() which would step out of graphical mode
13460 unconditionally.
13461
8cf83a27 134622009-03-14 Robert Millan <rmh@aybabtu.com>
13463
13464 Fix build on powerpc.
13465 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
13466
40164e75 134672009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
13468
13469 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
13470 background image command.
13471
c58bc32a 134722009-03-12 Colin D Bennett <colin@gibibit.com>
13473
13474 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
13475 (grub_gfxterm_putchar): Extract pairs of identical calls to
13476 draw_cursor out of conditional blocks.
13477
5415144a 134782009-03-11 Pavel Roskin <proski@gnu.org>
13479
13480 * fs/hfs.c (grub_hfs_strncasecmp): New function.
13481 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
13482
6394042e 134832009-03-11 Robert Millan <rmh@aybabtu.com>
13484
13485 * loader/i386/multiboot_elfxx.c
13486 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
13487
b7b50e5f 134882009-03-11 Felix Zielcke <fzielcke@z-51.de>
13489
13490 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
13491 `kern/handler.c'.
13492
1ca7fc96 134932009-03-11 Robert Millan <rmh@aybabtu.com>
13494
13495 * loader/i386/multiboot.c (code_size): New variable.
13496 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 13497 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 13498 4-byte alignment to MBI and others by increasing
7d074e3c 13499 `boot_loader_name_length' appropriately.
1ca7fc96 13500
13501 * loader/i386/multiboot_elfxx.c
13502 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
13503
a83ea1d2 135042009-03-09 Felix Zielcke <fzielcke@z-51.de>
13505
13506 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
13507 `fs/ext2.c'.
13508
aa9f3bff 135092009-03-08 Robert Millan <rmh@aybabtu.com>
13510
13511 Make loader/i386/linux.c usable on i386-pc again.
13512
13513 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
13514 memory to heap.
13515 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
13516 `#error' stanza.
13517
d8b3b60e 135182009-03-07 Bean <bean123ch@gmail.com>
13519
13520 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
13521 allocation.
13522
b362c9e9 135232009-03-06 Robert Millan <rmh@aybabtu.com>
13524
13525 Fix display issue on terminals with screen size other than 80x25
13526 (e.g. gfxterm with resolution higher than 640x480).
13527
13528 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 13529 position relative to the center of the terminal instead of relying
b362c9e9 13530 on a hardcoded offset.
13531
9304eef1 135322009-03-04 Robert Millan <rmh@aybabtu.com>
13533
13534 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
13535 installed.
13536
13537 * Makefile.in (host_kernel): New variable.
13538 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
13539 scripts instead of just the windows one.
13540 * configure.ac: Initialize and AC_SUBST `host_kernel'.
13541
eabc95fb 135422009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 13543
13544 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
13545 `kern/handler.c'.
13546 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13547 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13548 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13549 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13550 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13551 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13552
ceb1223c 135532009-03-04 Felix Zielcke <fzielcke@z-51.de>
13554
13555 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
13556 or if there's no space for the disk label and print the partition number on a
13557 invalid magic.
13558
4910684a 135592009-03-04 Felix Zielcke <fzielcke@z-51.de>
13560
13561 * util/misc.c: Include <time.h>.
13562 (grub_millisleep): New function.
13563
7e9ca17a 135642009-03-04 Bean <bean123ch@gmail.com>
13565
13566 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
13567 another option -mno-red-zone.
13568
13569 * commands/handler.c: Change module description.
13570
13571 * kern/handler.c: Add missing space at the end of description line.
13572
13573 * kern/list.c: Likewise.
13574
f501677c 135752009-03-03 Robert Millan <rmh@aybabtu.com>
13576
13577 Move more components to the relocation area, and fix mbi pointer
13578 handling to use the destination rather than the origin (thanks to
13579 Vladimir Serbinenko for spotting).
13580
13581 * loader/i386/multiboot.c (mbi_dest): New variable.
13582 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
13583 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
13584 relocation area.
13585
9902d047 135862009-03-01 Bean <bean123ch@gmail.com>
13587
50fb7002 13588 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 13589 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
13590 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
13591 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
13592
13593 * loader/i386/efi/linux.c (acpi_guid): New variable.
13594 (acpi_guid): Likewise.
13595 (EBDA_SEG_ADDR): New constant.
13596 (LOW_MEM_ADDR): Likewise.
13597 (FAKE_EBDA_SEG): Likewise.
13598 (fake_bios_data): New function.
13599 (grub_linux_boot): Call fake_bios_data.
13600
71b9f361 136012009-03-01 Bean <bean123ch@gmail.com>
13602
13603 * commands/terminal.c: Removed.
13604
13605 * commands/handler.c: New file.
13606
13607 * include/grub/list.h: Likewise.
13608
13609 * include/grub/handler.h: Likewise.
13610
13611 * kern/list.c: Likewise.
13612
13613 * kern/handler.c: Likewise.
13614
13615 * kern/term.h: Include header file <grub/handler.h>.
13616 (grub_term_input): Move next field to the beginning.
13617 (grub_term_output): Likewise.
13618 (grub_term_input_class): New variable.
13619 (grub_term_output_class): Likewise.
13620 (grub_term_register_input): Changed to inline function.
13621 (grub_term_register_output): Likewise.
13622 (grub_term_unregister_input): Likewise.
13623 (grub_term_unregister_output): Likewise.
13624 (grub_term_set_current_input): Likewise.
13625 (grub_term_set_current_output): Likewise.
13626 (grub_term_get_current_input): Likewise.
13627 (grub_term_get_current_output): Likewise.
13628 (grub_term_iterate_input): Removed.
13629 (grub_term_iterate_output): Likewise.
13630
13631 * kern/term.c (grub_term_list_input): Removed.
13632 (grub_term_list_output): Likewise.
13633 (grub_term_input_class): New variable.
13634 (grub_term_output_class): Likewise.
50fb7002 13635 (grub_cur_term_input): Change variable as macro.
71b9f361 13636 (grub_cur_term_output): Likewise.
13637 (grub_term_register_input): Removed.
13638 (grub_term_register_output): Likewise.
13639 (grub_term_unregister_input): Likewise.
13640 (grub_term_unregister_output): Likewise.
13641 (grub_term_set_current_input): Likewise.
13642 (grub_term_set_current_output): Likewise.
13643 (grub_term_iterate_input): Likewise.
13644 (grub_term_iterate_output): Likewise.
13645 (grub_term_get_current_input): Likewise.
13646 (grub_term_get_current_output): Likewise.
13647
13648 * util/grub-editenv.c: Include header file <grub/handler.h>.
13649 (grub_term_get_current_input): Removed.
13650 (grub_term_get_current_output): Likewise.
13651 (grub_term_input_class): New variable.
50fb7002 13652 (grub_term_output_class): Likewise.
71b9f361 13653
13654 * util/grub-fstest.c (grub_term_get_current_input): Removed.
13655 (grub_term_get_current_output): Likewise.
13656 (grub_term_input_class): New variable.
50fb7002 13657 (grub_term_output_class): Likewise.
71b9f361 13658
13659 * util/grub-probe.c (grub_term_get_current_input): Removed.
13660 (grub_term_get_current_output): Likewise.
13661 (grub_term_input_class): New variable.
50fb7002 13662 (grub_term_output_class): Likewise.
71b9f361 13663
13664 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
13665 (grub_term_get_current_output): Likewise.
13666 (grub_term_input_class): New variable.
50fb7002 13667 (grub_term_output_class): Likewise.
71b9f361 13668
13669 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
13670 (terminal_mod_SOURCES): Likewise.
13671 (terminal_mod_CFLAGS): Likewise.
13672 (terminal_mod_LDFLAGS): Likewise.
13673
13674 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
13675 handler.c.
13676 (kernel_img_SOURCES): Add list.c and handler.c.
13677 (kernel_img_HEADERS): Add list.h and handler.h.
13678
13679 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
13680 handler.c.
13681 (kernel_mod_SOURCES): Add list.c and handler.c.
13682 (kernel_mod_HEADERS): Add list.h and handler.h.
13683
13684 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
13685 handler.c.
13686 (kernel_elf_SOURCES): Add list.c and handler.c.
13687 (kernel_elf_HEADERS): Add list.h and handler.h.
13688
13689 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
13690 handler.c.
13691 (kernel_elf_SOURCES): Add list.c and handler.c.
13692 (kernel_elf_HEADERS): Add list.h and handler.h.
13693
13694 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
13695 handler.c.
13696 (kernel_mod_SOURCES): Add list.c and handler.c.
13697 (kernel_mod_HEADERS): Add list.h and handler.h.
13698
13699 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
13700 handler.c.
13701 (kernel_elf_SOURCES): Add list.c and handler.c.
13702 (kernel_elf_HEADERS): Add list.h and handler.h.
13703
8a31787f 137042009-02-27 Robert Millan <rmh@aybabtu.com>
13705
13706 Factorize elf32 / elf64 code in Multiboot loader. This will
13707 prevent it from getting out of sync again.
13708
13709 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
13710 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
13711 grub_multiboot_load_elf64): Move from here ...
13712 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
13713 grub_multiboot_load_elf): ... to here (new file).
13714
51cd3dfc 137152009-02-27 Robert Millan <rmh@aybabtu.com>
13716
13717 * util/grub.d/10_linux.in: Rename "single-user mode" to
13718 "recovery mode".
13719
6e8c9c3a 137202009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 Don't leak in SCSI code.
13723 * disk/scsi.c (grub_scsi_close): free `scsi'.
13724
4b6bf4f9 137252009-02-27 Robert Millan <rmh@aybabtu.com>
13726
13727 * loader/i386/pc/multiboot.c: Move from here ...
13728 * loader/i386/multiboot.c: ... to here. Update all users.
13729
b9413424 137302009-02-27 Robert Millan <rmh@aybabtu.com>
13731
13732 Patch from Alexandre Bique <bique.alexandre@gmail.com>
13733 * util/i386/pc/grub-setup.c (setup): Fix directory path.
13734
50fb7002 137352009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 13736
13737 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
13738 b-tree.
13739
8cc50345 137402009-02-27 Robert Millan <rmh@aybabtu.com>
13741
13742 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
13743 `0x' qualifier as 0 when base is specified as parameter).
13744
6e09b8b7 137452009-02-24 Bean <bean123ch@gmail.com>
13746
13747 * configure.ac: Check for -mcmodel=large in x86_64 target.
13748
13749 * include/grub/efi/api.h (efi_call_10): New macro.
13750 (efi_wrap_10): New function.
13751
13752 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
13753 (GRUB_PE32_REL_BASED_HIGH): Likewise.
13754 (GRUB_PE32_REL_BASED_LOW): Likewise.
13755 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
13756 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
13757 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
13758 (GRUB_PE32_REL_BASED_SECTION): Likewise.
13759 (GRUB_PE32_REL_BASED_REL): Likewise.
13760 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
13761 (GRUB_PE32_REL_BASED_DIR64): Likewise.
13762 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
13763
13764 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
13765 issue.
13766
13767 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
13768 (efi_wrap_10): New function.
13769
13770 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
13771
13772 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
13773 MB/MBP model (NV chipset).
13774 (devdata_devs): Add devpath_5 to the list.
13775
13776 * load/i386/efi/linux.c (video_base): Remove variable.
13777 (RGB_MASK): New macro.
13778 (RGB_MAGIC): Likewise.
13779 (LINE_MIN): Likewise.
13780 (LINE_MAX): Likewise.
13781 (FBTEST_STEP): Likewise.
13782 (FBTEST_COUNT): Likewise.
13783 (fb_list): New variable.
13784 (grub_find_video_card): Remove function.
13785 (find_framebuf): New function.
13786 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
13787 line length.
13788
13789 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
13790 problem for x86_64.
13791
74b21bee 137922009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
13793
13794 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
13795
13796 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
13797 coding tool name.
13798
a455f472 137992009-02-22 Robert Millan <rmh@aybabtu.com>
13800
13801 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
13802 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
13803 in our relocation, instead of using it directly from heap. Also
13804 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
13805
6374daf3 138062009-02-21 Robert Millan <rmh@aybabtu.com>
13807
13808 Implement USB keyboard support (based on patch by Marco Gerards)
13809
13810 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
13811 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
13812 (usb_keyboard_mod_LDFLAGS): New variables.
13813
13814 * term/usb_keyboard.c: New file.
13815
8fa4ea70 138162009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13817
13818 Corrected wrong declaration
13819
13820 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
13821
353976ac 138222009-02-14 Christian Franke <franke@computer.org>
13823
13824 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
13825 (grub_lspci_iter): Print class code and programming interface byte.
13826
6aa1169b 138272009-02-14 Christian Franke <franke@computer.org>
13828
13829 * gendistlist.sh: Ignore `.svn' directories.
13830
265372ca 138312009-02-14 Felix Zielcke <fzielcke@z-51.de>
13832
13833 * fs/fat.c: Add 2009 to Copyright line.
13834
9ff516f3 138352009-02-14 Christian Franke <franke@computer.org>
13836
13837 * commands/hdparm.c: New file. Provides `hdparm' command
13838 which sends ATA commands via grub_disk_ata_pass_through ().
13839
13840 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
13841
13842 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
13843 and <grub/cpu/io.h> to include/grub/ata.h.
13844 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
13845 (GRUB_CDROM_SECTOR_SIZE): Remove.
13846 (GRUB_ATA_*): Move to include/grub/ata.h.
13847 (GRUB_ATAPI_*): Likewise.
13848 (enum grub_ata_commands): Likewise.
13849 (enum grub_ata_timeout_milliseconds): Likewise.
13850 (struct grub_ata_device): Likewise.
13851 (grub_ata_regset): Likewise.
13852 (grub_ata_regget): Likewise.
13853 (grub_ata_regset2): Likewise.
13854 (grub_ata_regget2): Likewise.
13855 (grub_ata_check_ready): Likewise.
13856 (grub_ata_wait_not_busy): Remove static, exported in
13857 include/grub/ata.h.
13858 (grub_ata_wait_drq): Likewise.
13859 (grub_ata_pio_read): Likewise.
13860
13861 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
13862 function for hdparm.mod.
13863
13864 * include/grub/ata.h: New file, contains declarations from
13865 disk/ata.c.
13866 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
13867
13868 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
13869 (grub_disk_ata_pass_through): New exported variable.
13870
13871 * kern/disk.c (grub_disk_ata_pass_through): New variable.
13872
772e23da 138732009-02-13 Colin D Bennett <colin@gibibit.com>
13874
13875 Support multiple fallback entries, and provide an API to support
13876 executing default+fallback menu entries. Renamed the `terminal' menu
13877 viewer to `text'.
13878
13879 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
13880 variable declaration.
13881 (grub_menu_execute_callback): New structure declaration.
13882 (grub_menu_execute_callback_t): New typedef.
13883 (grub_menu_execute_with_fallback): New function declaration.
13884 (grub_menu_get_entry): Likewise.
13885 (grub_menu_get_timeout): Likewise.
13886 (grub_menu_set_timeout): Likewise.
13887
13888 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
13889
13890 * normal/menu.c (grub_wait_after_message): Moved to
13891 `normal/menu_text.c'.
13892 (draw_border): Likewise.
13893 (print_message): Likewise.
13894 (print_entry): Likewise.
13895 (print_entries): Likewise.
13896 (grub_menu_init_page): Likewise.
13897 (get_entry_number): Likewise.
13898 (print_timeout): Likewise.
13899 (run_menu): Likewise.
13900 (grub_menu_execute_entry): Likewise.
13901 (show_text_menu): Likewise.
13902 (get_and_remove_first_entry_number): New function.
13903 (grub_menu_execute_with_fallback): Likewise.
13904 (get_entry): Renamed to ...
13905 (grub_menu_get_entry): .. this and made it global.
13906 (get_timeout): Renamed to ...
13907 (grub_menu_get_timeout): ... this and made it global.
13908 (set_timeout): Renamed to ...
13909 (grub_menu_set_timeout): ... this and made it global.
13910 (grub_normal_terminal_menu_viewer): Renamed to ...
13911 (grub_normal_text_menu_viewer): ... this.
13912
13913 * normal/menu_text.c: New file. Extracted text-menu-specific code
13914 from normal/menu.c.
13915
13916 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
13917 (normal_mod_SOURCES): Likewise.
13918
13919 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13920 (normal_mod_SOURCES): Likewise.
13921
13922 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13923 (normal_mod_SOURCES): Likewise.
13924
13925 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
13926 (normal_mod_SOURCES): Likewise.
13927
13928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13929 (normal_mod_SOURCES): Likewise.
13930
13931 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13932 (normal_mod_SOURCES): Likewise.
13933
13934 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13935 (normal_mod_SOURCES): Likewise.
13936
16ac430e 139372009-02-11 Robert Millan <rmh@aybabtu.com>
13938
13939 * util/grub.d/00_header.in: Update old reference to `font' command.
13940
06ff20fc 139412009-02-10 Felix Zielcke <fzielcke@z-51.de>
13942
13943 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
13944
13945 Based on patch from Javier Martín.
13946
96da9407 139472009-02-09 Felix Zielcke <fzielcke@z-51.de>
13948
13949 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 13950 to avoid false positives with FAT.
96da9407 13951 (grub_fstest_SOURCES): Likewise.
13952 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13953 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13955 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13956 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13957 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13958
6dca6fe4 139592009-02-09 Felix Zielcke <fzielcke@z-51.de>
13960
06ff20fc 13961 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 13962 bpb.version_specific.fat12_or_fat16.fstype and
13963 bpb.version_specific.fat32.fstype.
13964
2550c62f 139652009-02-08 Robert Millan <rmh@aybabtu.com>
13966
be110b30 13967 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 13968
56978920 139692009-02-08 Robert Millan <rmh@aybabtu.com>
13970
13971 * Makefile.in (host_os, host_cpu): New variables.
13972 (target_os): Remove. Update all users.
13973
d64399b5 139742009-02-08 Marco Gerards <marco@gnu.org>
13975
13976 * Makefile.in (enable_grub_emu_usb): New variable.
13977 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
13978 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
13979 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
13980 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
13981 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
13982 `usbtest.mod' and `usbms.mod'.
13983 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
13984 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
13985 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
13986 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
13987 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
13988 variables.
13989
13990 * disk/usbms.c: New file.
13991
13992 * include/grub/usb.h: Likewise.
13993
13994 * include/grub/usbtrans.h: Likewise.
13995
13996 * include/grub/usbdesc.h: Likewise.
13997
13998 * bus/usb/usbtrans.c: Likewise.
13999
14000 * bus/usb/ohci.c: Likewise.
14001
14002 * bus/usb/uhci.c: Likewise.
14003
14004 * bus/usb/usbhub.c: Likewise.
14005
14006 * bus/usb/usb.c: Likewise.
14007
14008 * commands/usbtest.c: Likewise.
14009
14010 * util/usb.c: Likewise.
50fb7002 14011
d64399b5 14012 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
14013
14014 * configure.ac: Test for libusb presence.
50fb7002 14015
d64399b5 14016 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
14017
2b40d6bb 140182009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
14019
14020 * kern/mm.c: Add more comments.
14021
73a4ce81 140222009-02-08 Robert Millan <rmh@aybabtu.com>
14023
14024 Patch from Javier Martín.
14025 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
14026 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
14027
f821ce59 140282009-02-08 Robert Millan <rmh@aybabtu.com>
14029
14030 * fs/cpio.c: Split tar functionality to ...
14031 * fs/tar.c: ... here (new file). Update all users.
14032
aebfc4b0 140332009-02-07 Robert Millan <rmh@aybabtu.com>
14034
14035 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
14036 backward-incompatible features.
14037
14038 Based on patch from Javier Martín, with some adjustments.
14039
50fb7002 140402009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 14041
14042 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
14043
0bb5115e 140442009-02-07 Robert Millan <rmh@aybabtu.com>
14045
14046 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
14047 position of `disk/lvm.c' to ensure grub_init_all() always picks it
14048 after the RAID stuff.
14049
38a0f8e7 140502009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
14051
50fb7002 14052 Fixes problem when running vbetest command as reported by
38a0f8e7 14053 Vladimir Serbinenko <phcoder@gmail.com>.
14054
14055 * (grub_vbe_set_video_mode): Fixed problem with text modes.
14056
3143cc1c 140572009-02-04 Felix Zielcke <fzielcke@z-51.de>
14058
14059 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
14060 /dev/md/NpN style mdraid devices.
14061
9cba6fce 140622009-02-03 Felix Zielcke <fzielcke@z-51.de>
14063
14064 * util/unifont2pff.rb: Remove.
14065
e507a2c1 140662009-02-03 Felix Zielcke <fzielcke@z-51.de>
14067
14068 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
14069 `#'.
14070
d2c2b4cd 140712009-02-03 Felix Zielcke <fzielcke@z-51.de>
14072
14073 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
14074 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14075 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14076 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14078 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14079 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14080
b4315fb0 140812009-02-02 Christian Franke <franke@computer.org>
14082
14083 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
14084
de3aa260 140852009-02-01 Felix Zielcke <fzielcke@z-51.de>
14086
7c3ff286 14087 * INSTALL: Note that we now require at least autoconf 2.59 and
14088 that LZO is optional.
de3aa260 14089
825a182b 140902009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
14091
14092 Base on patch on bug #24154 created by Tomas Tintera
14093 <trosos@seznam.cz>.
14094
14095 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
14096
a69ef770 140972009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
14098
7c3ff286 14099 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 14100 <bero@arklinux.org>.
14101
14102 * normal/parser.y (script_init): Add missing semicolon.
14103
6fa42fa6 141042009-01-31 Colin D Bennett <colin@gibibit.com>
14105
7c3ff286 14106 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 14107 (free_menu_entry_classes): Added.
14108 (grub_normal_menu_addentry): Added class property handling.
14109 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
14110 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
14111
14112 * normal/menu_viewer.c: New file.
14113
14114 * normal/menu.c (run_menu_entry): Renamed to ...
14115 (grub_menu_execute_entry): ... this and made it as global.
14116 (grub_menu_run): Renamed to ...
14117 (show_text_menu): ... this and made it local.
14118 (show_text_menu): Adapt to new function names.
14119 (grub_normal_terminal_menu_viewer): New global variable.
14120
14121 * include/grub/menu.h: New file.
14122
14123 * include/grub/menu_viewer.h: New file.
14124
14125 * include/grub/normal.h: Added include to grub/menu.h.
14126 (grub_menu_entry): Moved to include/grub/menu.h.
14127 (grub_menu_entry_t): Likewise.
14128 (grub_menu): Likewise.
14129 (grub_menu_t): Likewise.
14130 (grub_normal_terminal_menu_viewer): Added.
14131 (grub_menu_execute_entry): Likewise.
14132 (grub_menu_run): Removed.
14133
14134 * DISTLIST: Added include/grub/menu.h.
14135 Added include/grub/menu_viewer.h.
14136 Added normal/menu_viewer.c.
14137
141382009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
14139
14140 * normal/execute.c (grub_script_execute_menuentry): Changed to use
14141 arglist for menutitle arguments.
14142
14143 * normal/main.c (grub_normal_menu_addentry): Likewise.
14144
14145 * normal/parser.y (menuentry): Likewise.
14146
14147 * normal/script.c (grub_script_create_cmdmenu): Likewise.
14148
14149 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
14150 (grub_script_create_cmdmenu): Likewise.
14151
14152 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
14153
14154 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
14155 changes.
14156
14157 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
14158
14159 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
14160
14161 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
14162
14163 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14164
14165 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14166
14167 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14168
56192c23 141692009-01-30 Christian Franke <franke@computer.org>
14170
14171 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
14172 in option help text.
14173
d72521b3 141742009-01-27 Pavel Roskin <proski@gnu.org>
14175
14176 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
14177
994b5e84 141782009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
14179
14180 * commands/lsmmap.c: Add include to grub/machine/memory.h.
14181
14182 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
14183
14184 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
14185 unregister function.
14186
6a7eab2c 141872009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
14188
14189 * disk/scsi.c (grub_scsi_read): Fix sign problem.
14190
14191 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
14192
14193 * util/grub-mkfont.c (usage): Fix typo.
14194
14195 * util/elf/grub-mkimage.c (load_modules): Fix warning.
14196
1806b56e 141972009-01-26 Daniel Mierswa <impulze@impulze.org>
14198
3fb18f09 14199 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
14200
336e1fb9 14201 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
14202
1806b56e 14203 * kern/misc.c (grub_strcasecmp): New function.
14204 (grub_strcasecmp): Use grub_size_t instead of int for length.
14205 Fix return value.
14206 * include/grub/misc.h: Update function prototypes.
14207
580b2a0f 142082009-01-26 Robert Millan <rmh@aybabtu.com>
14209
14210 * configure.ac: Fix cross-compilation check.
ef257b36 14211
d31c24f1 142122009-01-22 Christian Franke <franke@computer.org>
14213
14214 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
14215 (precision) digit string. Allow `.format2' without `format1' (width).
14216 Limit input chars for `%s' output to `format2' if specified. This is
14217 compatible with standard printf ().
14218
3138b44c 142192009-01-22 Christian Franke <franke@computer.org>
14220
14221 * disk/ata.c (grub_ata_wait_status): Replace by ...
14222 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
14223 other status bits may be invalid while BSY is asserted.
14224 (grub_ata_check_ready): New function.
14225 (grub_ata_cmd): Removed.
14226 (grub_ata_wait_drq): New function.
14227 (grub_ata_strncpy): Remove inline.
14228 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
14229 and error check now done by grub_ata_wait_drq ().
14230 (grub_ata_pio_write): Likewise.
14231 (grub_atapi_identify): Set DEV before check for !BSY. Use
14232 grub_ata_wait_drq () to wait for data.
14233 (grub_ata_device_initialize): Add status register check to
14234 detect missing SATA slave devices. Add debug messages.
14235 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
14236 (grub_atapi_packet): Set DEV before check for !BSY. Replace
14237 transfer loop by grub_ata_pio_write ().
14238 (grub_ata_identify): Set DEV before check for !BSY. Use
14239 grub_ata_wait_drq () to wait for data.
ef257b36 14240 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 14241 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
14242 read/write in one loop. Fix invalid command on write. Fix incomplete
14243 command on (size % batch) == 0. Add missing error check after write of
14244 last block. Add debug messages.
14245 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
14246
59a64ef6 142472009-01-19 Christian Franke <franke@computer.org>
14248
14249 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
14250 (GRUB_ATAPI_IREASON_*): Likewise.
14251 (grub_ata_pio_write): Fix timeout error return.
14252 (grub_atapi_identify): Add grub_ata_wait () after cmd.
14253 (grub_atapi_wait_drq): New function.
14254 (grub_atapi_packet): New parameter `size'.
14255 Use grub_atapi_wait_drq () and direct write instead of
14256 grub_ata_pio_write ().
14257 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
14258 reads the number of bytes requested by the device for each DRQ
14259 assertion.
14260 (grub_atapi_write): Remove old implementation, return not
14261 implemented instead.
14262
1cfe20b3 142632009-01-19 Christian Franke <franke@computer.org>
14264
14265 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
14266 of 512 to calculate data size.
14267 (grub_scsi_read12): Likewise.
14268 (grub_scsi_write10): Likewise.
14269 (grub_scsi_write12): Likewise.
14270 (grub_scsi_read): Adjust size according to blocksize.
14271 Add checks for invalid blocksize and unaligned transfer.
14272
bee5fe5d 142732009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
14274
14275 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
14276
ef257b36 14277 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 14278 width glyphs.
14279
3e643f8c 142802009-01-19 Robert Millan <rmh@aybabtu.com>
14281
14282 * config.guess: Update to latest version from config git.
14283 * config.sub: Likewise.
14284
4fa80998 142852009-01-17 Felix Zielcke <fzielcke@z-51.de>
14286
14287 * Makefile.in: Change font compilation to use new grub-mkfont instead
14288 of java version.
14289
14290 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
14291 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
14292 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14293 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14294 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
14295 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
14296 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
14297 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
14298 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
14299
7086085b 143002009-01-16 Christian Franke <franke@computer.org>
14301
14302 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
14303 (enum grub_ata_timeout_milliseconds): New enum.
14304 (grub_ata_wait_status): Add parameter milliseconds.
14305 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
14306 recovery from timed-out commands.
14307 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
14308 return grub_errno instead of REG_ERROR.
14309 (grub_ata_pio_write): Add parameter milliseconds.
14310 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
14311 Pass milliseconds to grub_ata_wait_status () and
14312 grub_ata_pio_read ().
14313 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
14314 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
14315 grub_ata_wait_status (). Fix IDENTIFY timeout check.
14316 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
14317 It is not suitable for device detection, because DEV bit is ignored,
14318 the command may run too long, and not all devices set the signature
14319 properly.
14320 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
14321 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
14322 Fix device selection, DEV bit must be set first to address the registers
14323 of the correct device.
14324 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
14325 grub_ata_pio_read/write ().
14326 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
14327 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
14328
4a412913 143292009-01-13 Carles Pina i Estany <carles@pina.cat>
14330
14331 * util/grub-editenv.c (main): Use fseeko(), not fseek().
14332
7795c55e 143332009-01-13 Bean <bean123ch@gmail.com>
d913988c 14334
14335 * util/grub-mkfont.c (write_font): forget to remove some debug code.
14336
7795c55e 143372009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 14338
14339 * Makefile.in: (enable_grub_mkfont): New variable.
14340 (freetype_cflags): Likewise.
14341 (freetype_libs): Likewise.
14342
14343 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
14344 (grub_mkfont_SOURCES): New variable.
14345 (grub_mkfont_CFLAGS): Likewise.
14346 (grub_mkfont_LDFLAGS): Likewise.
14347
14348 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
14349 library if `--enable-grub-mkfont' is requested.
14350 (enable_grub_mkfont): New variable.
14351 (freetype_cflags): Likewise.
14352 (freetype_libs): Likewise.
14353
14354 * util/grub-mkfont.c: New file.
14355
093af1fe 143562009-01-12 Christian Franke <franke@computer.org>
14357
14358 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
14359 mode check. Fix setting of compat_use[].
14360
f36cc108 143612009-01-10 Robert Millan <rmh@aybabtu.com>
14362
14363 Update a few copyright years which we forgot to do in 2008 (only for
14364 files whose changes made in 2008 were copyright-significant)
14365
14366 * Makefile.in: Add 2008 to Copyright line.
14367 * disk/ieee1275/ofdisk.c: Likewise.
14368 * disk/efi/efidisk.c: Likewise.
14369 * kern/dl.c: Likewise.
14370 * kern/sparc64/ieee1275/init.c: Likewise.
14371 * kern/mm.c: Likewise.
14372 * kern/efi/mm.c: Likewise.
14373 * boot/i386/pc/boot.S: Likewise.
14374 * genfslist.sh: Likewise.
14375 * fs/iso9660.c: Likewise.
14376 * fs/hfs.c: Likewise.
14377 * fs/jfs.c: Likewise.
14378 * fs/minix.c: Likewise.
14379 * fs/ufs.c: Likewise.
14380 * gensymlist.sh.in: Likewise.
14381 * genkernsyms.sh.in: Likewise.
14382 * include/grub/misc.h: Likewise.
14383 * include/grub/types.h: Likewise.
14384 * include/grub/symbol.h: Likewise.
14385 * include/grub/elf.h: Likewise.
14386 * include/grub/kernel.h: Likewise.
14387 * include/grub/disk.h: Likewise.
14388 * include/grub/dl.h: Likewise.
14389 * include/grub/i386/linux.h: Likewise.
14390 * include/grub/i386/pc/biosdisk.h: Likewise.
14391 * include/grub/efi/api.h: Likewise.
14392 * include/grub/efi/pe32.h: Likewise.
14393 * include/grub/util/misc.h: Likewise.
14394 * normal/execute.c: Likewise.
14395 * normal/arg.c: Likewise.
14396 * normal/completion.c: Likewise.
14397 * normal/lexer.c: Likewise.
14398 * normal/parser.y: Likewise.
14399 * normal/misc.c: Likewise.
14400 * commands/i386/pc/vbeinfo.c: Likewise.
14401 * commands/hexdump.c: Likewise.
14402 * commands/terminal.c: Likewise.
14403 * commands/ls.c: Likewise.
14404 * commands/help.c: Likewise.
14405 * partmap/pc.c: Likewise.
14406 * loader/efi/chainloader.c: Likewise.
14407 * loader/multiboot_loader.c: Likewise.
14408 * loader/i386/pc/multiboot2.c: Likewise.
14409 * term/efi/console.c: Likewise.
14410 * term/i386/pc/serial.c: Likewise.
14411 * util/lvm.c: Likewise.
14412 * util/console.c: Likewise.
14413 * util/i386/efi/grub-mkimage.c: Likewise.
14414 * util/raid.c: Likewise.
14415
7f02114b 144162009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
14417
14418 * commands/videotest.c: Removed include to grub/machine/memory.h.
14419
14420 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
14421 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
14422 (video_mod_SOURCES): Removed.
14423 (video_mod_CFLAGS): Likewise.
14424 (video_mod_LDFLAGS): Likewise.
14425 (gfxterm_mod_SOURCES): Likewise.
14426 (gfxterm_mod_CFLAGS): Likewise.
14427 (gfxterm_mod_LDFLAGS): Likewise.
14428 (videotest_mod_SOURCES): Likewise.
14429 (videotest_mod_CFLAGS): Likewise.
14430 (videotest_mod_LDFLAGS): Likewise.
14431 (bitmap_mod_SOURCES): Likewise.
14432 (bitmap_mod_CFLAGS): Likewise.
14433 (bitmap_mod_LDFLAGS): Likewise.
14434 (tga_mod_SOURCES): Likewise.
14435 (tga_mod_CFLAGS): Likewise.
14436 (tga_mod_LDFLAGS): Likewise.
14437 (jpeg_mod_SOURCES): Likewise.
14438 (jpeg_mod_CFLAGS): Likewise.
14439 (jpeg_mod_LDFLAGS): Likewise.
14440 (png_mod_SOURCES): Likewise.
14441 (png_mod_CFLAGS): Likewise.
14442 (png_mod_LDFLAGS): Likewise.
14443
14444 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
14445 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
14446 (video_mod_SOURCES): Added.
14447 (video_mod_CFLAGS): Likewise.
14448 (video_mod_LDFLAGS): Likewise.
14449 (videotest_mod_SOURCES): Likewise.
14450 (videotest_mod_CFLAGS): Likewise.
14451 (videotest_mod_LDFLAGS): Likewise.
14452 (bitmap_mod_SOURCES): Likewise.
14453 (bitmap_mod_CFLAGS): Likewise.
14454 (bitmap_mod_LDFLAGS): Likewise.
14455 (tga_mod_SOURCES): Likewise.
14456 (tga_mod_CFLAGS): Likewise.
14457 (tga_mod_LDFLAGS): Likewise.
14458 (jpeg_mod_SOURCES): Likewise.
14459 (jpeg_mod_CFLAGS): Likewise.
14460 (jpeg_mod_LDFLAGS): Likewise.
14461 (png_mod_SOURCES): Likewise.
14462 (png_mod_CFLAGS): Likewise.
14463 (png_mod_LDFLAGS): Likewise.
14464 (gfxterm_mod_SOURCES): Likewise.
14465 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 14466 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 14467
14468 * term/gfxterm.c: Removed include to grub/machine/memory.h,
14469 grub/machine/console.h.
14470
644fff97 144712009-01-04 Jerone Young <jerone@gmail.com>
14472
14473 Make on screen instructions clearer
14474
14475 Based on patch created by Jidanni <jidanni@jidanni.org>
14476
14477 * normal/menu.c: print clearer instructions on the screen
14478
1e901a75 144792009-01-02 Colin D Bennett <colin@gibibit.com>
14480
14481 New font engine.
34c44600 14482
1e901a75 14483 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
14484 build system and fixed gfxterm.c to work with different sized fonts.
14485
14486 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 14487
1e901a75 14488 * configure: Re-generated.
34c44600 14489
1e901a75 14490 * DISTLIST: Removed font/manager.c.
14491 Added font/font.c.
14492 Added font/font_cmd.c.
34c44600 14493
1e901a75 14494 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
14495 compilation.
34c44600 14496
1e901a75 14497 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 14498
14499 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 14500
14501 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 14502
1e901a75 14503 * normal/menu.c: Likewise.
34c44600 14504
1e901a75 14505 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
14506 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 14507
1e901a75 14508 * include/grub/font.h: Replaced with new file.
34c44600 14509
1e901a75 14510 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
14511 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
14512 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
14513 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
14514 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 14515 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 14516 fg_red, fg_green, fg_blue, fg_alpha.
14517 (grub_video_adapter): Removed blit_glyph.
34c44600 14518 (grub_video_blit_glyph): Removed.
14519
1e901a75 14520 * font/manager.c: Removed file.
34c44600 14521
14522 * font/font.c: New file.
14523
1e901a75 14524 * font/font_cmd.c: Likewise.
34c44600 14525
1e901a75 14526 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 14527
1e901a75 14528 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
14529 (grub_video_vbe_map_rgba): Likewise.
14530 (grub_video_vbe_unmap_color_int): Likewise.
14531 (grub_video_vbe_blit_glyph): Removed.
14532 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 14533
1e901a75 14534 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
14535 (get_pixel): Likewise.
34c44600 14536 (set_pixel): Likewise.
14537
1e901a75 14538 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 14539
1e901a75 14540 * term/gfxterm.c: Adapted to new font engine.
34c44600 14541
1e901a75 14542 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 14543
1e901a75 14544 * term/i386/pc/vga.c: Likewise.
34c44600 14545
1e901a75 14546 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 14547
1e901a75 14548 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 14549
1e901a75 14550 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 14551
1e901a75 14552 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 14553
1e901a75 14554 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 14555
1e901a75 14556 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 14557
1e901a75 14558 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 14559
1e901a75 14560 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 14561
1e901a75 14562 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
14563
14564 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 14565
1e901a75 14566 * util/grub-mkconfig_lib.in: Changed font extension.
14567
278922e8 145682008-12-28 Felix Zielcke <fzielcke@z-51.de>
14569
14570 * util/getroot.c (grub_util_get_grub_dev): Add support for
14571 /dev/md/dNNpNN style partitionable mdraid devices.
14572
3ced05cf 145732008-12-12 Alex Smith <alex@alex-smith.me.uk>
14574
14575 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
14576 at a time limit of the PXE TFTP API correctly.
14577 (grub_pxefs_close): Likewise.
14578
7fd0ee30 145792008-11-29 Robert Millan <rmh@aybabtu.com>
14580
34c44600 14581 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 14582 grub_ata_device_initialize() calls.
14583
34c44600 145842008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 14585
14586 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
14587 iteration failed.
14588 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
14589
89313780 145902008-11-28 Robert Millan <rmh@aybabtu.com>
14591
14592 Fix build on powerpc-ieee1275. Based on patch created by
14593 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
14594 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
14595 `kern/ieee1275/mmap.c'.
14596 * include/grub/powerpc/ieee1275/memory.h: New file.
14597
15257703 14598 Provide grub-install on coreboot.
14599 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
14600 (grub_install_SOURCES): New variable.
14601 * util/i386/pc/grub-install.in: Add a few condition checks to make it
14602 usable on coreboot.
14603
9fc5388a 146042008-11-25 Felix Zielcke <fzielcke@z-51.de>
14605
14606 * util/grub-fstest.c (grub_term_get_current_input): Change return type
14607 to `grub_term_input_t'.
14608 (grub_term_get_current_output): Change return type to
14609 `grub_term_output_t'.
14610
bc3a2f31 146112008-11-22 Robert Millan <rmh@aybabtu.com>
14612
34c44600 14613 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 14614 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
14615 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
14616 grub_vga_text_cls().
14617
80fc88f2 14618 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 14619 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 14620
cbf36fd3 14621 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
14622 to 0x200000 (avoids trouble with some OFW implementations, and matches
14623 with the one in Yaboot).
14624 Reported by Manoel Abranches
14625
73e8e268 146262008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 14627
14628 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
14629 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
14630
73e8e268 14631 * util/grub-mkconfig_lib.in (grub_warn): New function.
14632 (convert_system_path_to_grub_path): Use grub_warn() when issuing
14633 warnings, to obtain consistent formatting.
14634 * util/grub.d/00_header.in: Likewise.
14635 * util/update-grub_lib.in: Likewise.
14636
e94045a1 14637 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 14638 Move comment text to `#error' stanza.
e94045a1 14639
79d29fd7 14640 Harmonize ieee1275's grub_available_iterate() with the generic
14641 grub_machine_mmap_iterate() interface (fixes a recently-introduced
14642 build problem on i386-ieee1275):
14643 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
14644 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
14645 parameter `type'. Update all users of this function.
14646 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
14647 `kern/ieee1275/mmap.c'.
14648 * kern/ieee1275/init.c
14649 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
14650 with ...
14651 (grub_machine_mmap_iterate): ... this.
14652 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
14653 return type to `grub_err_t'. Update all implementations of this
14654 function prototype.
14655 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
14656 Likewise.
14657
60d6b16e 14658 Add `lsmmap' command (lists firmware-provided memory map):
14659 * commands/lsmmap.c: New file.
14660 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
14661 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
14662 variables.
14663 * conf/powerpc-ieee1275.rmk: Likewise.
14664 * conf/i386-coreboot.rmk: Likewise.
14665 * conf/i386-ieee1275.rmk: Likewise.
14666
ebaaf49b 146672008-11-19 Robert Millan <rmh@aybabtu.com>
14668
14669 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 14670 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
14671 constraints to initrd allocation (based on code from
14672 loader/i386/pc/linux.c). Without them, initrd was allocated too high
14673 for Linux to find it.
ebaaf49b 14674
dfab719f 146752008-11-14 Robert Millan <rmh@aybabtu.com>
14676
14677 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
14678 order to cope with duplicate slashes.
14679
10fc3eb9 146802008-11-14 Robert Millan <rmh@aybabtu.com>
14681
14682 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
14683 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
14684 don't want to mess with lower memory, because it is used in the Linux
14685 loader.
14686
14687 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 14688 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 14689 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
14690 is in our heap (probably as a result of it being corrupted during
2f2a3442 14691 decompression). Add #error instance with comment to explain why this
14692 loader isn't currently usable on PC/BIOS.
10fc3eb9 14693
e2e07847 146942008-11-14 Robert Millan <rmh@aybabtu.com>
14695
14696 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 14697 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 14698
fe8e8d69 146992008-11-12 Robert Millan <rmh@aybabtu.com>
14700
14701 Make loader/i386/linux.c buildable on i386-pc (although disabled).
14702
14703 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
14704 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
14705 from here ...
14706 * include/grub/i386/pc/memory.h: ... to here.
14707
976b07d0 147082008-11-12 Robert Millan <rmh@aybabtu.com>
14709
14710 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
14711 split).
14712
14713 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
14714 (grub_console_cur_color, grub_console_real_putchar)
14715 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
14716 (grub_console_setcolorstate, grub_console_setcolor)
14717 (grub_console_getcolor): Move from here ...
14718 * include/grub/i386/vga_common.h: ... to here (new file).
14719
14720 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
14721 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
14722 `<grub/i386/io.h>'.
14723 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
14724 `<grub/i386/vga_common.h>'.
14725
76679cd3 147262008-11-12 Robert Millan <rmh@aybabtu.com>
14727
14728 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
14729 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
14730 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
14731 variables.
14732 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
14733 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
14734
14735 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
14736 grub_console_init() with call to grub_vga_text_init().
14737 (grub_machine_fini): Replace call to
14738 grub_console_fini() with call to grub_vga_text_fini() and
14739 grub_at_keyboard_fini().
14740
14741 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
14742 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
14743 (grub_console_setcolorstate, grub_console_setcolor)
14744 (grub_console_getcolor): New function prototypes.
14745
14746 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
14747 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
14748 (grub_vga_text_setcursor): Static-ize.
14749 (grub_vga_text_term): New structure.
14750 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
14751
14752 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
14753 (grub_console_cur_color, grub_console_standard_color)
14754 (grub_console_normal_color, grub_console_highlight_color)
14755 (map_char, grub_console_putchar, grub_console_getcharwidth)
14756 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
14757 (grub_console_getcolor): Move from here ...
14758 * term/i386/vga_common.c: ... to here (same function names).
14759
95b841d3 147602008-11-12 Robert Millan <rmh@aybabtu.com>
14761
14762 Use newly-added Multiboot support in coreboot.
14763
14764 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
14765 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
14766
14767 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
14768 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
14769 (codestart): Store the MBI in `startup_multiboot_info' when we're
14770 being loaded using Multiboot.
14771
14772 * kern/i386/coreboot/init.c (grub_machine_init): Move
14773 grub_at_keyboard_init() call to beginning of function (useful for
14774 debugging). Call grub_machine_mmap_init() before attempting to use
14775 grub_machine_mmap_iterate().
14776 (grub_lower_mem, grub_upper_mem): Move from here ...
14777 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
14778 here (new file).
14779
14780 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
14781 function prototype.
14782
761ca975 147832008-11-12 Robert Millan <rmh@aybabtu.com>
14784
14785 Fix a regression introduced by the at_keyboard.mod split. Because
14786 some terminals are default on some platforms and non-default on
14787 others, the first terminal being registered determines which is
14788 going to be default.
14789
14790 * kern/term.c (grub_term_register_input): If this is the first
14791 terminal being registered, set it as the current one.
14792 (grub_term_register_output): Likewise.
14793
14794 * term/efi/console.c (grub_console_init): Do not call
14795 grub_term_set_current_output() or grub_term_set_current_input().
14796 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
14797 * term/i386/pc/console.c (grub_console_init): Likewise.
14798 (grub_console_fini): Do not call grub_term_set_current_input()
14799 (but leave grub_term_set_current_output() to restore text mode).
14800
6c529df7 148012008-11-10 Robert Millan <rmh@aybabtu.com>
14802
14803 * util/grub.d/00_header.in: Add backward compatibility check for
14804 versions of terminal.mod that don't understand `terminal_input' or
14805 `terminal_output'.
14806
132e4113 148072008-11-09 Robert Millan <rmh@aybabtu.com>
14808
14809 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
14810 `terminal_input' / `terminal_output', not `terminal'.
14811
ac293d50 148122008-11-08 Robert Millan <rmh@aybabtu.com>
14813
14814 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 14815 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 14816
0025933a 148172008-11-08 Robert Millan <rmh@aybabtu.com>
14818
14819 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 14820 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 14821 members. Update all users.
14822 * util/console.c (grub_ncurses_term): Split in ...
14823 (grub_ncurses_term_input): ... this, and ...
14824 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 14825 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 14826
37c86336 148272008-11-08 Robert Millan <rmh@aybabtu.com>
14828
14829 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
14830 (PKGDATA): Add $(pkgdata_SRCDIR).
14831 (pkglib_BUILDDIR): New variable.
14832 (pkgdata_SRCDIR): New variable.
14833 (build_env.mk): New target.
14834 (include_DATA): New variable.
14835 (install-local): Install $(include_DATA) files in $(includedir).
14836
b6c15a2d 148372008-11-07 Pavel Roskin <proski@gnu.org>
14838
d99d46f1 14839 * gendistlist.sh: Use C locale for sorting to ensure consistent
14840 output on all systems.
14841
b6c15a2d 14842 * util/grub.d/00_header.in: Remove incorrect space before
14843 "serial".
14844
c32ee8c9 148452008-11-07 Robert Millan <rmh@aybabtu.com>
14846
14847 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
14848 per specification.
14849 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
14850 * loader/multiboot_loader.c (find_multi_boot2_header): New function
14851 (based on find_multi_boot1_header).
14852 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
14853 using find_multi_boot2_header(), and abort if neither Multiboot or
14854 Multiboot headers were found.
14855
651c29b7 148562008-11-07 Robert Millan <rmh@aybabtu.com>
14857
14858 Modularize at_keyboard.mod:
14859
14860 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
14861 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
14862 (at_keyboard_mod_LDFLAGS): New variables.
14863
14864 Actual terminal split:
14865
14866 * include/grub/term.h (struct grub_term): Split in ...
14867 (struct grub_term_input): ... this, and ...
14868 (struct grub_term_output): ... this. Update all users.
14869 (grub_term_set_current): Split in ...
14870 (grub_term_set_current_input): ... this, and ...
14871 (grub_term_set_current_output): ... this.
14872 (grub_term_get_current): Split in ...
14873 (grub_term_get_current_input): ... this, and ...
14874 (grub_term_get_current_output): ... this.
14875 (grub_term_register): Split in ...
14876 (grub_term_register_input): ... this, and ...
14877 (grub_term_register_output): ... this.
14878 (grub_term_unregister): Split in ...
14879 (grub_term_unregister_input): ... this, and ...
14880 (grub_term_unregister_output): ... this.
14881 (grub_term_iterate): Split in ...
14882 (grub_term_iterate_input): ... this, and ...
14883 (grub_term_iterate_output): ... this.
14884
14885 * kern/term.c (grub_term_list): Split in ...
14886 (grub_term_list_input): ... this, and ...
14887 (grub_term_list_output): ... this. Update all users.
14888 (grub_cur_term): Split in ...
14889 (grub_cur_term_input): ... this, and ...
14890 (grub_cur_term_output): ... this. Update all users.
14891 (grub_term_set_current): Split in ...
14892 (grub_term_set_current_input): ... this, and ...
14893 (grub_term_set_current_output): ... this.
14894 (grub_term_get_current): Split in ...
14895 (grub_term_get_current_input): ... this, and ...
14896 (grub_term_get_current_output): ... this.
14897 (grub_term_register): Split in ...
14898 (grub_term_register_input): ... this, and ...
14899 (grub_term_register_output): ... this.
14900 (grub_term_unregister): Split in ...
14901 (grub_term_unregister_input): ... this, and ...
14902 (grub_term_unregister_output): ... this.
14903 (grub_term_iterate): Split in ...
14904 (grub_term_iterate_input): ... this, and ...
14905 (grub_term_iterate_output): ... this.
14906
14907 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
14908 a check for input and one for output (and only attempt to get keys
14909 from user when input works).
14910
14911 * util/grub-probe.c (grub_term_get_current): Split in ...
14912 (grub_term_get_current_input): ... this, and ...
14913 (grub_term_get_current_output): ... this.
14914 * util/grub-fstest.c: Likewise.
14915 * util/i386/pc/grub-setup.c: Likewise.
14916 * util/grub-editenv.c: Likewise.
14917
14918 Portability adjustments:
14919
14920 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
14921 `term/i386/pc/at_keyboard.c'.
14922 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
14923 grub_keyboard_controller_init() (now handled by terminal .init).
14924 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
14925 grub_at_keyboard_init().
14926 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
14927 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
14928 at_keyboard.mod via input terminal interface).
14929 * include/grub/i386/coreboot/console.h: Convert into a stub for
14930 `<grub/i386/pc/console.h>'.
14931
14932 Migrate full terminals to new API:
14933
14934 * term/efi/console.c (grub_console_term): Split into ...
14935 (grub_console_term_input): ... this, and ...
14936 (grub_console_term_output): ... this. Update all users.
14937 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
14938 (grub_ofconsole_init): Split into ...
14939 (grub_ofconsole_init_input): ... this, and ...
14940 (grub_ofconsole_init_output): ... this.
14941 (grub_ofconsole_term): Split into ...
14942 (grub_ofconsole_term_input): ... this, and ...
14943 (grub_ofconsole_term_output): ... this. Update all users.
14944 * term/i386/pc/serial.c (grub_serial_term): Split into ...
14945 (grub_serial_term_input): ... this, and ...
14946 (grub_serial_term_output): ... this. Update all users.
14947 * term/i386/pc/console.c (grub_console_term): Split into ...
14948 (grub_console_term_input): ... this, and ...
14949 (grub_console_term_output): ... this. Update all users.
14950 (grub_console_term_input): Only enable it on PC/BIOS platform.
14951 (grub_console_init): Remove grub_keyboard_controller_init() call.
14952
14953 Migrate input terminals to new API:
14954
14955 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
14956 `i386' and `i386/pc' to enable build on x86_64 (this driver is
14957 i386-specific anyway).
14958 (grub_console_checkkey): Rename to ...
14959 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
14960 users.
14961 (grub_keyboard_controller_orig): New variable.
14962 (grub_console_getkey): Rename to ...
14963 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
14964 users.
14965 (grub_keyboard_controller_init): Static-ize. Save original
14966 controller value so that it can be restored ...
14967 (grub_keyboard_controller_fini): ... here (new function).
14968 (grub_at_keyboard_term): New structure.
14969 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
14970 functions.
14971
14972 Migrate output terminals to new API:
14973
14974 * term/i386/pc/vga.c (grub_vga_term): Change type to
14975 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14976 members. Update all users.
14977 * term/gfxterm.c (grub_video_term): Change type to
14978 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14979 members. Update all users.
14980 * include/grub/i386/pc/console.h (grub_console_checkkey)
14981 (grub_console_getkey): Do not export (no longer needed by gfxterm,
14982 etc).
14983
14984 Migrate `terminal' command and userland tools to new API:
14985
14986 * commands/terminal.c (grub_cmd_terminal): Split into ...
14987 (grub_cmd_terminal_input): ... this, and ...
14988 (grub_cmd_terminal_output): ... this.
14989 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
14990 `terminal_input' and `terminal_output'.
14991 * util/grub.d/00_header.in: Adjust `terminal' calls to new
14992 `terminal_input' / `terminal_output' API.
14993 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
14994 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
14995 provided ${GRUB_TERMINAL}, convert it).
14996
96e5d876 149972008-11-04 Robert Millan <rmh@aybabtu.com>
14998
14999 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
15000 for FreeBSD.
15001 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
15002
556f3775 150032008-11-03 Bean <bean123ch@gmail.com>
15004
15005 * kern/elf.c (grub_elf32_load): Revert to previous code.
15006 (grub_elf64_load): Likewise.
15007
15008 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
15009
926b9823 150102008-11-01 Robert Millan <rmh@aybabtu.com>
15011
15012 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
15013 (TARGET_CPPFLAGS): Likewise.
15014 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
15015
1432e958 150162008-11-01 Carles Pina i Estany <carles@pina.cat>
15017
15018 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
15019
dba3f844 150202008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 15021
15022 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
15023 addition of objects until the code is not going to be able to fail.
15024
dba3f844 150252008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 15026
15027 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
15028 (add a missing NULL check, and correct them by moving the pointer
15029 operations after the actual check).
15030
7ab28c21 150312008-10-29 Robert Millan <rmh@aybabtu.com>
15032
15033 * util/i386/pc/grub-install.in: Handle empty string as output from
15034 make_system_path_relative_to_its_root().
15035
1b7748eb 150362008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
15037
15038 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
15039 circular metadata worst case scenario. If the metadata is circular
15040 then copy the wrap in place.
15041 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
15042 project lib/format_text/layout.h
15043 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
15044
c9618ab2 150452008-10-03 Felix Zielcke <fzielcke@z-51.de>
15046
7a36edca 15047 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 15048
bf981c62 150492008-10-03 Felix Zielcke <fzielcke@z-51.de>
15050
15051 * util/update-grub_lib.in: Mention filename in warning message.
15052
6d994591 150532008-09-29 Felix Zielcke <fzielcke@z-51.de>
15054
15055 * NEWS: Update for rename of update-grub to grub-mkconfig.
15056
18ade780 150572008-09-29 Felix Zielcke <fzielcke@z-51.de>
15058
15059 * util/update-grub_lib.in: Copy to ...
15060 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 15061 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 15062 * util/update-grub.in: Rename to ...
15063 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
15064 option. Add `--output' option to allow users to specify the generated
15065 configuration file. Default to stdout.
15066 (update_grub_dir): Rename to ...
15067 (grub_mkconfig_dir): ... this.
15068 (grub_cfg): Default to an empty string.
15069 * conf/common.rmk (update-grub): Rename to ...
15070 (grub-mkconfig): ... this.
15071 (update-grub_lib): Copy to ...
15072 (grub-mkconfig_lib): ... this.
15073 (update-grub_SCRIPTS): Copy to ...
15074 (grub-mkconfig_SCRIPTS): ... this. Update all users.
15075 (update-grub_DATA): Rename to ...
15076 (grub-mkconfig_DATA): ... this.
15077
556ce6ac 150782008-09-28 Robert Millan <rmh@aybabtu.com>
15079
15080 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
15081 to `modified'. Add the real `created' field.
15082 (grub_iso9660_uuid): Use `modified' rather than `created' for
15083 constructing the UUID.
15084
150852008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 15086
15087 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
15088 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
15089
92274e85 150902008-09-28 Bean <bean123ch@gmail.com>
15091
15092 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
15093 Thanks to Christian Franke for finding this bug.
15094
add6f17a 150952008-09-25 Robert Millan <rmh@aybabtu.com>
15096
15097 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
15098 instances of grub_util_get_disk_name() (see previous commit).
15099
d2a367b8 151002008-09-25 Robert Millan <rmh@aybabtu.com>
15101
15102 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
15103 `util/i386/get_disk_name.c'.
15104 * conf/i386-efi.rmk: Likewise.
15105 * conf/x86_64-efi.rmk: Likewise.
15106 * conf/i386-coreboot.rmk: Likewise.
15107 * conf/i386-ieee1275.rmk: Likewise.
15108 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
15109 `util/ieee1275/get_disk_name.c'.
15110 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
15111 * util/ieee1275/get_disk_name.c: Remove file.
15112 * util/i386/get_disk_name.c: Remove file.
15113 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
15114 "hd%d" for device.map entries, rather than using
15115 grub_util_get_disk_name().
15116
81a06771 151172008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 15118
15119 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
15120 warning.
15121 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
15122
5a004279 151232008-09-24 Carles Pina i Estany <carles@pina.cat>
15124
15125 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
15126 Changed to 0x5100.
15127 (GRUB_TERM_PPAGE): Changed to 0x4900.
15128
397093d3 151292008-09-24 Robert Millan <rmh@aybabtu.com>
15130
15131 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
15132 macros (they were i386-pc specific).
15133 * include/grub/sparc64/ieee1275/console.h: Likewise.
15134 * include/grub/efi/console.h: Likewise.
15135
a91b6c7c 151362008-09-22 Bean <bean123ch@gmail.com>
15137
15138 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
15139 resident and in attribute list.
15140
15141 * include/grub/ntfs.h (BMP_LEN): Removed.
15142
c40fd116 151432008-09-22 Bean <bean123ch@gmail.com>
15144
81a06771 15145 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 15146 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
15147
15148 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
15149 error occurs, as grub_disk_open will call grub_disk_close, which will
15150 call p->close (scsi).
15151
81a06771 151522008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 15153
15154 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
15155 (AC_PREREQ): Bumped to 2.59.
15156 (AC_TRY_COMPILE): Replace obsolete macro with ...
15157 (AC_COMPILE_IFELSE): ... this.
15158 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
15159 (AC_LINK_IFELSE): ... this.
15160
5dc43410 151612008-09-21 Felix Zielcke <fzielcke@z-51.de>
15162
15163 * autogen.sh: Add a call to `gendistlist.sh'.
15164
9035dce4 151652008-09-19 Christian Franke <franke@computer.org>
15166
15167 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
15168 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
15169 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
15170 Export __enable_execute_stack() to modules.
15171 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
15172 New function.
15173
7fd75377 151742008-09-09 Felix Zielcke <fzielcke@z-51.de>
15175
040030b3 15176 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
15177 Sort the list.
15178
151792008-09-09 Felix Zielcke <fzielcke@z-51.de>
15180
15181 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 15182 #include <grub/util/hostdisk.h>.
15183
89d5ffcf 151842008-09-08 Robert Millan <rmh@aybabtu.com>
15185
15186 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
15187 segments when their filesz is zero (grub_file_read() interprets
81a06771 15188 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 15189 Use `lowest_segment' rather than 0 for calculating the current
15190 segment load address.
15191
40da438f 151922008-09-08 Robert Millan <rmh@aybabtu.com>
15193
15194 * util/hostdisk.c (open_device): Replace a grub_util_info() call
15195 with grub_dprintf("hostdisk", ...), as it was so verbose that it
15196 clobbered useful information.
15197
ddbf5556 151982008-09-08 Robert Millan <rmh@aybabtu.com>
15199
15200 * include/grub/util/biosdisk.h: Move to ...
15201 * include/grub/util/hostdisk.h: ... here. Update all users.
15202 * util/biosdisk.c: Move to ...
15203 * util/hostdisk.c: ... here. Update all users.
15204
783d0f48 152052008-09-07 Robert Millan <rmh@aybabtu.com>
15206
15207 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
15208 variables.
15209 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
15210 and length can be stored directly in the `mbi->mmap_addr' and
15211 `mbi->mmap_length' struct fields.
15212
548e2ea5 152132008-09-07 Robert Millan <rmh@aybabtu.com>
15214
15215 * conf/i386.rmk: New file. Provides declaration for building
15216 `cpuid.mod'.
15217 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
15218 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
15219 variables.
15220 Include `conf/i386.mk'.
15221 * conf/i386-efi.rmk: Likewise.
15222 * conf/x86_64-efi.rmk: Likewise.
15223 * conf/i386-coreboot.rmk: Likewise.
15224 * conf/i386-ieee1275.rmk: Likewise.
15225
0ea85a37 152262008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
15227
15228 Based on patch created by Colin D Bennett <colin@gibibit.com>.
15229 Adds optimization support for BGR based modes.
15230
15231 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
15232 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
15233 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15234 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15235 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15236 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15237 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15238 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15239 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15240 (grub_video_i386_vbeblit_index_index): Likewise.
15241 (grub_video_i386_vbeblit_replace_directN): Added.
15242 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
15243 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
15244 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
15245 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
15246 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
15247 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 15248 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 15249 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
15250 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
15251 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
15252 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
15253 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
15254 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
15255
15256 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
15257 (grub_video_i386_vbefill_R8G8B8): Likewise.
15258 (grub_video_i386_vbefill_index): Likewise.
15259 (grub_video_i386_vbefill_direct32): Added.
15260 (grub_video_i386_vbefill_direct24): Likewise.
15261 (grub_video_i386_vbefill_direct16): Likewise.
15262 (grub_video_i386_vbefill_direct8): Likewise.
15263
81a06771 15264 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 15265 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
15266 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
15267 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
15268 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
15269 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 15270
0ea85a37 15271 * video/video.c (grub_video_get_blit_format): Updated to use new
15272 blit formats. Added handling for 16 bit color modes.
81a06771 15273
15274 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 15275 fillers.
15276 (common_blitter): Updated to use new blitters.
15277
15278 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
15279 Removed.
15280 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
15281 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15282 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15283 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15284 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15285 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15286 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15287 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15288 (grub_video_i386_vbeblit_index_index): Likewise.
15289 (grub_video_i386_vbeblit_replace_directN): Added.
15290 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
15291 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
15292 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
15293 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
15294 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
15295 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
15296 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
15297 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
15298 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
15299 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
15300 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
15301 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
15302 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 15303
0ea85a37 15304 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
15305 (grub_video_i386_vbefill_R8G8B8): Likewise.
15306 (grub_video_i386_vbefill_index): Likewise.
15307 (grub_video_i386_vbefill_direct32): Added.
15308 (grub_video_i386_vbefill_direct24): Likewise.
15309 (grub_video_i386_vbefill_direct16): Likewise.
15310 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 15311
0ea85a37 15312 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
15313 types.
81a06771 15314
0ea85a37 15315 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
15316 types.
81a06771 15317
0ea85a37 15318 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
15319 blitter types.
81a06771 15320
0ea85a37 15321 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
15322 types.
15323
e8a83df6 153242008-09-06 Felix Zielcke <fzielcke@z-51.de>
15325
15326 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
15327 RAID level 1.
15328
6bcd8ee5 153292008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 15330
6bcd8ee5 15331 * fs/iso9660.c (grub_iso9660_date): New structure.
15332 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
15333 (grub_iso9660_uuid): New function.
c375ae58 15334
59261157 153352008-09-05 Bean <bean123ch@gmail.com>
15336
15337 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
15338
15339 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
15340 insensitive bit for names in Win32 and Win32 & DOS namespace.
15341
15342 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
15343
15344 * include/grub/types.h (LONG_MAX): Likewise.
15345
58b6645a 153462008-09-04 Felix Zielcke <fzielcke@z-51.de>
15347
4ee55921 15348 * util/getroot.c: Include <config.h>.
15349 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
15350 add support for /dev/md/N devices and handle LVM double dash escaping.
15351
153522008-09-04 Felix Zielcke <fzielcke@z-51.de>
15353
15354 * config.guess: Update to latest version from config git.
15355 * config.sub: Likewise.
58b6645a 15356
9124f65d 153572008-09-03 Robert Millan <rmh@aybabtu.com>
15358
15359 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
15360 `disk->total_sectors'.
15361
81a06771 153622008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 15363
15364 * include/grub/normal.h: Fixed incorrect comment for
15365 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
15366
81a06771 153672008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 15368
15369 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
15370 values with defines.
15371
15372 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
15373 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
15374 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
15375 (GRUB_VBE_MODEATTR_COLOR): Likewise.
15376 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
15377 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
15378 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
15379 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
15380 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
15381 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
15382 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
15383 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
15384 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
15385 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
15386 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
15387 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
15388 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
15389 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
15390 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
15391
93d5cbf8 153922008-08-31 Robert Millan <rmh@aybabtu.com>
15393
15394 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
15395 declaration.
15396 (grub_multiboot): Fix a few warnings.
15397
21751d50 153982008-08-31 Robert Millan <rmh@aybabtu.com>
15399
15400 * loader/i386/pc/multiboot.c: Update comment not to say that
15401 boot_device support is unimplemented.
15402
e27a75c5 154032008-08-31 Robert Millan <rmh@aybabtu.com>
15404
15405 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
15406 or memory map support are unimplemented.
15407
81a06771 154082008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 15409
15410 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
15411
81a06771 154122008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 15413
15414 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
15415 total video memory in 'vbeinfo' output; show color format details for
15416 each video mode.
15417
7c5d8d95 154182008-08-30 Pavel Roskin <proski@gnu.org>
15419
15420 * util/genmoddep.c: Remove for real this time.
15421 * DISTLIST: Remove util/genmoddep.c.
15422
4cebd25a 154232008-08-30 Robert Millan <rmh@aybabtu.com>
15424
15425 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
15426 as required by Multiboot spec (it was already 4-byte aligned, but
15427 only by chance).
15428
b497a269 154292008-08-29 Pavel Roskin <proski@gnu.org>
15430
e3925185 15431 * kern/powerpc/ieee1275/crt0.S: Rename to ...
15432 * kern/powerpc/ieee1275/startup.S: ... this.
15433 * conf/powerpc-ieee1275.rmk: Adjust for the above.
15434 * DISTLIST: Likewise.
15435
b497a269 15436 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
15437 grub/cpu/kernel.h. Add start label for consistency with other
15438 platforms. Add grub_prefix immediately after start. Add jump
15439 to the code after grub_prefix.
15440 * include/grub/powerpc/kernel.h: Provide valid values for
15441 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
15442
6e5a42fe 154432008-08-29 Bean <bean123ch@gmail.com>
15444
15445 * configure.ac: Change host_os to cygwin for mingw.
15446 (asprintf): New check for function.
15447
15448 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
15449 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
15450
15451 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 15452 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 15453 sync, sleep and grub_util_get_disk_size for mingw.
15454
15455 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
15456 to get size in mingw.
15457 (open_device): Use flag O_BINARY if it's defined.
15458 (find_root_device): Add dummy code for mingw.
15459
15460 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
15461 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
15462 (get_scsi_disk_name): Return 0 for mingw.
15463
15464 * util/hostfs.c: #include <grub/util/misc.h>.
15465 (grub_hostfs_open): Use "rb" flag to open file, use
15466 grub_util_get_disk_size to get disk size for mingw.
15467
15468 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
15469 (asprintf): New function if HAVE_ASPRINTF is not set.
15470 (sync): New function for mingw.
15471 (sleep): Likewise.
15472 (grub_util_get_disk_size): Likewise.
15473
ab3f2673 154742008-08-28 Pavel Roskin <proski@gnu.org>
15475
15476 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15477 kern/time.c.
15478
1c282483 154792008-08-28 Robert Millan <rmh@aybabtu.com>
15480
15481 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
15482
678e849c 154832008-08-28 Robert Millan <rmh@aybabtu.com>
15484
15485 Change find_grub_drive() syntax so it doesn't prevent it from
15486 detecting NULL names as errors.
15487
15488 * util/biosdisk.c (find_grub_drive): Move free slot search code
15489 from here ...
15490 (find_free_slot): ... to here.
15491 (read_device_map): Use find_free_slot() to search for free slots.
15492
965c75ca 154932008-08-27 Marco Gerards <marco@gnu.org>
15494
15495 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
15496 (scsi_mod_SOURCES): New variable.
15497 (scsi_mod_CFLAGS): Likewise
15498 (scsi_mod_LDFLAGS): Likewise.
15499
15500 * disk/scsi.c: New file.
15501
15502 * include/grub/scsi.h: Likewise.
15503
15504 * include/grub/scsicmd.h: Likewise.
15505
15506 * disk/ata.c: Include <grub/scsi.h>.
15507 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
15508 instead.
15509 (grub_ata_iterate): Skip ATAPI devices.
15510 (grub_ata_open): Only handle ATAPI devices.
15511 (struct grub_atapi_read): Removed.
15512 (grub_atapi_readsector): Likewise.
15513 (grub_ata_read): No longer handle ATAPI devices.
15514 (grub_ata_write): Likewise.
15515 (grub_atapi_iterate): New function.
15516 (grub_atapi_read): Likewise.
15517 (grub_atapi_write): Likewise.
15518 (grub_atapi_open): Likewise.
15519 (grub_atapi_close): Likewise.
15520 (grub_atapi_dev): New variable.
15521 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
15522 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
15523
15524 * include/grub/disk.h (enum grub_disk_dev_id): Add
15525 `GRUB_DISK_DEVICE_SCSI_ID'.
15526
c07ae501 155272008-08-26 Robert Millan <rmh@aybabtu.com>
15528
15529 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
15530 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
15531 descriptive.
15532
5ed20adc 155332008-08-23 Bean <bean123ch@gmail.com>
15534
15535 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
15536 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
15537 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
15538 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
15539 dm_nv.mod.
15540 (raid5rec_mod_SOURCES): New macro.
15541 (raid5rec_mod_CFLAGS): Likewise.
15542 (raid5rec_mod_LDFLAGS): Likewise.
15543 (raid6rec_mod_SOURCES): Likewise.
15544 (raid6rec_mod_CFLAGS): Likewise.
15545 (raid6rec_mod_LDFLAGS): Likewise.
15546 (mdraid_mod_SOURCES): Likewise.
15547 (mdraid_mod_CFLAGS): Likewise.
15548 (mdraid_mod_LDFLAGS): Likewise.
15549 (dm_nv_mod_SOURCES): Likewise.
15550 (dm_nv_mod_CFLAGS): Likewise.
15551 (dm_nv_mod_LDFLAGS): Likewise.
15552
15553 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
15554 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
15555 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
15556
15557 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
15558 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
15559
15560 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15561
15562 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15563
15564 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15565
15566 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15567
15568 * disk/raid5_recover.c: New file.
15569
15570 * disk/raid6_recover.c: Likewise.
15571
15572 * disk/mdraid_linux.c: Likewise.
15573
15574 * disk/dmraid_nvidia.c: Likewise.
15575
15576 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
15577 ULONG_MAX.
15578
15579 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
15580 calculate the size of raid device.
15581 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
15582 different layout of raid5.
15583 (grub_raid_scan_device): Remove code specific to mdraid.
15584 (grub_raid_list): New variable.
15585 (free_array): New function.
15586 (grub_raid_register): Likewise.
15587 (grub_raid_unregister): Likewise.
15588 (grub_raid_rescan): Likewise.
15589 (GRUB_MOD_INIT): Don't iterate device here.
15590 (GRUB_MOD_FINI): Use free_array to release resource.
15591
15592 * include/grub/raid.h: Remove macro and structure specific to mdraid.
15593 (grub_raid5_recover_func_t): New function variable type.
15594 (grub_raid6_recover_func_t): Likewise.
15595 (grub_raid5_recover_func): New variable.
15596 (grub_raid6_recover_func): Likewise.
15597 (grub_raid_register): New function.
15598 (grub_raid_unregister): Likewise.
15599 (grub_raid_rescan): Likewise.
15600 (grub_raid_block_xor): Likewise.
15601
15602 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
15603 (CMD_CRC): New macro.
15604 (part): Removed.
15605 (read_file): Handle device as well as file.
15606 (cmd_crc): New function.
15607 (fstest): Handle multiple disks.
15608 (options): Remove part, raw and long, add root and diskcount.
15609 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 15610 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 15611 add handling for the new options, support multiple disks.
15612
15613 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
15614
29c18915 156152008-08-23 Bean <bean123ch@gmail.com>
15616
15617 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
15618
15619 * genfslist.sh: Ignore kernel.mod.
15620
15621 * genpartmaplist.sh: Likewise.
15622
8415f261 156232008-08-23 Robert Millan <rmh@aybabtu.com>
15624
15625 * util/getroot.c (find_root_device): Skip anything that starts with
15626 a dot, not just directories. This avoids things like /dev/.tmp.md0.
15627
d5a7dc5b 156282008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 15629
d5a7dc5b 15630 * util/update-grub.in (GRUB_GFXMODE): Export variable.
15631 * util/grub.d/00_header.in: Allow the administrator to change default
15632 gfxmode via ${GRUB_GFXMODE}.
15633
380cfbb4 156342008-08-21 Felix Zielcke <fzielcke@z-51.de>
15635
15636 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
15637
c9baafe7 156382008-08-21 Robert Millan <rmh@aybabtu.com>
15639
15640 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
15641 loader.
15642 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
15643 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
15644
e290bef2 156452008-08-20 Carles Pina i Estany <carles@pina.cat>
15646
15647 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
15648 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
15649
f9dbfc96 156502008-08-19 Robert Millan <rmh@aybabtu.com>
15651
15652 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
15653 (struct grub_virtual_screen): Remove `cursor_color'.
15654 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
15655 initialization.
15656 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
15657
dd6bd6ab 156582008-08-18 Robert Millan <rmh@aybabtu.com>
15659
15660 Unify (identical) linux_normal.c files.
15661 * loader/i386/efi/linux_normal.c: Move from here ...
15662 * loader/linux_normal.c: ... to here. Update all users.
15663 * loader/i386/pc/linux_normal.c: Delete. Update all users.
15664 * loader/i386/ieee1275/linux_normal.c: Likewise.
15665
7f42f83e 156662008-08-18 Robert Millan <rmh@aybabtu.com>
15667
15668 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
15669 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
15670 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
15671 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
15672 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
15673 New macros.
15674 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
15675 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
15676 (GRUB_LINUX_CL_END_OFFSET): ... to here.
15677 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
15678 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
15679 (GRUB_EFI_CL_END_OFFSET): Rename to ...
15680 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
15681 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
15682 Initialize `params->video_cursor_x' and `params->video_cursor_y'
15683 portably using grub_getxy().
15684 Replace `-EFI' with `-bzImage' in boot message.
15685
38487ddb 156862008-08-17 Robert Millan <rmh@aybabtu.com>
15687
15688 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
15689
deceb3ec 156902008-08-17 Robert Millan <rmh@aybabtu.com>
15691
15692 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
15693
15694 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
15695 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
15696 (grub_machine_mmap_iterate): New function declaration.
15697 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
15698 structure.
15699 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
15700 macros.
15701
15702 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
15703 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
15704 Move e820 parsing from here ...
15705 * kern/i386/pc/mmap.c: New file.
15706 (grub_machine_mmap_iterate): ... to here.
15707
15708 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
15709 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
15710 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
15711 (grub_available_iterate): Redeclare to return `void', and redeclare
15712 its hook to use grub_uint64_t as addr and size parameters, and rename
15713 to ...
15714 (grub_machine_mmap_iterate): ... this. Update all users.
15715
15716 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
15717 to make it more readable. Rename to ...
15718 (grub_machine_mmap_iterate): ... this.
15719
15720 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
15721 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
15722 (grub_multiboot): Allocate an extra region after the payload, and fill
15723 it with a Multiboot memory map. Adjust a.out loader to calculate size
15724 with the extra space.
15725 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
15726 with the extra space.
15727
f8aa0f43 157282008-08-17 Carles Pina i Estany <carles@pina.cat>
15729
9807deb9 15730 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 15731
605f5bb6 157322008-08-17 Felix Zielcke <fzielcke@z-51.de>
15733
15734 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
15735 mdate-sh to the list `find' searches for.
15736 * DISTLIST: Regenerated.
15737
210db6c6 157382008-08-16 Felix Zielcke <fzielcke@z-51.de>
15739
15740 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
15741 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 15742 genmoddep.awk, gensymlist.sh.in.
15743 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 15744 * DISTLIST: Regenerated.
48cdbfd4 15745 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 15746
1082b929 157472008-08-16 Robert Millan <rmh@aybabtu.com>
15748
15749 * disk/raid.c (grub_raid_init): Handle/report errors set by
15750 grub_device_iterate().
15751 * disk/lvm.c (grub_lvm_init): Likewise.
15752
42ce5170 157532008-08-15 Bean <bean123ch@gmail.com>
15754
15755 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15756 and datehook.mod.
15757 (datetime_mod_SOURCES): New macro.
15758 (datetime_mod_CFLAGS): Likewise.
15759 (datetime_mod_LDFLAGS): Likewise.
15760 (date_mod_SOURCES): Likewise.
15761 (date_mod_CFLAGS): Likewise.
15762 (date_mod_LDFLAGS): Likewise.
15763 (datehook_mod_SOURCES): Likewise.
15764 (datehook_mod_CFLAGS): Likewise.
15765 (datehook_mod_LDFLAGS): Likewise.
15766
15767 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15768 and datehook.mod.
15769 (datetime_mod_SOURCES): New macro.
15770 (datetime_mod_CFLAGS): Likewise.
15771 (datetime_mod_LDFLAGS): Likewise.
15772 (date_mod_SOURCES): Likewise.
15773 (date_mod_CFLAGS): Likewise.
15774 (date_mod_LDFLAGS): Likewise.
15775 (datehook_mod_SOURCES): Likewise.
15776 (datehook_mod_CFLAGS): Likewise.
15777 (datehook_mod_LDFLAGS): Likewise.
15778
15779 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15780 and datehook.mod.
15781 (datetime_mod_SOURCES): New macro.
15782 (datetime_mod_CFLAGS): Likewise.
15783 (datetime_mod_LDFLAGS): Likewise.
15784 (date_mod_SOURCES): Likewise.
15785 (date_mod_CFLAGS): Likewise.
15786 (date_mod_LDFLAGS): Likewise.
15787 (datehook_mod_SOURCES): Likewise.
15788 (datehook_mod_CFLAGS): Likewise.
15789 (datehook_mod_LDFLAGS): Likewise.
15790
15791 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15792 and datehook.mod.
15793 (datetime_mod_SOURCES): New macro.
15794 (datetime_mod_CFLAGS): Likewise.
15795 (datetime_mod_LDFLAGS): Likewise.
15796 (date_mod_SOURCES): Likewise.
15797 (date_mod_CFLAGS): Likewise.
15798 (date_mod_LDFLAGS): Likewise.
15799 (datehook_mod_SOURCES): Likewise.
15800 (datehook_mod_CFLAGS): Likewise.
15801 (datehook_mod_LDFLAGS): Likewise.
15802
15803 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15804 and datehook.mod.
15805 (datetime_mod_SOURCES): New macro.
15806 (datetime_mod_CFLAGS): Likewise.
15807 (datetime_mod_LDFLAGS): Likewise.
15808 (date_mod_SOURCES): Likewise.
15809 (date_mod_CFLAGS): Likewise.
15810 (date_mod_LDFLAGS): Likewise.
15811 (datehook_mod_SOURCES): Likewise.
15812 (datehook_mod_CFLAGS): Likewise.
15813 (datehook_mod_LDFLAGS): Likewise.
15814
15815 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
15816
15817 * commands/date.c: New file.
15818
15819 * hook/datehook.c: Likewise.
15820
15821 * include/grub/lib/datetime.h: Likewise.
15822
15823 * include/grub/i386/cmos.h: Likewise.
15824
15825 * lib/datetime.c: Likewise.
15826
15827 * lib/i386/datetime.c: Likewise.
15828
15829 * lib/efi/datetime.c: Likewise.
15830
0e9242da 158312008-08-14 Robert Millan <rmh@aybabtu.com>
15832
15833 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
15834 (grub_mkelfimage_SOURCES): New variable.
15835 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
15836
15837 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
15838 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
15839 * conf/powerpc-ieee1275.rmk: Likewise.
15840 * conf/i386-ieee1275.rmk: Likewise.
15841
15842 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
15843 * kern/i386/coreboot/init.c: Likewise.
15844
15845 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
15846 with `<grub/cpu/kernel.h>'.
15847 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
15848 to ...
15849 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
15850 * kern/i386/coreboot/startup.S: Likewise.
15851
15852 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
15853 (GRUB_MOD_GAP): Remove.
15854 * include/grub/powerpc/kernel.h: New file.
15855 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
15856 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
15857 * include/grub/i386/kernel.h: New file.
15858 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
15859 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
15860 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
15861
15862 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
15863 `grub-mkelfimage'.
15864 Use --directory when invoking grub_mkimage.
15865
15866 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
15867 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
15868 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
15869 and GRUB_KERNEL_CPU_PREFIX.
15870
b86408f8 158712008-08-14 Felix Zielcke <fzielcke@z-51.de>
15872
d5e619ca 15873 * include/grub/err.h (grub_err_printf): New function prototype.
15874 * util/misc.c (grub_err_printf): New function.
15875 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
15876 grub_printf.
15877 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 15878
7161f0e0 158792008-08-13 Robert Millan <rmh@aybabtu.com>
15880
15881 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
15882
a1967522 158832008-08-13 Robert Millan <rmh@aybabtu.com>
15884
15885 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
15886 boot entry.
15887
371458b5 158882008-08-12 Robert Millan <rmh@aybabtu.com>
15889
15890 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
15891 of the relocation code from here ...
15892 (grub_multiboot): ... to here.
15893 (forward_relocator, backward_relocator): Move from here ...
15894 * kern/i386/loader.S (grub_multiboot_forward_relocator)
15895 (grub_multiboot_backward_relocator): ... to here.
15896 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
15897 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
15898 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
15899 (grub_multiboot_forward_relocator_end)
15900 (grub_multiboot_backward_relocator)
15901 (grub_multiboot_backward_relocator_end): New variables.
15902
05f9452b 159032008-08-12 Bean <bean123ch@gmail.com>
15904
15905 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
15906
20024ab0 159072008-08-11 Robert Millan <rmh@aybabtu.com>
15908
15909 * kern/i386/linuxbios/startup.S: Move from here ...
15910 * kern/i386/coreboot/startup.S: ... to here.
15911
15912 * kern/i386/linuxbios/init.c: Move from here ...
15913 * kern/i386/coreboot/init.c: ... to here.
15914
15915 * kern/i386/linuxbios/table.c: Move from here ...
15916 * kern/i386/coreboot/mmap.c: ... to here.
15917
15918 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
15919
e352e9cd 159202008-08-11 Robert Millan <rmh@aybabtu.com>
15921
15922 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
15923 errors. Leave it to the upper layer to handle them.
15924
2d05bc6a 159252008-08-09 Christian Franke <franke@computer.org>
15926
15927 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
15928 * conf/common.rmk: Install `grub-pe2elf' only if requested.
15929 Install `grub.d/10_windows' only on Cygwin.
15930 * configure.ac: Add subst of `target_os'.
15931 Check `target_os' also before setting TARGET_OBJ2ELF.
15932 Add `--enable-grub-pe2elf'.
15933
042bd419 159342008-08-08 Robert Millan <rmh@aybabtu.com>
15935
15936 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15937 (grub_last_time): Change type to grub_uint64_t.
15938 (grub_disk_open): Migrate code from to using grub_get_time_ms().
15939 (grub_disk_close): Likewise.
15940
15941 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15942 (run_menu): Migrate code from to using grub_get_time_ms().
15943
15944 * util/misc.c (grub_get_time_ms): New function.
15945
7f280db5 159462008-08-08 Marco Gerards <marco@gnu.org>
15947
15948 * disk/ata.c (grub_ata_regget): Change return type to
15949 `grub_uint8_t'.
15950 (grub_ata_regget2): Likewise.
15951 (grub_ata_wait_status): New function.
15952 (grub_ata_wait_busy): Removed function, updated all users to use
15953 `grub_ata_wait_status'.
15954 (grub_ata_wait_drq): Likewise.
15955 (grub_ata_cmd): New function.
15956 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
15957 error handling.
15958 (grub_ata_pio_write): Add error handling.
15959 (grub_atapi_identify): Likewise.
15960 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
15961 handling.
15962 (grub_ata_identify): Use `grub_ata_cmd' and improve error
15963 handling. Actually use the detected registers. Reorder the
15964 detection logic such that it is easier to read.
15965 (grub_ata_pciinit): Do not assign the same ID to each controller.
15966 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
15967 handling.
15968 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
15969
15970 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
15971
1fbc5e66 159722008-08-08 Marco Gerards <marco@gnu.org>
15973
15974 * NEWS: Update.
15975
819ce6c0 159762008-08-07 Bean <bean123ch@gmail.com>
15977
15978 * include/grub/x86_64/pci.h: New file.
15979
5c41d44d 159802008-08-07 Christian Franke <franke@computer.org>
15981
15982 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
15983 (TIMER2_GATE): Likewise.
15984 (grub_pit_wait): Add enable/disable of the timer2 gate
15985 bit of port 0x61. This fixes a possible infinite loop.
15986
5ebc275d 159872008-08-07 Bean <bean123ch@gmail.com>
15988
15989 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
15990 kern/i386/tsc.c and kern/i386/pit.c.
15991
15992 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
15993 x86_64 platform.
15994
15995 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
15996 <grub/i386/tsc.h>.
15997
15998 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
15999
e383b3d0 160002008-08-07 Bean <bean123ch@gmail.com>
16001
16002 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
16003
16004 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
16005
16006 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
16007 multiple inclusion. Add #include <grub/types.h>.
16008
1cbb58ac 160092008-08-06 Christian Franke <franke@computer.org>
16010
16011 * conf/common.rmk: Build and install `10_windows'.
16012 * util/grub.d/10_windows.in: New script.
16013
337f5a1e 160142008-08-06 Pavel Roskin <proski@gnu.org>
16015
16016 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
16017
057bc4ac 160182008-08-06 Robert Millan <rmh@aybabtu.com>
16019
16020 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
16021 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
16022
2b99f123 160232008-08-06 Bean <bean123ch@gmail.com>
16024
16025 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
16026 (grub_pxefs_fs_int): Remove dummy definition.
16027 (grub_pxefs_open): Use data->block_size to store the current block
16028 size setting.
16029 (grub_pxefs_read): Use block size stored in data->block_size. As the
16030 value of grub_pxe_blksize can be changed after the file is opened.
16031
9f0234cb 160322008-08-06 Bean <bean123ch@gmail.com>
16033
16034 * fs/i386/pc/pxe.c (curr_file): new variable.
16035 (grub_pxefs_open): Simply the handling of pxe file system. Don't
16036 require the dummy internal file system anymore.
16037 (grub_pxefs_read): Removed.
16038 (grub_pxefs_close): Likewise.
16039 (grub_pxefs_fs_int): Likewise.
16040 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
16041 connection when we switch file.
16042 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
16043
a55d42e0 160442008-08-06 Robert Millan <rmh@aybabtu.com>
16045
16046 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
16047 `halt.mod'.
16048 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
16049 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
16050
16051 * kern/i386/halt.c: New file.
16052 * kern/i386/reboot.c: Likewise.
16053 * include/grub/i386/reboot.h: Likewise.
16054 * include/grub/i386/halt.h: Likewise.
16055
16056 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
16057 Include `<grub/cpu/halt.h>'.
16058 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
16059 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
16060
16061 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
16062 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
16063 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
16064 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
16065 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
16066 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
16067 from here ...
16068 * include/grub/i386/at_keyboard.h: ... to here.
16069
24371d26 160702008-08-05 Robert Millan <rmh@aybabtu.com>
16071
16072 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
16073 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
16074 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
16075 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16076 `kern/generic/millisleep.c'.
16077
16078 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
16079 instead of grub_get_rtc().
16080 (grub_tsc_init): Initialize `tsc_boot_time'.
16081
16082 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
16083 (grub_machine_init): Use grub_tsc_init() rather than
16084 installing an RTC-based handler via grub_install_get_time_ms().
16085
16086 * kern/i386/pit.c: New file.
16087 * include/grub/i386/pit.h: Likewise.
16088
9e7007b3 160892008-08-05 Bean <bean123ch@gmail.com>
16090
16091 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
16092
16093 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
16094 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
16095 (pxe_mod_SOURCES): New macro.
16096 (pxe_mod_CFLAGS): Likewise.
16097 (pxe_mod_LDFLAGS): Likewise.
16098 (pxecmd_mod_SOURCES): Likewise.
16099 (pxecmd_mod_CFLAGS): Likewise.
16100 (pxecmd_mod_LDFLAGS): Likewise.
16101
16102 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
16103 (grub_pxe_call): Likewise.
16104
16105 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
16106
16107 * commands/i386/pc/pxecmd.c: New file.
16108
9f0234cb 16109 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 16110
16111 * include/grub/i386/pc/pxe.h: Likewise.
16112
6977d49f 161132008-08-05 Bean <bean123ch@gmail.com>
16114
16115 * util/console.c (grub_console_cur_color): New variable.
16116 (grub_console_standard_color): Likewise.
16117 (grub_console_normal_color): Likewise.
16118 (grub_console_highlight_color): Likewise.
16119 (color_map): Likewise.
16120 (use_color): Likewise.
16121 (NUM_COLORS): New macro.
16122 (grub_ncurses_setcolorstate): Handle color properly.
16123 (grub_ncurses_setcolor): Don't change color here, just remember the
16124 settings, color will be set in grub_ncurses_setcolorstate.
16125 (grub_ncurses_getcolor): New function.
16126 (grub_ncurses_init): Initialize color pairs.
16127 (grub_ncurses_term): New member grub_ncurses_getcolor.
16128
9c2ff3ee 161292008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 16130
9c2ff3ee 16131 High resolution timer support. Implemented for x86 CPUs using TSC.
16132 Extracted generic grub_millisleep() so it's linked in only as needed.
16133 This requires a Pentium compatible CPU; if the RDTSC instruction is
16134 not supported, then it falls back on the generic grub_get_time_ms()
16135 implementation that uses the machine's RTC.
16136
16137 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
16138 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16139 `kern/generic/millisleep.c'.
16140
16141 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
16142 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
16143
16144 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
16145 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
16146
16147 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16148
16149 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16150 `kern/generic/millisleep.c'.
16151
16152 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16153
16154 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
16155
16156 * kern/generic/rtc_get_time_ms.c: New file.
16157
16158 * kern/generic/millisleep.c: New file.
337f5a1e 16159
9c2ff3ee 16160 * kern/misc.c: Don't include
16161 <kern/time.h> anymore.
16162 (grub_millisleep_generic): Removed.
16163
16164 * commands/sleep.c (grub_interruptible_millisleep): Uses
16165 grub_get_time_ms() instead of grub_get_rtc().
16166
16167 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
16168 function.
16169 (grub_cpu_is_cpuid_supported): New inline function.
16170 (grub_cpu_is_tsc_supported): New inline function.
16171 (grub_tsc_init): New function prototype.
16172 (grub_tsc_get_time_ms): New function prototype.
16173
16174 * kern/i386/tsc.c (grub_get_time_ms): New file.
16175
16176 * include/grub/time.h: Include <grub/types.h.
16177 (grub_millisleep_generic): Removed.
16178 (grub_get_time_ms): New prototype.
16179 (grub_install_get_time_ms): New prototype.
16180 (grub_rtc_get_time_ms): New prototype.
16181
16182 * kern/time.c (grub_get_time_ms): New function.
16183 (grub_install_get_time_ms): New function.
16184
16185 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
16186 <grub/time.h> anymore.
16187 (grub_millisleep): Removed.
16188 (grub_machine_init): Call grub_tsc_init.
16189
16190 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
16191 get_time_ms() implementation.
16192
16193 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
16194 (ieee1275_get_time_ms): New function.
16195 (grub_machine_init): Install get_time_ms() implementation.
16196
16197 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
16198 (grub_machine_init): Call grub_tsc_init().
16199 (grub_millisleep): Removed.
bf06a93f 16200
9c2ff3ee 16201 * kern/ieee1275/init.c (grub_millisleep): Removed.
16202 (grub_machine_init): Install ieee1275_get_time_ms()
16203 implementation.
16204 (ieee1275_get_time_ms): New function.
16205 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
16206 real work.
16207
9ec92aaf 162082008-08-05 Marco Gerards <marco@gnu.org>
16209
16210 * disk/ata.c: Include <grub/pci.h>.
16211 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
16212 (grub_ata_initialize): Rewritten.
16213 (grub_ata_device_initialize): New function.
16214
8d23f507 162152008-08-04 Pavel Roskin <proski@gnu.org>
16216
16217 * kern/main.c: Include grub/mm.h.
16218
5e15ee3d 162192008-08-04 Robert Millan <rmh@aybabtu.com>
16220
16221 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
16222 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
16223 corruption problem).
16224
a9053f8f 162252008-08-04 Robert Millan <rmh@aybabtu.com>
16226
16227 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
16228 warnings introduced in my last commit.
16229
dd19c7d7 162302008-08-03 Robert Millan <rmh@aybabtu.com>
16231
16232 Make PCI available on all i386 architectures.
16233
16234 * include/grub/i386/pc/pci.h: Move from here ...
16235 * include/grub/i386/pci.h: ... to here.
16236
16237 * include/grub/i386/pc/pci.h: Remove.
16238 * include/grub/i386/efi/pci.h: Remove.
16239 * include/grub/x86_64/efi/pci.h: Remove.
16240
16241 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
16242 `<grub/cpu/pci.h>'.
16243
16244 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
16245 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
16246 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
16247
16248 * conf/i386-ieee1275.rmk: Likewise.
16249
e14a6184 162502008-08-03 Robert Millan <rmh@aybabtu.com>
16251
16252 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
16253 (grub_console_setcursor): Make it possible to set cursor off.
16254
52768e37 162552008-08-03 Robert Millan <rmh@aybabtu.com>
16256
16257 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
16258 of modules instead of assuming which platform provides what.
16259 * util/update-grub.in: Likewise.
16260
2d52f57f 162612008-08-03 Robert Millan <rmh@aybabtu.com>
16262
16263 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
16264 instead of `grub_install_dos_part' to determine whether a drive needs
16265 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 16266 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 16267
2a5cd121 162682008-08-02 Robert Millan <rmh@aybabtu.com>
16269
16270 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
16271
93808428 162722008-08-02 Robert Millan <rmh@aybabtu.com>
16273
16274 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
16275 of informational grub_dprintf() calls.
16276
3bd0a12a 162772008-08-02 Robert Millan <rmh@aybabtu.com>
16278
16279 * disk/memdisk.c (memdisk_size): Don't initialize.
16280 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
16281
16282 * include/grub/i386/pc/kernel.h
16283 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
16284 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
16285 (grub_memdisk_image_size, grub_arch_memdisk_addr)
16286 (grub_arch_memdisk_size): Remove.
16287
16288 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
16289 field (was only used to transfer a constant). Add `type' field to
16290 support multiple module types.
16291 (grub_module_iterate): New function.
16292
16293 * kern/device.c (grub_device_open): Do not hide error messages
16294 when grub_disk_open() fails. Use grub_print_error() instead.
16295
16296 * kern/i386/pc/init.c (grub_arch_modules_addr)
16297 (grub_arch_memdisk_size): Remove functions.
16298 (grub_arch_modules_addr): Return the module address in high memory
16299 (now that it isn't copied anymore).
16300
16301 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
16302 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
16303 decompression routine (grub_total_module_size already includes that
16304 now). Don't copy modules back to low memory.
16305
16306 * kern/main.c: Include `<grub/mm.h>'.
16307 (grub_load_modules): Split out (and use) ...
16308 (grub_module_iterate): ... this function, which iterates through
16309 module objects and runs a hook.
16310 Comment out grub_mm_init_region() call, as it would cause non-ELF
16311 modules to be overwritten.
16312
16313 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
16314 the memdisk image in its own region, make it part of the module list.
16315 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
16316 (main): Parse --memdisk|-m option, and pass user-provided path as
16317 parameter to generate_image().
16318 (add_segments): Pass `memdisk_path' down to load_modules().
16319 (load_modules): Embed memdisk image in module section when requested.
16320 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
16321 `header.type' instead of `header.offset'.
16322
16323 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
16324 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
16325 (memdisk_mod_LDFLAGS): New variables.
16326 * conf/i386-coreboot.rmk: Likewise.
16327 * conf/i386-ieee1275.rmk: Likewise.
16328
a927cc73 163292008-08-02 Robert Millan <rmh@aybabtu.com>
16330
16331 * loader/i386/pc/multiboot.c (playground, forward_relocator)
16332 (backward_relocator): New variables. Used to allocate and relocate
16333 the payload, respectively.
16334 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 16335 address, install the appropriate relocator code in each bound of
a927cc73 16336 the payload, and set the entry point such that
16337 grub_multiboot_real_boot() will jump to one of them.
16338
16339 * kern/i386/loader.S (grub_multiboot_payload_size)
16340 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
16341 (grub_multiboot_payload_entry_offset): New variables.
16342 (grub_multiboot_real_boot): Set cpu context to what the relocator
16343 expects, and jump to the relocator instead of the payload.
16344
16345 * include/grub/i386/loader.h (grub_multiboot_payload_size)
16346 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
16347 (grub_multiboot_payload_entry_offset): Export.
16348
b15d8a0c 163492008-08-01 Bean <bean123ch@gmail.com>
16350
16351 * normal/menu_entry.c (editor_getline): Don't return the original
16352 string as result, as it will be released by lexer once it has done
16353 using it.
16354
cdfb3d22 163552008-08-01 Robert Millan <rmh@aybabtu.com>
16356
16357 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
16358 within menuentries, not before them.
16359 util/grub.d/10_hurd.in: Likewise.
16360
9175e93d 163612008-08-01 Bean <bean123ch@gmail.com>
16362
16363 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
16364 (bufio_mod_SOURCES): New macro.
16365 (bufio_mod_CFLAGS): Likewise.
16366 (bufio_mod_LDFLAGS): Likewise.
16367
16368 * include/grub/bufio.h: New file.
16369
16370 * io/bufio.c: Likewise.
16371
16372 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
16373 (grub_video_reader_png): Use grub_buffile_open to open file.
16374
16375 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
16376 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
16377
16378 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
16379 (grub_video_reader_tga): Use grub_buffile_open to open file.
16380
16381 * font/manager.c: Include <grub/bufio.h>.
16382 (add_font): Use grub_buffile_open to open file.
16383
3d8383e7 163842008-07-31 Robert Millan <rmh@aybabtu.com>
16385
16386 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
16387 ELF segments, use a macro for arbitrarily accessing any of them instead
16388 of preparing a pointer that allows access to one at a time.
16389 (grub_multiboot_load_elf64): Likewise.
16390
16e641b6 163912008-07-31 Bean <bean123ch@gmail.com>
16392
16393 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
16394 GRUB_KERNEL_MACHINE_DATA_END.
16395
59198b72 163962008-07-30 Robert Millan <rmh@aybabtu.com>
16397
16398 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
16399 Increase from 0x50 to 0x60.
16400 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
16401 use UUIDs to identify the root drive for them. If that's not
16402 possible, abort.
16403 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
16404 check, for cross-disk installs.
16405
ae88bca3 164062008-07-30 Robert Millan <rmh@aybabtu.com>
16407
16408 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
16409 is non-empty, use it to set the `prefix' environment variable instead
16410 of the usual approach.
16411 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
16412 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
16413 environment variable instead of dummy make_install_device().
16414
16415 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
16416 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 16417 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 16418
16419 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
16420 New variable reference.
16421 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
16422 New macro. Defines offset of `grub_prefix' within startup.S (relative
16423 to `start').
16424 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
16425 section within startup.S (relative to `start').
16426 * include/grub/i386/coreboot/kernel.h: Likewise.
16427
16428 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
16429 Overwrite grub_prefix with its contents, at the beginning of the
16430 first segment.
16431 (main): Understand -p|--prefix.
16432
14f41dd1 164332008-07-30 Robert Millan <rmh@aybabtu.com>
16434
16435 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
16436
4ca049a3 164372008-07-30 Robert Millan <rmh@aybabtu.com>
16438
16439 * term/i386/pc/vga_text.c (grub_console_cls): Use
16440 grub_console_gotoxy() to go back to beginning of the screen.
16441 Found by Patrick Georgi <patrick.georgi@coresystems.de>
16442
2921d337 164432008-07-29 Christian Franke <franke@computer.org>
16444
16445 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
16446 Add conversion of emulated mount points on Cygwin.
16447
b609876d 164482008-07-29 Christian Franke <franke@computer.org>
16449
16450 * util/update-grub.in: Add a check for admin
16451 group on Cygwin.
16452 Remove old `grub.cfg.new' before creation.
16453 Add `-f' to `mv' to handle the different filesystem
16454 semantics of Windows.
16455
e93e4679 164562008-07-29 Bean <bean123ch@gmail.com>
16457
16458 * normal/main.c (get_line): Fix buffer overflow bug.
16459
41694fd0 164602008-07-28 Robert Millan <rmh@aybabtu.com>
16461
16462 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
16463 (struct grub_apple_header): New struct. Describes the layout of
16464 the partmap header.
16465 (apple_partition_map_iterate): Check the header magic as well as the
16466 partition magic (which was already being checked).
16467
cfd0b4e6 164682008-07-28 Pavel Roskin <proski@gnu.org>
16469
16470 * genmk.rb: Add a warning to the beginning of the output that
16471 it's a generated file and should not be edited.
16472
93cce016 164732008-07-28 Robert Millan <rmh@aybabtu.com>
16474
16475 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
16476 with the same number are found, just use issue a warning with
16477 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 16478
cd1df915 164792008-07-27 Robert Millan <rmh@aybabtu.com>
16480
16481 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
16482 information.
16483
b70a8427 164842008-07-27 Bean <bean123ch@gmail.com>
16485
16486 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
16487 (grub_fat_find_dir): Ignore case when comparing filename.
16488
8f5e379f 164892008-07-27 Bean <bean123ch@gmail.com>
16490
16491 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
16492 smallino, as it's more descriptive, and i8count can be confused with
16493 the other field count.
16494 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
16495 inode type.
16496
a85cd5a0 164972008-07-27 Bean <bean123ch@gmail.com>
16498
16499 * commands/crc.c: New file.
16500
16501 * lib/crc.c: Likewise.
16502
16503 * include/grub/lib/crc.h: Likewise.
16504
16505 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
16506
16507 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
16508 (hexdump): Move this function to ...
16509
16510 * lib/hexdump.c: ... here.
16511
16512 * include/grub/hexdump.h: Renamed to ...
16513
16514 * include/grub/lib/hexdump.h: ... this.
16515
16516 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
16517
16518 * util/grub-editenv.c: Likewise.
16519
16520 * include/envblk.h: Renamed to ...
16521
16522 * include/lib/envblk.h: ... this.
16523
16524 * util/envblk.c: Renamed to ...
16525
16526 * lib/envblk.c: ... this.
16527
16528 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
16529 lib/hexdump.c.
16530 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
16531 (pkglib_MODULES): Add crc.mod.
16532 (hexdump_mod_SOURCES): Add lib/hexdump.c.
16533 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
16534 (crc_mod_SOURCES): New macro.
16535 (crc_mod_CFLAGS): Likewise.
16536 (crc_mod_LDFLAGS): Likewise.
16537
16538 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
16539
16540 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16541
16542 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16543
16544 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16545
16546 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16547
c298def0 165482008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 16549
16550 * commands/help.c: Include <grub/term.h>.
16551 (TERM_WIDTH): Removed. Updated all users.
16552
cc349fb3 165532008-07-27 Pavel Roskin <proski@gnu.org>
16554
16555 * util/getroot.c (find_root_device): Rephrase a comment to avoid
16556 spurious warnings about a comment within a comment.
16557
9051607e 165582008-07-25 Robert Millan <rmh@aybabtu.com>
16559
16560 * util/getroot.c (find_root_device): Skip devices that match
16561 /dev/dm-[0-9]. This lets the real device be found for any type of
16562 abstraction (LVM, EVMS, RAID..).
16563 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
16564 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
16565 device is found first, find_root_device() will now skip it.
16566
01453bfc 165672008-07-24 Pavel Roskin <proski@gnu.org>
16568
16569 * include/grub/types.h: Use __builtin_bswap32() and
16570 __builtin_bswap64() with gcc 4.3 and newer.
16571
6af9849f 165722008-07-24 Christian Franke <franke@computer.org>
16573
3a0fa256 16574 * util/i386/pc/grub-install.in: If `--debug' is specified,
16575 pass `--verbose' to grub-setup.
16576 Abort script if make_system_path_relative_to_its_root() fails.
16577
7810e747 165782008-07-24 Bean <bean123ch@gmail.com>
16579
16580 * configure.ac: Fixed a bug caused by the previous cygwin patch,
16581 variable `target_platform' should be `platform'.
16582
42290e17 165832008-07-24 Bean <bean123ch@gmail.com>
16584
51cc5193 16585 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 16586 (grub_png_init_fixed_block): New function.
16587 (grub_png_decode_image_data): Handle fixed huffman code compression.
16588
2a8a80e4 165892008-07-24 Bean <bean123ch@gmail.com>
16590
16591 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
16592 (grub_pe2elf_SOURCES): New macro.
16593 (CLEANFILES): Add grub-pe2elf.
16594
16595 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
16596 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
16597 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
16598 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
16599 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
16600 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
16601 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
16602 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
16603 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
16604 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
16605 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
16606 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
16607 (GRUB_PE32_DT_FUNCTION): Likewise.
16608 (GRUB_PE32_REL_I386_DIR32): Likewise.
16609 (GRUB_PE32_REL_I386_REL32): Likewise.
16610 (grub_pe32_symbol): New structure.
16611 (grub_pe32_reloc): Likewise.
16612
16613 * util/grub-pe2elf.c: New file.
16614
16615 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
16616 start symbol in non pc platform.
16617
16618 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
16619
16620 The following patches are from Christian Franke.
16621
16622 * include/grub/dl.h: Remove .previous, gas supports this only
16623 for ELF format.
16624
16625 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
16626 Remove .type, gas supports this only for ELF format.
16627
16628 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
16629 nullbytes in symbol table. This fixes an infinite loop if table is
16630 zero filled.
16631
16632 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
16633 TARGET_IMG_LDFLAGS and EXEEXT.
16634
16635 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
16636 TARGET_IMG_LDFLAGS_AC.
16637 (grub_CHECK_STACK_ARG_PROBE): New function.
16638
16639 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
16640
16641 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
16642
16643 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
16644 to set TARGET_IMG_LD* accordingly.
16645 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
16646 Add call to grub_CHECK_STACK_ARG_PROBE.
16647 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
16648
16649 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
16650
16651 * genmk.rb: Add EXEEXT to CLEANFILES.
16652
12ccdb75 166532008-07-23 Robert Millan <rmh@aybabtu.com>
16654
16655 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
16656 define the codes for arrows and lines used for the menu).
16657 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
16658 as well.
16659
16660 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
16661 fonts, because the latter are too slow.
16662
18eeaf04 166632008-07-21 Bean <bean123ch@gmail.com>
16664
16665 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
16666 a20. Run keyboard test last, as it will cause macbook to halt.
16667
b095e2ad 166682008-07-18 Pavel Roskin <proski@gnu.org>
16669
16670 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
16671 load foreign architecture modules correctly anyway. Keep
16672 support for loading host architecture modules, whether we
16673 compile them or not.
16674
737feb35 166752008-07-17 Pavel Roskin <proski@gnu.org>
16676
3f4ce737 16677 * configure.ac: Use -m32 or -m64 regardless of whether we had to
16678 change target_cpu. The compiler default can mismatch target_cpu
16679 in any case.
16680
4ad2d049 16681 * disk/efi/efidisk.c: Fix format warnings on x86_64.
16682 * kern/efi/efi.c: Likewise.
16683
f6130a12 16684 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
16685 target compiler is functional.
16686 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
16687 are set up.
16688
58393a2d 16689 * configure.ac: Default to efi platform for x86_64-apple. Allow
16690 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
16691 adjustments from the rest, only do them if target is not
16692 explicitly given. Merge other adjustments with the final sanity
16693 check. Remove an extraneous check for supported CPU. Be
16694 specific which CPU and which platform is not supported.
16695
737feb35 16696 * configure.ac: Default to pc platform for x86_64.
16697
546f966a 166982008-07-17 Robert Millan <rmh@aybabtu.com>
16699
16700 Partial LinuxBIOS -> Coreboot rename.
16701
16702 * conf/i386-linuxbios.rmk: Renamed to ...
16703 * conf/i386-coreboot.rmk: ... this.
16704 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
16705 * configure.ac: Accept "coreboot" as input platform (but maintain
16706 compatibility with "linuxbios").
16707 * include/grub/i386/linuxbios: Renamed to ...
16708 * include/grub/i386/coreboot: ... this.
16709
20011694 167102008-07-17 Bean <bean123ch@gmail.com>
16711
16712 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 16713 (appleldr_mod_SOURCE): New variable.
20011694 16714 (appleldr_mod_CFLAGS): Likewise.
16715 (appleldr_mod_LDFLAGS): Likewise.
16716 (pci_mod_SOURCES): Likewise.
16717 (pci_mod_CFLAGS): Likewise.
16718 (pci_mod_LDFLAGS): Likewise.
16719 (lspci_mod_SOURCES): Likewise.
16720 (lspci_mod_CFLAGS): Likewise.
16721 (lspci_mod_LDFLAGS): Likewise.
16722
16723 * conf/x86_64-efi.rmk: New file.
16724
16725 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
16726 macro.
16727 (grub_efidisk_write): Likewise.
16728
16729 * include/efi/api.h (efi_call_0): New macro.
16730 (efi_call_1): Likewise.
16731 (efi_call_2): Likewise.
16732 (efi_call_3): Likewise.
16733 (efi_call_4): Likewise.
16734 (efi_call_5): Likewise.
16735 (efi_call_6): Likewise.
16736
16737 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
16738 grub_rescue_cmd_chainloader.
16739
16740 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
16741 (grub_pe32_optional_header): Change some fields based on i386 or
16742 x86_64 platform.
16743 (GRUB_PE32_PE32_MAGIC): Likewise.
16744
16745 * include/grub/efi/uga_draw.h: New file.
16746
16747 * include/grub/elf.h (STN_ABS): New constant.
16748 (R_X86_64_NONE): Relocation constant for x86_64.
16749 (R_X86_64_64): Likewise.
16750 (R_X86_64_PC32): Likewise.
16751 (R_X86_64_GOT32): Likewise.
16752 (R_X86_64_PLT32): Likewise.
16753 (R_X86_64_COPY): Likewise.
16754 (R_X86_64_GLOB_DAT): Likewise.
16755 (R_X86_64_JUMP_SLOT): Likewise.
16756 (R_X86_64_RELATIVE): Likewise.
16757 (R_X86_64_GOTPCREL): Likewise.
16758 (R_X86_64_32): Likewise.
16759 (R_X86_64_32S): Likewise.
16760 (R_X86_64_16): Likewise.
16761 (R_X86_64_PC16): Likewise.
16762 (R_X86_64_8): Likewise.
16763 (R_X86_64_PC8): Likewise.
16764
16765 * include/grub/i386/efi/pci.h: New file.
16766
16767 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
16768 Change it value based on platform.
16769 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
16770 (GRUB_E820_RAM): Likewise.
16771 (GRUB_E820_RESERVED): Likewise.
16772 (GRUB_E820_ACPI): Likewise.
16773 (GRUB_E820_NVS): Likewise.
16774 (GRUB_E820_EXEC_CODE): Likewise.
16775 (GRUB_E820_MAX_ENTRY): Likewise.
16776 (grub_e820_mmap): New structure.
16777 (linux_kernel_header): Change the efi field according to different
16778 kernel version, also field from linux_kernel_header.
16779
16780 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
16781
16782 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
16783 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
16784 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
16785 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
16786 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
16787 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
16788 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
16789 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
16790 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
16791 (GRUB_PCI_ADDR_IO_MASK): Likewise.
16792
16793 * include/grub/x86_64/efi/kernel.h: New file.
16794
16795 * include/grub/x86_64/efi/loader.h: Likewise.
16796
16797 * include/grub/x86_64/efi/machine.h: Likewise.
16798
16799 * include/grub/x86_64/efi/pci.h: Likewise.
16800
16801 * include/grub/x86_64/efi/time.h: Likewise.
16802
16803 * include/grub/x86_64/linux.h: Likewise.
16804
16805 * include/grub/x86_64/setjmp.h: Likewise.
16806
16807 * include/grub/x86_64/time.h: Likewise.
16808
16809 * include/grub/x86_64/types.h: Likewise.
16810
16811 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
16812 GRUB_TARGET_SIZEOF_VOID_P.
16813
16814 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
16815 (grub_efi_locate_handle): Likewise.
16816 (grub_efi_open_protocol): Likewise.
16817 (grub_efi_set_text_mode): Likewise.
16818 (grub_efi_stall): Likewise.
16819 (grub_exit): Likewise.
16820 (grub_reboot): Likewise.
16821 (grub_halt): Likewise.
16822 (grub_efi_exit_boot_services): Likewise.
16823 (grub_get_rtc): Likewise.
16824
16825 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
16826 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
16827 (grub_efi_allocate_pages): Wrap efi calls.
16828 (grub_efi_free_pages): Wrap efi calls.
16829 (grub_efi_get_memory_map): Wrap efi calls.
16830
16831 * kern/x86_64/dl.c: New file.
16832
16833 * kern/x86_64/efi/callwrap.S: Likewise.
16834
16835 * kern/x86_64/efi/startup.S: Likewise.
16836
16837 * loader/efi/appleloader.c: Likewise.
16838
16839 * loader/efi/chainloader.c (cmdline): New variable.
16840 (grub_chainloader_unload): Wrap efi calls.
16841 (grub_chainloader_boot): Likewise.
16842 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
16843 command line.
16844
16845 * loader/efi/chainloader_normal.c (chainloader_command):
16846 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
16847 command line.
16848
16849 * loader/i386/efi/linux.c (allocate_pages): Change allocation
16850 method.
16851 (grub_e820_add_region): New function.
16852 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
16853 booting.
16854 (grub_find_video_card): New function.
16855 (grub_linux_setup_video): New function.
16856 (grub_rescue_cmd_linux): Probe for video information.
16857
16858 * normal/x86_64/setjmp.S: New file.
16859
16860 * term/efi/console.c (map_char): New function.
16861 (grub_console_putchar): Map unicode char.
16862 (grub_console_checkkey): Wrap efi calls.
16863 (grub_console_getkey): Likewise.
16864 (grub_console_getwh): Likewise.
16865 (grub_console_gotoxy): Likewise.
16866 (grub_console_cls): Likewise.
16867 (grub_console_setcolorstate): Likewise.
16868 (grub_console_setcursor): Likewise.
16869
16870 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
16871
59652a20 168722008-07-16 Pavel Roskin <proski@gnu.org>
16873
ef294055 16874 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
16875 format strings.
16876
59652a20 16877 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
16878 pointer, not an integer. This fixes a warning and prevents
16879 precision loss on 64-bit systems.
16880 (relocate_addresses): Remove unneeded cast.
16881
afc3b5d7 168822008-07-15 Pavel Roskin <proski@gnu.org>
16883
506b2b3e 16884 * kern/i386/ieee1275/init.c: Include grub/cache.h.
16885
62ead89c 16886 * term/ieee1275/ofconsole.c: Disable code unused on i386.
16887
c4cd51d7 16888 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
16889 Fix comparison between signed and unsigned.
16890
0d3d8f28 16891 * include/grub/i386/ieee1275/console.h: Declare
16892 grub_console_init() and grub_console_fini().
16893
8804b286 16894 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
16895 It's empty and unused.
16896
ee01cf35 16897 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
16898 beginning to avoid warnings with some compilers.
16899
afc3b5d7 16900 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
16901 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
16902
e4e8eaa5 169032008-07-14 Pavel Roskin <proski@gnu.org>
16904
407aceb4 16905 * kern/env.c (grub_register_variable_hook): Don't copy empty
16906 string, it leaks memory. Pass "" to grub_env_set(), it should
16907 handle constant strings.
16908
e4e8eaa5 16909 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
16910 * commands/cmp.c (grub_cmd_cmp): Likewise.
16911 * kern/dl.c (grub_dl_flush_cache): Likewise.
16912 (grub_dl_load_core): Likewise.
16913 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
16914 (grub_elf64_load_phdrs): Likewise.
16915
d4e2dad3 169162008-07-13 Pavel Roskin <proski@gnu.org>
16917
16918 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
16919 between signed and unsigned.
16920 (LzmaEnc_Finish): Fix warning about an unused parameter.
16921
aa24b516 169222008-07-13 Bean <bean123ch@gmail.com>
16923
16924 * Makefile.in (enable_lzo): New rule.
16925
16926 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
16927
16928 * configure.ac (ENABLE_LZO): New option --enable-lzo.
16929
16930 * boot/i386/pc/lnxboot.S: #include <config.h>.
16931
16932 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 16933 its value according to the compression algorithm used, lzo or lzma.
aa24b516 16934
16935 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
16936 compression algorithm according to configure macro.
16937
16938 * kern/i386/pc/startup.S (codestart): Likewise.
16939
16940 * kern/i386/pc/lzma_decode.S: New file.
16941
16942 * include/grub/lib/LzFind.h: Likewise.
16943
16944 * include/grub/lib/LzHash.h: Likewise.
16945
16946 * include/grub/lib/LzmaDec.h: Likewise.
16947
16948 * include/grub/lib/LzmaEnc.h: Likewise.
16949
16950 * include/grub/lib/LzmaTypes.h: Likewise.
16951
16952 * lib/LzFind.c: Likewise.
16953
16954 * lib/LzmaDec.c: Likewise.
16955
16956 * lib/LzmaEnc.c: Likewise.
16957
4ae821ac 169582008-07-13 Bean <bean123ch@gmail.com>
16959
16960 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
16961 (grub_ext4_extent_header): New structure.
16962 (grub_ext4_extent): Likewise.
16963 (grub_ext4_extent_idx): Likewise.
16964 (grub_ext4_find_leaf): New function.
16965 (grub_ext2_read_block): Handle extents.
16966
9a745147 169672008-07-12 Robert Millan <rmh@aybabtu.com>
16968
16969 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
16970
d49a4cf6 169712008-07-11 Robert Millan <rmh@aybabtu.com>
16972
16973 * util/grub.d/40_custom.in: New file. Example on how to add custom
16974 entries to /etc/grub.d.
16975 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
16976 40_custom (implicitly, by merging all the grub.d rules).
16977
947414b4 169782008-07-11 Pavel Roskin <proski@gnu.org>
16979
0059cf6f 16980 * commands/read.c (grub_getline): Fix invalid memory access.
16981 Don't add newline to the variable value.
16982
947414b4 16983 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
16984 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
16985 (serial_hw_get_port): Check validity of the port number.
16986 (grub_cmd_serial): Check return value of serial_hw_get_port().
16987
62a02d00 169882008-07-07 Pavel Roskin <proski@gnu.org>
16989
16990 * boot/i386/pc/diskboot.S (notification_string): Replace
16991 "Loading kernel" with just "loading". This is shorter, less
16992 confusing and saves a few bytes for possible future changes.
16993
3e5581b0 169942008-07-05 Pavel Roskin <proski@gnu.org>
16995
ea387a48 16996 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
16997 size for ATAPI devices, they are undefined. Output sector
16998 number in decimal form.
16999
3e5581b0 17000 * disk/ata.c: Use named constants for status bits.
17001
fdecb8fd 170022008-07-04 Pavel Roskin <proski@gnu.org>
17003
bcd35b90 17004 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
17005 grub_addr_t before casting it to the void pointer to fix a
17006 warning. Non-addressable regions are discarded earlier.
17007 (grub_arch_modules_addr): Cast _end to grub_addr_t.
17008 * kern/i386/linuxbios/table.c: Include grub/misc.h.
17009 (check_signature): Don't shadow table_header.
17010 (grub_linuxbios_table_iterate): Cast numeric constants to
17011 grub_linuxbios_table_header_t.
17012 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
17013 grub_stop().
17014
af58ab3d 17015 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
17016 prevent warnings.
17017
1759aa57 17018 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
17019 pointer, which can cause warnings. Support 64-bit addresses.
17020
fdecb8fd 17021 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
17022 of sizeof(long). This fixes PowerPC image generation on x86_64.
17023
8516d2a8 170242008-07-04 Robert Millan <rmh@aybabtu.com>
17025
17026 This fixes a performance issue when pc & gpt partmap iterators
17027 didn't abort iteration even after our hook found what it was
fe987087 17028 looking for (often causing expensive probes of non-existent drives).
8516d2a8 17029
17030 Some callers relied on previous buggy behaviour, since they would
34c44600 17031 raise an error when their own hooks caused early abortion of its
8516d2a8 17032 iteration.
17033
17034 * kern/device.c (grub_device_open): Improve error message.
17035 * disk/lvm.c (grub_lvm_open): Likewise.
17036 * disk/raid.c (grub_raid_open): Likewise.
17037
17038 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
17039 when hook requests it, independently of grub_errno.
17040 (pc_partition_map_probe): Do not fail when find_func() caused
17041 early abortion of pc_partition_map_iterate().
17042
17043 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
17044 when hook requests it, independently of grub_errno.
17045 (gpt_partition_map_probe): Do not fail when find_func() caused
17046 early abortion of gpt_partition_map_iterate().
17047
17048 * kern/partition.c (grub_partition_iterate): Abort parent iteration
17049 when hook requests it, independently of grub_errno. Do not fail when
17050 part_map_iterate_hook() caused early abortion of p->iterate().
17051
17052 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
17053 when grub_partition_iterate() returned with non-zero.
17054
277d0de9 170552008-07-03 Pavel Roskin <proski@gnu.org>
17056
17057 * disk/ata.c (grub_ata_pio_write): Check status before writing,
17058 like we do in grub_ata_pio_read().
17059 (grub_ata_readwrite): Always write individual sectors. Fix the
17060 sector count for the remainder.
17061 (grub_ata_write): Enable writing to ATA devices. Correctly
17062 report error for ATAPI devices.
17063
d4c9b428 170642008-07-02 Pavel Roskin <proski@gnu.org>
17065
e43fc690 17066 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
17067 warning.
17068
f707af42 17069 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
17070 for every read sector, we already increment it for the whole
17071 batch. This fixes reading more than 256 sectors at once.
17072
11e16b15 17073 * util/grub-editenv.c (cmd_info): Cast argument to long
17074 explicitly. ptrdiff_t reduces to int on i386.
17075
cbabfdd4 17076 * util/grub-editenv.c (main): Be specific which parameter is
17077 missing.
17078
b8fbce0a 17079 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
17080 (memdisk): Make memdisk_orig_addr a pointer.
17081
c9c8e606 17082 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
17083 for file offsets, use grub_off_t instead. Fix printf format
17084 warnings.
17085
ca62e598 17086 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
17087 there. Real unexpected warnings should not drown in the noise
17088 about known problems.
17089
ce8d1766 17090 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
17091 grub_disk_addr_t for memory addresses.
17092
00c7a56a 17093 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
17094 explicitly to fix a warning.
17095
08d3ef09 17096 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
17097
cb71ba20 17098 * Makefile.in (MODULE_LDFLAGS): New variable.
17099 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
17100 the linker accepts --build-id=none.
17101 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
17102 MODULE_LDFLAGS.
17103 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
17104
d4c9b428 17105 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
17106 those in Linux XFS code. Provide a way to access 64-bit parent
17107 inode.
17108 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
17109 the end of struct grub_xfs_dir_header.
17110
d4156eee 171112008-07-02 Bean <bean123ch@gmail.com>
17112
17113 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
17114 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
17115 and GRUB_IEEE1275_FLAG_NO_ANSI.
17116
17117 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
17118 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
17119 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
17120
17121 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
17122 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
17123
17124 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
17125 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
17126
17127 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
17128 esc sequence on non ANSI terminal.
17129 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
17130
17131 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
17132 beginning of file.
17133
2270f77b 171342008-07-02 Bean <bean123ch@gmail.com>
17135
17136 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
17137 (grub_editenv_SOURCES): New variable.
17138 (pkglib_MODULES): Add loadenv.mod.
17139 (loadenv_mod_SOURCES): New variable.
17140 (loadenv_mod_CFLAGS): Likewise.
17141 (loadenv_mod_LDFLAGS): Likewise.
17142
17143 * include/grub/envblk.h: New file.
17144
17145 * util/envblk.c: New file.
17146
17147 * util/grub-editenv.c: New file.
17148
17149 * commands/loadenv.c: New file.
17150
0e9e51ec 171512008-07-01 Pavel Roskin <proski@gnu.org>
17152
d89b7634 17153 * include/multiboot2.h (struct multiboot_tag_module): Use char,
17154 not unsigned char. This fixes warnings and is consistent with
17155 other tags.
17156
bf1835b1 17157 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
17158
8222a04b 17159 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
17160
6a42d99d 17161 * term/tparm.c (analyze): Always set *popcount.
17162
10b159d1 17163 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
17164 cast to fix a warning.
17165
b8789f6c 17166 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
17167 cast to suppress a warning.
17168
29d7e38a 17169 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
17170 grub_fshelp_read_file() expects.
17171
f341f669 17172 * fs/fat.c: Fix UUID calculation on big-endian systems. We
17173 write uuid as a 32-bit value in CPU byte order, so declare and
17174 use it as such.
17175
0e9e51ec 17176 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
17177 long if the format specifier expects it.
17178 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
17179 * partmap/pc.c (pc_partition_map_iterate): Likewise.
17180 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
17181 long to fix a warning.
17182 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
17183 grub_dprintf() arguments to fix warnings.
17184
3aefa857 171852008-06-30 Pavel Roskin <proski@gnu.org>
17186
56c7668b 17187 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
17188 install_bsd_part immediately before core.img is embedded or
17189 modified on disk. This fixes core.img verification if core.img
17190 cannot be embedded.
17191
3aefa857 17192 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
17193 core_path to calculate the blocklist.
17194 Patch from Javier Martín <lordhabbit@gmail.com>
17195
5444088d 171962008-06-29 Robert Millan <rmh@aybabtu.com>
17197
17198 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
17199 block to disk block.
17200 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
17201 Patch from Niels Böhm <bitbucket@arcor.de>
17202
674835c8 172032008-06-29 Robert Millan <rmh@aybabtu.com>
17204
17205 * util/update-grub_lib.in (font_path): Search for fonts in
17206 /boot/grub first, which is more likely to be readable (we aren't
17207 deciding where fonts live, just looking for them).
17208
f527dbc8 172092008-06-26 Pavel Roskin <proski@gnu.org>
17210
6c2d8df6 17211 * util/biosdisk.c (read_device_map): Don't leave dead map
17212 entries for devices failing stat() check.
17213
f527dbc8 17214 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
17215 core_path_dev for the core.img path on the target device.
17216
aebe3d13 172172008-06-26 Robert Millan <rmh@aybabtu.com>
17218
17219 * disk/fs_uuid.c: New file.
17220 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
17221 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
17222 (fs_uuid_mod_LDFLAGS): New variables.
17223 * include/grub/disk.h (grub_disk_dev_id): Add
17224 `GRUB_DISK_DEVICE_UUID_ID'.
17225 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
17226 implement iterate().
17227
37aaf354 172282008-06-26 Robert Millan <rmh@aybabtu.com>
17229
17230 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
17231 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
17232 Linux image includes no initrd.
17233
25ff262a 172342008-06-21 Javier Martín <lordhabbit@gmail.com>
17235
17236 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
17237 call to resolve the core image location that effectively appended the
17238 name twice.
17239
76a2bd44 172402008-06-21 Robert Millan <rmh@aybabtu.com>
17241
17242 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
17243 call from here ...
17244
17245 * util/grub.d/10_hurd.in: ... to here ...
17246 * util/grub.d/10_linux.in: ... and here.
17247
650e1c79 172482008-06-19 Robert Millan <rmh@aybabtu.com>
17249
fe987087 17250 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 17251 after it has been set by grub_machine_set_prefix().
17252
6ce63911 172532008-06-19 Robert Millan <rmh@aybabtu.com>
17254
17255 * commands/search.c (search_label, search_fs_uuid, search_file): Print
17256 search result when not saving to variable, not the other way around.
17257 When saving to variable, abort iteration as soon as a match is found.
17258
73940cec 172592008-06-19 Robert Millan <rmh@aybabtu.com>
17260
17261 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
17262 check for partition that provides /boot/grub. Its logic is flawed,
17263 as it prevents prepare_grub_to_access_device() from being called
17264 multiple times.
17265
3c62a39d 172662008-06-19 Robert Millan <rmh@aybabtu.com>
17267
17268 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
17269 "insmod" command directly when abstraction modules are needed,
fe987087 17270 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 17271 since it had already been processed).
17272
47395a42 172732008-06-19 Pavel Roskin <proski@gnu.org>
17274
17275 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
17276 changed. This is needed in case GRUB_LIBDIR changes.
17277 * conf/i386-ieee1275.rmk: Likewise.
17278 * conf/i386-linuxbios.rmk: Likewise.
17279 * conf/i386-pc.rmk: Likewise.
17280 * conf/powerpc-ieee1275.rmk: Likewise.
17281
a145ac2d 172822008-06-18 Pavel Roskin <proski@gnu.org>
17283
17284 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
17285 kernel_elf_symlist.c to symlist.c for consistency with other
17286 architectures. Update all users.
17287 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17288
7847c51e 172892008-06-18 Robert Millan <rmh@aybabtu.com>
17290
17291 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
17292 it in prefix.
17293
17294 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
17295 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
17296 a RAID device, run setup() for all members independently on whether
17297 LVM abstraction is being used.
17298 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
17299 If grub-mkimage has set `*install_dos_part == -2', don't override this
17300 value.
17301 Perform *install_dos_part adjustments independently on whether
17302 we're embedding or not.
17303 Clarify error message when image is too big for embedding.
17304 Remove duplicate *install_dos_part stanza.
17305
b23e5644 173062008-06-17 Robert Millan <rmh@aybabtu.com>
17307
17308 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
17309 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
17310 variables.
17311 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
17312 values in grub_ofconsole_normal_color and
17313 grub_ofconsole_highlight_color (they're not directly related to
17314 background and foreground).
17315 (grub_ofconsole_setcolorstate): Extract background and foreground
17316 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
17317
0aac2f79 173182008-06-17 Robert Millan <rmh@aybabtu.com>
17319
17320 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
17321 /boot/grub for the check in last commit, not /boot (they could be
17322 different partitions).
17323
3cca7ef3 173242008-06-16 Robert Millan <rmh@aybabtu.com>
17325
17326 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
17327 asked to setup access for the same partition that provides /boot,
17328 don't bother using UUIDs since our root already has the value we
17329 want.
17330
347396d8 173312008-06-16 Robert Millan <rmh@aybabtu.com>
17332
17333 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
17334 I2O devices.
17335 Patch from Sven Mueller <sven@debian.org>.
17336
991477f8 173372008-06-16 Robert Millan <rmh@aybabtu.com>
17338
17339 * util/update-grub.in: Check for $EUID instead of $UID.
17340 Reported by Vincent Zweije.
17341
d31a32a1 173422008-06-16 Bean <bean123ch@gmail.com>
17343
fe987087 17344 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 17345 (grub_ext2_read_block): Likewise.
17346 (grub_ext2_read_inode): Likewise.
17347 (grub_ext2_mount): Likewise.
17348 (grub_ext2_close): Likewise.
17349 (grub_ext3_get_journal): Removed.
17350
fe987087 17351 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 17352 (grub_reiserfs_read_symlink): Likewise.
17353 (grub_reiserfs_mount): Likewise.
17354 (grub_reiserfs_open): Likewise.
17355 (grub_reiserfs_read): Likewise.
17356 (grub_reiserfs_close): Likewise.
17357 (grub_reiserfs_get_journal): Removed.
17358
17359 * fs/fshelp.c (grub_fshelp_read): Removed.
17360 (grub_fshelp_map_block): Likewise.
17361
17362 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
17363 (grub_fshelp_journal): Likewise.
17364 (grub_fshelp_read): Likewise.
17365 (grub_fshelp_map_block): Likewise.
17366
3540a760 173672008-06-16 Pavel Roskin <proski@gnu.org>
17368
17369 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
17370 floating point anymore.
17371 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
17372
95614c84 173732008-06-15 Pavel Roskin <proski@gnu.org>
17374
17375 * commands/ls.c (grub_ls_list_files): Use integer calculations
17376 for human readable format, avoid floating point use.
17377 * kern/misc.c (grub_ftoa): Remove.
17378 (grub_vsprintf): Remove floating point support.
17379
50465dd6 173802008-06-15 Robert Millan <rmh@aybabtu.com>
17381
fe6b695a 17382 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 17383 devices.
17384 Reported by Max Vozeler.
17385
a9207284 173862008-06-15 Robert Millan <rmh@aybabtu.com>
17387
17388 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
17389 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
17390 skipped later.
17391 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
17392 the beginning of the prefix.
17393
17394 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
17395 It is assumed that if we have a memdisk, grub-mkimage has set
17396 grub_prefix to include the "(memdisk)" drive in it.
17397
a7cbd45a 173982008-06-15 Robert Millan <rmh@aybabtu.com>
17399
17400 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
17401 Initialize keyboard controller after registering the terminal, so that
17402 grub_printf() can be called from grub_keyboard_controller_init().
17403
21cf716a 174042008-06-15 Robert Millan <rmh@aybabtu.com>
17405
17406 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
17407 extent-btree which is written as big endian on disk.
17408 Reported by Alain Greppin <al@chilibi.org>.
17409
23a64d8e 174102008-06-14 Robert Millan <rmh@aybabtu.com>
17411
17412 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
17413 * util/i386/pc/grub-install.in (modules): Likewise.
17414
d687651c 174152008-06-13 Pavel Roskin <proski@gnu.org>
17416
17417 * commands/ls.c (grub_ls_list_files): Fix format warnings.
17418
dfe9ddd4 174192008-06-13 Bean <bean123ch@gmail.com>
17420
17421 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
17422
17423 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
17424
17425 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
17426 to indicate sparse block.
17427
16ae7781 174282008-06-12 Pavel Roskin <proski@gnu.org>
17429
e6d1a308 17430 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
17431 number, grub_fshelp_read() does it for us.
17432
16ae7781 17433 * fs/fshelp.c (grub_fshelp_read): New function. Implement
17434 linear disk read with journal translation.
17435 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
17436 * include/grub/fshelp.h: Declare grub_fshelp_read().
17437
40fd3a2b 174382008-06-09 Pavel Roskin <proski@gnu.org>
17439
17440 * fs/minix.c (grub_minix_mount): Handle error reading
17441 superblock.
17442
f5679726 174432008-06-08 Robert Millan <rmh@aybabtu.com>
17444
17445 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
17446 don't append the RAID prefix afterwards.
17447 Reported by Clint Adams.
17448
ce525529 174492008-06-08 Robert Millan <rmh@aybabtu.com>
17450
17451 Based on description from Pavel:
17452 * kern/disk.c (grub_disk_check_range): Rename to ...
17453 (grub_disk_adjust_range): ... this. Add a comment explaining the
17454 tasks performed by this function.
17455
ad4936a0 174562008-06-08 Robert Millan <rmh@aybabtu.com>
17457
17458 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
17459 `num_serial' (for consistency with other variables).
17460 (struct grub_ntfs_data): Add `uuid' member.
17461 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
17462 (grub_ntfs_uuid): New function.
17463 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
17464
dc20b0f9 174652008-06-07 Pavel Roskin <proski@gnu.org>
17466
17467 * util/biosdisk.c (open_device): Revert last change to the
17468 function, it broke installation. The sector needs to be
17469 different dependent on which device is opened.
17470
c5e3cfba 174712008-06-06 Robert Millan <rmh@aybabtu.com>
17472
17473 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
17474 rest of GRUB, and breakage doesn't happen if its value were modified.
17475
17476 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17477 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
17478 a constant (same value).
17479 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
17480 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
17481
26a1f8c4 174822008-06-06 Robert Millan <rmh@aybabtu.com>
17483
17484 * util/biosdisk.c (open_device): Do not modify sector offset when
17485 accessing a partition. kern/disk.c already handles this for us.
17486
25d6b327 174872008-06-06 Robert Millan <rmh@aybabtu.com>
17488
17489 * util/grub-emu.c (grub_machine_init): Move code in this function from
17490 here ...
17491 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
17492 segfault in case grub_printf() is called).
17493
17494 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
17495 grub_probe. Update all users not to explicitly add it again.
17496 (grub_device): New variable; contains corresponding device for grubdir.
17497 (fs_module, partmap_module, devabstraction_module): Pass
17498 `--device ${grub_device}' to grub_probe to avoid traversing /dev
17499 every time.
17500
9ece62fb 175012008-06-05 Robert Millan <rmh@aybabtu.com>
17502
17503 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
17504 is found, print it (same layout as with labels).
17505
1ad36d37 175062008-06-04 Robert Millan <rmh@aybabtu.com>
17507
17508 * util/biosdisk.c (get_drive): Rename to ...
17509 (find_grub_drive): ... this. Update all users.
17510
17511 (get_os_disk): Rename to ...
17512 (convert_system_partition_to_system_disk): ... this. Update all users.
17513
17514 (find_drive): Rename to ...
17515 (find_system_device): ... this. Update all users.
17516
e6a30859 175172008-06-04 Robert Millan <rmh@aybabtu.com>
17518
17519 * util/biosdisk.c (get_os_disk): Handle IDA devices.
17520 * util/grub-mkdevicemap.c (get_mmc_disk_name)
17521 (make_device_map): Likewise.
17522
00c108a4 175232008-06-01 Robert Millan <rmh@aybabtu.com>
17524
17525 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
17526 before dereferencing it.
17527
17528 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
17529 union with fat12/fat16-specific ones. Add some new fields, including
17530 `num_serial' for both versions.
17531 (struct grub_fat_data): Add `uuid' member.
17532 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
17533 names. Initialize `data->uuid' using `num_serial'.
17534 (grub_fat_uuid): New function.
17535 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
17536
17537 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
17538 (grub_reiserfs_uuid): New function.
17539 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
17540 member.
17541
17542 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
17543 (grub_xfs_uuid): New function.
17544 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
17545
1385c5bb 175462008-06-01 Robert Millan <rmh@aybabtu.com>
17547
17548 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
17549 code that is backward compatible with pre-uuid search command.
17550
c682dfd7 175512008-05-31 Robert Millan <rmh@aybabtu.com>
17552
17553 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
17554 floppies after everything else, to ensure floppy drive isn't accessed
17555 unnecessarily (patch from Bean).
17556
b7db5d47 175572008-05-31 Robert Millan <rmh@aybabtu.com>
17558
17559 * commands/search.c (search_label, search_fs_uuid, search_file): Do
17560 not print device names when we were asked to set a variable.
17561
6e037aa9 175622008-05-31 Robert Millan <rmh@aybabtu.com>
17563
17564 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
17565 using "cursor-on" and "cursor-off" commands (understood at least by
17566 the Open Firmware flavour on OLPC).
17567
41305bc8 175682008-05-31 Michael Gorven <michael@gorven.za.net>
17569
17570 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
17571 on and off sequences.
17572
69ba137e 175732008-05-31 Robert Millan <rmh@aybabtu.com>
17574
17575 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
17576 * util/update-grub.in: Likewise.
17577
520ae21b 175782008-05-30 Pavel Roskin <proski@gnu.org>
17579
17580 * util/biosdisk.c (linux_find_partition): Simplify logic and
17581 make the code more universal. Keep special processing for
17582 devfs, but use a simple rule for all other devices. If the
17583 device ends with a number, append 'p' and the partition number.
17584 Otherwise, append only the partition number.
17585
5786569b 175862008-05-30 Robert Millan <rmh@aybabtu.com>
17587
17588 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
17589 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
17590 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
17591 the `root' parameter to Linux.
17592
51500452 175932008-05-30 Robert Millan <rmh@aybabtu.com>
17594
17595 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
17596 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
17597 --fs_uuid with --fs-uuid.
17598 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
17599 all filesystems support them).
17600
811d3878 176012008-05-30 Robert Millan <rmh@aybabtu.com>
17602
17603 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 17604 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 17605
cab63c95 176062008-05-30 Robert Millan <rmh@aybabtu.com>
17607
17608 * util/grub.d/00_header.in: Remove obsolete comment referencing
17609 convert_system_path_to_grub_path().
17610 * util/update-grub.in: Likewise.
17611 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
17612 (convert_system_path_to_grub_path): Add a warning message explaining
17613 that this function is deprecated. Rely on is_path_readable_by_grub()
17614 for the readability checks.
17615 (font_path): Use is_path_readable_by_grub() for the readability
17616 check rather than convert_system_path_to_grub_path().
17617
972e2f7a 176182008-05-30 Robert Millan <rmh@aybabtu.com>
17619
17620 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
17621 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
17622 converting it first.
17623 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
17624 grub.cfg for access to font file, and afterwards call it again to set
17625 the root device.
17626
62191274 176272008-05-30 Robert Millan <rmh@aybabtu.com>
17628
17629 * commands/search.c (options): Add --fs_uuid option.
17630 (search_fs_uuid): New function.
17631 (grub_cmd_search): Fix --set argument passing.
17632 Use search_fs_uuid() when requested via --fs_uuid.
17633 (grub_search_init): Update help message.
17634 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
17635 and redeclare it as an array of 16-bit words.
17636 (grub_ext2_uuid): New function.
17637 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
17638 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
17639 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
17640 (GRUB_DEVICE_BOOT_UUID): New variables.
17641 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
17642 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
17643 whenever possible.
17644 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
17645 just assume `root' variable has the right value.
17646 * util/grub.d/10_linux.in: Likewise.
17647 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
17648 via PRINT_FS_UUID.
17649 (main): Recognise `-t fs_uuid' argument.
17650
01b73ec8 176512008-05-30 Robert Millan <rmh@aybabtu.com>
17652
17653 * util/biosdisk.c (map): Redefine structure to hold information
17654 about GRUB drive name.
fe6b695a 17655 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 17656 drive names.
17657 (call_hook): Remove.
17658 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
17659 member. Assume drive has partitions.
17660 (grub_util_biosdisk_open): Access device names via `.device' struct
17661 member.
17662 (open_device): Likewise.
17663 (find_drive): Likewise.
17664 (read_device_map): Adjust map[] usage to match the new struct
17665 definition. Don't check for duplicates (still possible, but not cheap
17666 anymore).
17667 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
17668 (make_device_name): Remove assumption of BIOS-like drive names.
17669
22f16596 176702008-05-30 Pavel Roskin <proski@gnu.org>
17671
17672 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
17673 compiling execute.c doesn't need grub_script.tab.h anymore.
17674 (normal/command.c_DEPENDENCIES): Likewise.
17675 (normal/function.c_DEPENDENCIES): Likewise.
17676 * conf/i386-ieee1275.rmk: Likewise.
17677 * conf/i386-linuxbios.rmk: Likewise.
17678 * conf/i386-pc.rmk: Likewise.
17679 * conf/powerpc-ieee1275.rmk: Likewise.
17680 * conf/sparc64-ieee1275.rmk: Likewise.
17681
528ad8f2 176822008-05-29 Pavel Roskin <proski@gnu.org>
17683
d1dff95d 17684 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
17685 when scanning metadata for volume group name.
17686
528ad8f2 17687 * include/grub/script.h: Don't include grub_script.tab.h. It's
17688 a generated file, which may only be included from the files with
17689 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
17690 use union YYSTYPE, as the later allows forward declaration.
17691 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
17692
47248e08 176932008-05-29 Robert Millan <rmh@aybabtu.com>
17694
17695 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
17696 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
17697 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
17698 (grub_console_checkkey): Add grub_dprintf() call to report unknown
17699 scan codes.
17700
ee632529 177012008-05-29 Robert Millan <rmh@aybabtu.com>
17702
17703 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
17704 control key combinations.
17705
eee96e08 177062008-05-29 Robert Millan <rmh@aybabtu.com>
17707
17708 * util/powerpc/ieee1275/grub-install.in: Move from here ...
17709 * util/ieee1275/grub-install.in: ... to here.
17710 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
17711 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
17712 (grub_install_SOURCES): Likewise.
17713
da9a6a94 177142008-05-29 Robert Millan <rmh@aybabtu.com>
17715
17716 * fs/affs.c: Update copyright year.
17717 * fs/ext2.c: Likewise.
17718 * fs/fshelp.c: Likewise.
17719 * fs/hfsplus.c: Likewise.
17720 * fs/ntfs.c: Likewise.
17721 * fs/xfs.c: Likewise.
17722 * include/grub/fshelp.h: Likewise.
17723 * util/grub-mkdevicemap.c: Likewise.
17724
12e65f3a 177252008-05-28 Robert Millan <rmh@aybabtu.com>
17726
17727 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
17728 might need to be fatfs to support some firmware implementations
17729 (e.g. OFW or EFI).
17730
23023641 177312008-05-28 Robert Millan <rmh@aybabtu.com>
17732
17733 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
17734 devices.
17735 * util/grub-mkdevicemap.c (get_mmc_disk_name)
17736 (make_device_map): Likewise.
17737
887d2619 177382008-05-20 Bean <bean123ch@gmail.com>
17739
17740 * fs/fshelp.c (grub_fshelp_map_block): New function.
17741 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
17742 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
17743
17744 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
17745 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
17746 (grub_fshelp_journal): New structure.
17747 (grub_fshelp_map_block): New function prototype.
17748 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
17749 (grub_fshelp_map_block): Likewise.
17750
17751 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
17752 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
17753 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
17754 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
17755 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
17756 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
17757 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
17758 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
17759 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
17760 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
17761 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
17762 (grub_ext2_sblock): New members for journal support.
17763 (grub_ext3_journal_header): New structure.
17764 (grub_ext3_journal_revoke_header): Likewise.
17765 (grub_ext3_journal_block_tag): Likewise.
17766 (grub_ext3_journal_sblock): Likewise.
17767 (grub_fshelp_node): New members logfile and journal.
17768 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
17769 grub_fshelp_map_block to get real block number.
17770 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
17771 number.
17772 (grub_ext2_read_inode): Likewise.
17773 (grub_ext3_get_journal): New function.
17774 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
17775 (grub_ext2_close): Release memory used by journal.
17776
17777 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
17778 (REISERFS_MAGIC_DESC_BLOCK): New macro.
17779 (grub_reiserfs_transaction_header): Renamed to
17780 grub_reiserfs_description_block, replace field data with real_blocks.
17781 (grub_reiserfs_commit_block): New structure.
17782 (grub_reiserfs_data): New member journal.
17783 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
17784 number.
17785 (grub_reiserfs_read_symlink): Likewise.
17786 (grub_reiserfs_iterate_dir): Likewise.
17787 (grub_reiserfs_open): Likewise.
17788 (grub_reiserfs_read): Likewise.
17789 (grub_reiserfs_get_journal): New function.
17790 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
17791 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
17792 using grub_reiserfs_get_journal.
17793 (grub_reiserfs_close): Release memory used by journal.
17794
17795 * fs/affs.c (grub_affs_read_block): Change block type to
17796 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
17797
17798 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
17799
17800 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
17801
17802 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
17803
17804 * fs/udf.c (grub_udf_read_block): Change block type to
17805 grub_disk_addr_t. Use type cast to avoid warning.
17806
17807 * fs/xfs.c (grub_xfs_read_block): Likewise.
17808
b7c6bed5 178092008-05-16 Christian Franke <franke@computer.org>
17810
17811 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
17812 to ensure that break with ESC will always work.
17813 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
17814 Remove ESC from keyboard queue.
17815
eedf167f 178162008-05-16 Christian Franke <franke@computer.org>
17817
17818 * util/biosdisk.c: [__CYGWIN__] Add includes.
17819 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
17820 (get_os_disk): Move variable declarations to OS specific
17821 parts to avoid warning.
17822 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
17823 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
17824 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
17825 Cygwin.
17826 * util/getroot.c: [__CYGWIN__] Add includes.
17827 (strip_extra_slashes): Fix "/" case.
17828 [__CYGWIN__] (get_win32_path): New function.
17829 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
17830 [__CYGWIN__] (find_root_device): Disable.
17831 [__CYGWIN__] (get_bootsec_serial): New function.
17832 [__CYGWIN__] (find_cygwin_root_device): Likewise.
17833 [__linux__] (grub_guess_root_device): Add early returns to simplify
17834 structure.
17835 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
17836 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
17837 check for Linux only.
17838
a079699e 178392008-05-15 Bean <bean123ch@gmail.com>
17840
17841 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
17842 keyboard hang problem in apple's intel mac.
17843
1cf4059a 178442008-05-09 Robert Millan <rmh@aybabtu.com>
17845
17846 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
17847 devices.
17848 * util/grub-mkdevicemap.c (get_virtio_disk_name)
17849 (make_device_map): Likewise.
17850 Reported by Aurelien Jarno <aurel32@debian.org>
17851
ed759390 178522008-05-07 Ian Campbell <ijc@hellion.org.uk>
17853
17854 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
17855 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
17856 (make_device_map): Output entries for xvd type disks.
17857
b56c4eaa 178582008-05-07 Robert Millan <rmh@aybabtu.com>
17859
17860 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
17861 devices.
17862 * util/grub-mkdevicemap.c (get_cciss_disk_name)
17863 (make_device_map): Likewise.
17864 Reported by Roland Dreier <rdreier@cisco.com>
17865
7f8866ed 178662008-05-07 Robert Millan <rmh@aybabtu.com>
17867
17868 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
17869 grub_strstr() call. Correct a few mistakes in failure path handling.
17870
b0346e0f 178712008-05-06 Robert Millan <rmh@aybabtu.com>
17872
17873 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17874 Do not print a trailing slash (therefore, the root directory is an
17875 empty string).
17876 (convert_system_path_to_grub_path): Do not remove trailing slash
17877 from make_system_path_relative_to_its_root() output.
17878
17879 * util/i386/pc/grub-install.in: Add trailing slash to output from
17880 make_system_path_relative_to_its_root().
17881
6cf12cbd 178822008-05-06 Robert Millan <rmh@aybabtu.com>
17883
17884 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
17885 ensures that output lines aren't intermangled with those sent to
17886 stderr (via grub_util_info()).
17887 * util/grub-probe.c (grub_refresh): Likewise.
17888 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
17889
0fbb3117 178902008-05-05 Christian Franke <franke@computer.org>
17891
17892 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
17893 Add Cygwin device names.
17894 (get_ide_disk_name) [__CYGWIN__]: Likewise.
17895 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
17896 (check_device): Return error instead of success on empty name.
17897 (make_device_map): Move label inside linux specific code to
17898 prevent compiler warning.
17899
8124cdb7 179002008-04-30 Robert Millan <rmh@aybabtu.com>
17901
17902 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
17903 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
17904 first boot option.
17905 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
17906
094c01d0 179072008-04-29 Robert Millan <rmh@aybabtu.com>
17908
17909 * docs/grub.cfg: New file (example GRUB configuration).
17910
f4b1fc02 179112008-04-26 Robert Millan <rmh@aybabtu.com>
17912
329ce2a5 17913 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
17914 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
17915 and `disk/ieee1275/nand.c'.
f4b1fc02 17916
25f16ec1 179172008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 17918
25f16ec1 17919 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
17920 i386-linuxbios.
17921
17922 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
17923 change the buffer size to 4096 for cdrom device.
17924
17925 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
17926 and nand.mod.
17927 (_linux_mod_SOURCES): New variable.
17928 (_linux_mod_CFLAGS): Likewise.
17929 (_linux_mod_LDFLAGS): Likewise.
17930 (linux_mod_SOURCES): Likewise.
17931 (linux_mod_CFLAGS): Likewise.
17932 (linux_mod_LDFLAGS): Likewise.
17933 (nand_mod_SOURCES): Likewise.
17934 (nand_mod_CFLAGS): Likewise.
17935 (nand_mod_LDFLAGS): Likewise.
17936
17937 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
17938 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
17939 type property. (nand device in olpc don't have this property)
17940
17941 * include/grub/disk.h (grub_disk_dev_id): New macro
17942 GRUB_DISK_DEVICE_NAND_ID.
17943
17944 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
17945 function prototype.
17946 (grub_rescue_cmd_initrd): Likewise.
17947
17948 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
17949 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
17950 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 17951
25f16ec1 17952 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
17953 GRUB_MACHINE_IEEE1275 is defined.
17954
17955 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
17956 Use NESTED_FUNC_ATTR attribute on the hook parameter.
17957
17958 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
17959 on nested function heap_init.
17960 (grub_upper_mem): New variable for i386-ieee1275.
17961 (grub_get_extended_memory): New function for i386-ieee1275.
17962 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
17963
17964 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
17965 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
17966 property.
f19dbdb7 17967
25f16ec1 17968 * loader/i386/ieee1275/linux.c: New file.
17969
17970 * loader/i386/ieee1275/linux_normal.c: New file.
17971
17972 * disk/ieee1275/nand.c: New file.
17973
e89d61e9 179742008-04-18 Thomas Schwinge <tschwinge@gnu.org>
17975
17976 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
17977 value.
17978 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
17979
602566f6 179802008-04-18 Robert Millan <rmh@aybabtu.com>
17981
17982 Restructures early code path on ieee1275 to unify grub_main() as
17983 the first C function that is executed in every platform.
17984
17985 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
17986 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
17987 cmain().
17988 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
17989 * kern/ieee1275/cmain.c (cmain): Rename to ...
17990 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
17991 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
17992 at the beginning.
17993
57490c2b 179942008-04-18 Robert Millan <rmh@aybabtu.com>
17995
17996 * util/update-grub.in: Fix syntax error when setting
17997 `GRUB_PRELOAD_MODULES'.
17998 Reported by Stephane Chazelas <stephane@artesyncp.com>
17999
1977517d 180002008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
18001
18002 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
18003 section into account, newer toolchains generate unique build ids
18004 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 18005 we want build ids to be preserved
1977517d 18006 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
18007 far from other sections don't cause the raw binary images grow
18008 size
18009
bfb1f1a2 180102008-04-15 Robert Millan <rmh@aybabtu.com>
18011
18012 * disk/lvm.c: Update copyright year.
18013 * kern/misc.c: Likewise.
18014
01979850 180152008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18016
18017 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 18018 there is no memory left for physical volume name.
01979850 18019
0a1150e2 180202008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18021
18022 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
18023 volume name mapping to support bigger than 9 character names properly.
18024
82ead3fe 180252008-04-13 Robert Millan <rmh@aybabtu.com>
18026
18027 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
18028 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
18029
e54a72f5 180302008-04-13 Christian Franke <franke@computer.org>
18031
18032 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
18033 to create a floppy emulation boot CD when non emulation mode
18034 does not work.
18035 Enable Joliet CD filesystem extension.
18036
9fe86034 180372008-04-13 Robert Millan <rmh@aybabtu.com>
18038
18039 * kern/misc.c (grub_strncat): Fix off-by-one error.
18040 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
18041
18042 * kern/env.c (grub_env_context_close): Clear current context, not
18043 previous one.
18044 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
18045
18046 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
18047
7ceeee39 180482008-04-13 Robert Millan <rmh@aybabtu.com>
18049
18050 Improve robustness when handling LVM.
18051
18052 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 18053 (and leave `*p' unmodified).
7ceeee39 18054 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
18055 through it.
18056 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
18057 iterating through it.
18058 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
18059 through it.
fe6b695a 18060 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 18061 when due) on each grub_lvm_getvalue() or grub_strstr() call.
18062 Don't assume `vg->pvs != NULL' when iterating through it.
18063
58cd3d85 180642008-04-13 Robert Millan <rmh@aybabtu.com>
18065
18066 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
18067 * genmk.rb (partmap): New variable.
18068 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
18069 (#{partmap}): New target rule.
18070 * genpartmaplist.sh: New file.
18071 * Makefile.in (pkglib_DATA): Add partmap.lst.
18072 (partmap.lst): New target rule.
18073 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
18074 modules (including all partition maps), instead of preloading them.
18075
78b51059 180762007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
18077
18078 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
18079 `linux-boot-prober' (if installed) to detect other operating
18080 systems which are installed on the computer and add them to
18081 the boot menu.
18082 * conf/common.rmk: Build and install 30_os-prober.
18083
a91627b4 180842008-04-12 Robert Millan <rmh@aybabtu.com>
18085
18086 * kern/powerpc/ieee1275/init.c: Move from here ...
18087 * kern/ieee1275/init.c: ... to here. Update all users.
18088
18089 * kern/powerpc/ieee1275/cmain.c: Move from here ...
18090 * kern/ieee1275/cmain.c: ... to here. Update all users.
18091
18092 * kern/powerpc/ieee1275/openfw.c: Move from here ...
18093 * kern/ieee1275/openfw.c: ... to here. Update all users.
18094
18095 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
18096 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
18097
322562ea 180982008-04-10 Pavel Roskin <proski@gnu.org>
18099
18100 * configure.ac: Always use "_cv_" in cache variables for
18101 compatibility with Autoconf 2.62.
18102
a02a73c5 181032008-04-07 Robert Millan <rmh@aybabtu.com>
18104
18105 Revert grub/machine/init.h addition by Pavel (since it breaks on
18106 i386-ieee1275 and others):
18107 * util/i386/pc/misc.c: Remove grub/machine/init.h.
18108 * util/powerpc/ieee1275/misc.c: Likewise.
18109
25c024b1 181102008-04-07 Robert Millan <rmh@aybabtu.com>
18111
18112 * util/grub-probe.c (probe): Improve error message.
18113
3cbd2f98 181142008-04-07 Robert Millan <rmh@aybabtu.com>
18115
18116 * util/biosdisk.c (read_device_map): Skip devices that don't exist
18117 (this prevents the presence of a bogus entry from ruining the whole
18118 thing).
18119
87a297bf 181202008-04-06 Pavel Roskin <proski@gnu.org>
18121
36747a62 18122 * util/biosdisk.c: Include grub/util/biosdisk.h.
18123 * util/grub-fstest.c (execute_command): Make static.
18124 * util/grub-mkdevicemap.c (check_device): Likewise.
18125 * util/i386/pc/misc.c: Include grub/machine/init.h.
18126 * util/powerpc/ieee1275/misc.c: Likewise.
18127 * util/lvm.c: Include grub/util/lvm.h.
18128 * util/misc.c: Include grub/kernel.h, grub/misc.h and
18129 grub/cache.h.
18130 * util/raid.c: Include grub/util/raid.h.
18131 (grub_util_getdiskname): Make static.
18132
87a297bf 18133 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
18134 grub_hostfs_fini(), as they are called from grub_init_all() and
18135 grub_fini_all() respectively. This fixes an infinite loop in
18136 grub-fstest due to double registration of hostfs.
18137 Reported by Christian Franke <Christian.Franke@t-online.de>
18138
f6ce7629 181392008-04-05 Pavel Roskin <proski@gnu.org>
18140
18141 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
18142 all 8 functions. Otherwise, probe function 0 only.
18143
070e49e4 181442008-04-04 Pavel Roskin <proski@gnu.org>
18145
8b088a4c 18146 * commands/lspci.c (grub_lspci_iter): Print the bus number
18147 correctly.
18148
4f657021 18149 * commands/lspci.c (grub_pci_classes): Fix typos.
18150 (grub_lspci_iter): Don't print func twice. Print vendor ID
18151 before device ID, as it's normally done.
18152
070e49e4 18153 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
18154 Fix signedness warnings.
18155 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
18156 Likewise.
18157 * util/ieee1275/get_disk_name.c: Include config.h so that
18158 _GNU_SOURCE is defined and getline() is declared. Mark an
18159 unused argument as such. Fix a signedness warning.
18160
ba7328dc 181612008-04-02 Pavel Roskin <proski@gnu.org>
18162
26887f22 18163 * genkernsyms.sh.in: Use more robust assignments for CC and
18164 srcdir. Quote srcdir.
18165 * gensymlist.sh.in: Likewise. Assert at the compile time that
18166 the symbol table is not empty.
18167
ba7328dc 18168 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
18169 * fs/cpio.c (grub_cpio_read): Likewise.
18170
0f582c6b 181712008-04-01 Pavel Roskin <proski@gnu.org>
18172
4b6e1995 18173 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
18174 * disk/host.c (grub_host_open): Likewise.
18175 * disk/loopback.c (grub_loopback_open): Likewise.
18176 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
18177 disk->id as in disk/host.c, not a multi-character constant.
18178
828a2768 18179 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
18180 later is obsolete, potentially dangerous and sets a bad example.
18181 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
18182 * util/misc.c (grub_util_get_image_size): Likewise.
18183
2bb4fb47 18184 * disk/loopback.c (options): Improve help for "--partitions".
18185
0f582c6b 18186 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
18187 options to align them with the short options, e.g. "echo -e".
18188
a33224e0 181892008-03-31 Bean <bean123ch@gmail.com>
18190
18191 * video/reader/png.c (grub_png_data): New member is_16bit and
18192 image_data.
18193 (grub_png_decode_image_header): Detect 16 bit png image.
18194 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
18195 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
18196 (grub_video_reader_png): Release memory occupied by image_data.
18197
18198 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
18199 4096 bytes.
18200 (grub_nfs_mount): Skip the test for sector per cluster.
18201
18202 * include/grub/ntfs.h (MAX_SPC): Removed.
18203
86cb4f54 182042008-03-31 Bean <bean123ch@gmail.com>
18205
18206 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
18207 (grub_probe_SOURCES): Add fs/afs.c.
18208 (grub_fstest_SOURCES): Likewise.
18209 (afs_mod_SOURCES): New variable.
18210 (afs_mod_CFLAGS): Likewise.
18211 (afs_mod_LDFLAGS): Likewise.
18212
18213 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
18214 (grub_emu_SOURCES): Likewise.
18215
18216 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18217
18218 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18219
18220 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18221
18222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18223
18224 * fs/afs.c: New file.
18225
17c74c21 182262008-03-30 Pavel Roskin <proski@gnu.org>
18227
4cb68e89 18228 * disk/host.c: Include grub/misc.h to fix a warning.
18229 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
18230 warnings about implicit declarations.
18231
8790bb04 18232 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
18233 variable.
18234 * include/grub/i386/loader.h: Change declaration of
18235 grub_linux_boot() to match what grub_loader_set() expects.
18236 * util/getroot.c (grub_guess_root_device): Return const char* to
18237 fix a warning.
18238 * util/grub-probe.c (probe): Fix a warning about uninitialized
18239 abstraction_name variable.
18240 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
18241 second argument as unused to fix a warning.
18242
9a3f3296 18243 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
18244 missing grub_error() call.
18245
0ecef90d 18246 * util/update-grub_lib.in: Define datarootdir, since Autoconf
18247 2.60 and newer uses it to define datadir.
18248
0bf6d401 18249 * commands/sleep.c: Fix warning about implicit declaration.
18250 * disk/memdisk.c: Likewise.
18251 * loader/aout.c: Likewise.
18252 * loader/i386/bsd_normal.c: Likewise.
18253 * util/grub-probe.c: Likewise.
18254
7cdacf97 18255 * commands/i386/cpuid.c (has_longmode): Make static.
18256 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
18257 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
18258
17c74c21 18259 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
18260 GDT. This is more robust, as %ds can change.
18261 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
18262 calling real_to_prot().
18263 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
18264
80a3e68b 182652008-03-28 Pavel Roskin <proski@gnu.org>
18266
18267 * kern/i386/pc/startup.S: Assert that uncompressed functions
18268 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
18269 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
18270 code, as they push parts of the code (error handlers) beyond
18271 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
18272 code as correctness and size.
18273
77bcd272 182742008-03-28 Pavel Roskin <proski@gnu.org>
18275
18276 * kern/i386/pc/startup.S
18277 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
18278 data block address to the real mode, keep offset minimal. This
18279 works around a bug in AWARD BIOS on old Athlon systems, which
18280 makes CD detection hang.
18281
c5dfd43b 182822008-03-26 Pavel Roskin <proski@gnu.org>
18283
18284 * normal/color.c (grub_parse_color_name_pair): Make `name' a
18285 const.
18286 * include/grub/normal.h: Add grub_parse_color_name_pair()
18287 declaration.
18288
bf962df2 182892008-03-24 Bean <bean123ch@gmail.com>
18290
18291 * disk/i386/pc/biosdisk.c (cd_start): Removed.
18292 (cd_count): Removed.
18293 (cd_drive): New variable.
18294 (grub_biosdisk_get_drive): Don't check for (cdN) device.
18295 (grub_biosdisk_call_hook): Likewise.
18296 (grub_biosdisk_iterate): Change cdrom detection method.
18297 (grub_biosdisk_open): Replace cd_start with cd_drive.
18298 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
18299 detect cdrom device.
18300
18301 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
18302 Removed.
18303 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
18304 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
18305 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
18306 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
18307 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
18308 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
18309 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
18310 (grub_biosdisk_cdrp): New structure.
18311 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
18312
18313 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
18314
18315 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
18316 device.
18317
18318 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
18319 New function.
18320
68e7fc7a 183212008-03-20 Robert Millan <rmh@aybabtu.com>
18322
18323 Remove 2 TiB limit in ata.mod.
18324 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
18325 (grub_ata_dumpinfo): Print sector count with 0x%llx.
18326 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
18327 grub_uint64_t instead of grub_uint32_t.
18328
38ad2cf5 183292008-03-05 Bean <bean123ch@gmail.com>
18330
18331 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
18332 (grub_multiboot): Set boot device.
18333
18334 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
18335
2b89344e 183362008-03-02 Bean <bean123ch@gmail.com>
18337
18338 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
18339 symlink_buffer.
18340
87a95d1f 183412008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
18342
18343 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
18344 texinfo.tex.
18345
18346 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
18347 modified.
18348
18349 * docs/fdl.texi: New file.
f19dbdb7 18350
87a95d1f 18351 * docs/mdate-sh: New file. Copied from gnulib.
18352 * docs/texinfo.tex: Likewise.
18353
18354 * config.guess: Updated from gnulib.
18355 * install-sh: Likewise.
18356
7dc15d8e 183572008-02-28 Robert Millan <rmh@aybabtu.com>
18358
18359 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
18360 (aout_mod_SOURCES): New variable.
18361 (aout_mod_CFLAGS): Likewise.
18362 (aout_mod_LDFLAGS): Likewise.
18363
18364 * conf/i386-ieee1275.rmk: Likewise.
18365
b00ab696 183662008-02-28 Robert Millan <rmh@aybabtu.com>
18367
18368 * util/update-grub.in: Reorganise terminal validity check. Accept
18369 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
18370 Based on suggestion by Franklin PIAT.
18371
79ca2d78 183722008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
18373
18374 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
18375 function.
18376 * util/getroot.c (grub_util_check_block_device): New function that
18377 returns the given argument if it is a block device and returns NULL else.
18378 * util/grub-probe.c (argument_is_device): New variable.
18379 (probe): Promote device_name from a variable to an argument. Receive
18380 device_name from grub_util_check_block_device() if path is NULL and from
18381 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 18382 (options): Introduce new parameter '-d, --device'.
79ca2d78 18383 (main): Add description of the new parameter to the help screen.
18384 Rename path variable to argument. Set argument_is_device if the '-d'
18385 option is given. Pass argument to probe() depending on
18386 argument_is_device.
18387
0d16e571 183882008-02-24 Bean <bean123ch@gmail.com>
18389
18390 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
18391 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
18392 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
18393 (GRUB_ISO9660_VOLDESC_PART): Likewise.
18394 (GRUB_ISO9660_VOLDESC_END): Likewise.
18395 (grub_iso9660_primary_voldesc): New member escape.
18396 (grub_iso9660_data): New member joliet.
18397 (grub_iso9660_convert_string): New function.
18398 (grub_iso9660_mount): Detect joliet extension.
18399 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
18400 (grub_iso9660_iso9660_label): Likewise.
18401
18402 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
18403 (grub_setup_SOURCES): Add fs/udf.c.
18404 (grub_fstest_SOURCES): Likewise.
18405 (udf_mod_SOURCES): New variable.
18406 (udf_mod_CFLAGS): Likewise.
18407 (udf_mod_LDFLAGS): Likewise.
18408
18409 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
18410 (grub_emu_SOURCES): Likewise.
18411
18412 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18413
18414 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18415
18416 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18417
18418 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18419
18420 * fs/udf.c: New file.
18421
8a594a17 184222008-02-24 Robert Millan <rmh@aybabtu.com>
18423
18424 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
18425 (normal/lexer.c_DEPENDENCIES): New variables.
18426 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18427 (normal/lexer.c_DEPENDENCIES): Likewise.
18428 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
18429 (normal/lexer.c_DEPENDENCIES): Likewise.
18430 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
18431 (normal/lexer.c_DEPENDENCIES): Likewise.
18432 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18433 (normal/lexer.c_DEPENDENCIES): Likewise.
18434 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18435 (normal/lexer.c_DEPENDENCIES): Likewise.
18436
2dc33c03 184372008-02-23 Robert Millan <rmh@aybabtu.com>
18438
18439 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
18440 since they were intended to be in hex. This didn't break previously
18441 because of a bug in gpt_partition_map_iterate() (see below).
18442
18443 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
18444 when checking the validity of GPT header.
18445 Remove `partno', since it always provides the same information as `i'.
18446
f6f4cfb0 184472008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
18448
18449 * include/grub/efi/time.h: Fix a wrong comment.
18450
79ff665f 184512008-02-19 Pavel Roskin <proski@gnu.org>
18452
18453 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
18454 message.
18455
d38e24c2 184562008-02-19 Bean <bean123ch@gmail.com>
18457
18458 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
18459 (aout_mod_SOURCES): New variable.
18460 (aout_mod_CFLAGS): Likewise.
18461 (aout_mod_LDFLAGS): Likewise.
18462 (_bsd_mod_SOURCES): New variable.
18463 (_bsd_mod_CFLAGS): Likewise.
18464 (_bsd_mod_LDFLAGS): Likewise.
18465 (bsd_mod_SOURCES): New variable.
18466 (bsd_mod_CFLAGS): Likewise.
18467 (bsd_mod_LDFLAGS): Likewise.
18468
18469 * include/grub/aout.h: New file.
18470
18471 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
18472
18473 * include/grub/i386/bsd.h: New file.
18474
18475 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
18476 to make it public.
18477
18478 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
18479 function is called, so that it's possible to change it inside the hook.
18480 (grub_elf64_load): Likewise.
18481 (grub_elf_file): Don't close the file if elf header is not found.
18482 (grub_elf_close): Close the file if grub_elf_file fails (The new
18483 grub_elf_file won't close it).
18484 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
18485 (grub_elf64_size): Likewise.
18486
18487 * kern/i386/loader.S (grub_unix_real_boot): New function.
18488
18489 * loader/aout.c: New file.
18490
18491 * loader/i386/bsd.c: New file.
18492
18493 * loader/i386/bsd_normal.c: New file.
18494
18495 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
18496
18497 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 18498 can test other formats.
d38e24c2 18499
b93bdb0f 185002008-02-19 Robert Millan <rmh@aybabtu.com>
18501
18502 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
18503 (grub_gpt_partition_type_empty): Redefine with macro from
18504 `<grub/gpt_partition.h>'.
18505 (gpt_partition_map_iterate): Adjust partition type comparison.
18506
18507 Export `entry' as partmap-specific `part.data' struct.
18508 (grub_gpt_header, grub_gpt_partentry): Move from here ...
18509
18510 * include/grub/gpt_partition.h (grub_gpt_header)
18511 (grub_gpt_partentry): ... to here (new file).
18512
18513 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
18514
18515 (grub_gpt_partition_type_bios_boot): New const variable, defined
18516 with macro from `<grub/gpt_partition.h>'.
18517
18518 (setup): Replace `first_start' with `embed_region', which keeps
18519 track of the embed region (and is partmap-agnostic).
18520
18521 Replace find_first_partition_start() with find_usable_region(),
18522 which finds a usable region for embedding using partmap-specific
18523 knowledge (supports PC/MSDOS and GPT).
18524
18525 Fix all assumptions that the embed region start at sector 1, using
18526 `embed_region.start' from now on. Similarly, use `embed_region.end'
18527 rather than `first_start' to calculate available size.
18528
18529 In grub_util_info() message, replace "into after the MBR" with an
18530 indication of the specific sector our embed region starts at.
18531
66cb40f6 185322008-02-19 Robert Millan <rmh@aybabtu.com>
18533
18534 * DISTLIST: Replace `commands/ieee1275/halt.c' and
18535 `commands/ieee1275/reboot.c' with `commands/halt.c' and
18536 `commands/reboot.c'.
18537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
18538 (halt_mod_SOURCES): Likewise.
18539 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
18540 (halt_mod_SOURCES): Likewise.
18541
b7202015 185422008-02-17 Christian Franke <franke@computer.org>
18543
18544 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
18545
32b0fc49 185462008-02-17 Robert Millan <rmh@aybabtu.com>
18547
18548 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
18549 set `first_start' to 0 for non-PC/MSDOS partition maps.
18550
aca63502 185512008-02-16 Robert Millan <rmh@aybabtu.com>
18552
18553 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
18554 do not assume partition map is PC/MSDOS before performing checks that
18555 are specific to that layout.
18556
0de8be86 185572008-02-13 Robert Millan <rmh@aybabtu.com>
18558
18559 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
18560 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
18561 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
18562
c3db8364 185632008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
18564
18565 * configure.ac: Only a cosmetic change on the handling of
18566 -fno-stack-protector.
18567
f714229e 185682008-02-12 Alexandre Boeglin <alex@boeglin.org>
18569
c3db8364 18570 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
18571 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
18572 reboot.c.
f714229e 18573 (grub_install_SOURCES): Add halt.mod and reboot.mod.
18574 (halt_mod_SOURCES): New variable.
18575 (halt_mod_CFLAGS): Likewise.
18576 (halt_mod_LDFLAGS): Likewise.
18577 (reboot_mod_SOURCES): Likewise.
18578 (reboot_mod_CFLAGS): Likewise.
18579 (reboot_mod_LDFLAGS): Likewise.
18580
c3db8364 18581 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
18582 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
18583 reboot.c.
f714229e 18584 (halt_mod_SOURCES): Likewise.
18585 (reboot_mod_SOURCES): Likewise.
18586
c3db8364 18587 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
18588 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 18589 (reboot_mod_SOURCES): Likewise.
18590
18591 * commands/i386/pc/reboot.c: merge this file ...
18592
18593 * commands/ieee1275/reboot.c: ... and this file ...
18594
18595 * commands/reboot.c: ... to this file.
c3db8364 18596 Add some precompiler directive to include the correct header for
18597 each machine.
f714229e 18598
18599 * commands/ieee1275/halt.c: move this file ...
18600
18601 * commands/halt.c: ... to here.
c3db8364 18602 Add some precompiler directive to include the correct header for
18603 each machine.
f714229e 18604
18605 * include/grub/efi/efi.h (grub_reboot): New function declaration.
18606 (grub_halt): Likewise.
18607
18608 * kern/efi/efi.c (grub_reboot): New function.
18609 (grub_halt): Likewise.
18610
c74493e0 186112008-02-12 Robert Millan <rmh@aybabtu.com>
18612
18613 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
18614 /dev (like it is done for /dev/mapper). This doesn't provide support
18615 for EVMS, but at least it is now easy to identify the problem when it
18616 arises.
18617
d0db4b04 186182008-02-11 Robert Millan <rmh@aybabtu.com>
18619
18620 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
18621 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
18622 comparing it with -1, not 0.
18623
bf748642 186242008-02-10 Robert Millan <rmh@aybabtu.com>
18625
18626 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
18627 `disk/lvm.c'.
18628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18629 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18630
18631 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
18632 `disk/lvm.c' to the end of the list.
18633 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18634 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18635
b5db202a 186362008-02-10 Robert Millan <rmh@aybabtu.com>
18637
18638 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
18639 grub_print_error() instead. This will let user know why we're entering
18640 rescue mode.
18641 Based on suggestions from Sam Morris.
18642
83abee31 186432008-02-10 Alexandre Boeglin <alex@boeglin.org>
18644
18645 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
18646 on remaining N args, instead of "--" arg N times.
18647
78d5a08b 186482008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
18649
18650 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
18651 (fill_with_default_glyph): Changed to use unknown_glyph for fill
18652 pattern for unknown glyphs.
18653
68807e5f 186542008-02-09 Robert Millan <rmh@aybabtu.com>
18655
18656 * configure.ac: Probe for `help2man'.
18657 * Makefile.in (builddir): New variable.
18658 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
18659 or otherwise add a few flags/options to it.
18660 (install-local): For every executable utility or script that is
18661 installed, invoke $(HELP2MAN) to install a manpage based on --help
18662 output.
18663
18664 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
18665 that it doesn't prevent --help from working in build tree.
18666
18667 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
18668 with `bug-grub@gnu.org'.
18669 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
18670 * util/update-grub.in (usage): New function.
18671 Implement proper argument check, with support for --help and --version
18672 (as well as existing -y).
18673
186742008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 18675
18676 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
18677 avoid overwriting previous output.
18678 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
18679
c1962162 186802008-02-09 Robert Millan <rmh@aybabtu.com>
18681
18682 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
18683 drawing the menu.
18684
3dac2e3f 186852008-02-09 Robert Millan <rmh@aybabtu.com>
18686
18687 * commands/sleep.c: New file.
18688 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
18689 (sleep_mod_SOURCES): New variable.
18690 (sleep_mod_CFLAGS): Likewise.
18691 (sleep_mod_LDFLAGS): Likewise.
18692
7a634e08 186932008-02-09 Robert Millan <rmh@aybabtu.com>
18694
18695 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
18696 situations in which we can deduce the RAID size and the superblock
18697 doesn't match it.
18698
b92f0c18 186992008-02-09 Robert Millan <rmh@aybabtu.com>
18700
18701 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
18702 and return a grub_diskmemberlist_t composed of LVM physical volumes.
18703 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
18704
18705 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
18706 and return a grub_diskmemberlist_t composed of physical array members.
18707 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
18708
18709 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
18710 prototype.
18711 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
18712 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
18713 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
18714
18715 * util/grub-probe.c (probe): Move partmap probing code from here ...
18716 (probe_partmap): ... to here.
18717 (probe): Use probe_partmap() once for the disk we're probing, and
18718 additionally, when such disk contains a memberlist() struct member,
18719 once for each disk that is contained in the structure returned by
18720 memberlist().
18721
91a4bf68 187222008-02-09 Robert Millan <rmh@aybabtu.com>
18723
18724 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
18725 environment variable to 'all' in order to obtain debug output from
18726 non-util/ code.
18727 * util/i386/pc/grub-setup.c (main): Likewise.
18728
a96f9caa 187292008-02-08 Robert Millan <rmh@aybabtu.com>
18730
18731 * disk/raid.c (grub_raid_scan_device): Check for
18732 `array->device[sb.this_disk.number]' rather than for
18733 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 18734 guaranteed to be accessible.
a96f9caa 18735
b37a9222 187362008-02-08 Robert Millan <rmh@aybabtu.com>
18737
18738 * disk/raid.c: Update copyright.
18739 * fs/cpio.c: Likewise.
18740 * include/grub/raid.h: Likewise.
18741 * loader/i386/pc/multiboot.c: Likewise.
18742 * util/hostfs.c: Likewise.
18743
5626aee1 187442008-02-08 Robert Millan <rmh@aybabtu.com>
18745
18746 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
18747 to a grub_disk_t array.
18748 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
18749 `device[x]'.
18750 (grub_raid_scan_device): Replace `device[x].name' accesses with
18751 `device[x]->name'. Simplify initialization of `array->device[x]'.
18752
554f0187 187532008-02-08 Robert Millan <rmh@aybabtu.com>
18754
18755 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
18756 grub_dprintf() calls.
18757 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
18758 error message.
18759
1ec8425d 187602008-02-07 Christian Franke <franke@computer.org>
18761
18762 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
18763 instead of fseek and ftell to support large files.
18764 (grub_hostfs_read): Likewise.
18765
f2156fda 187662008-02-07 Robert Millan <rmh@aybabtu.com>
18767
18768 Patch from Jeroen Dekkers.
18769 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 18770 failure, since successfully reading all array members might not be
f2156fda 18771 required.
18772
9216e0e7 187732008-02-06 Robert Millan <rmh@aybabtu.com>
18774
18775 * util/grub-probe.c (probe): Simplify partmap probing (with the
18776 assumption that the first word up to the underscore equals to
18777 the module name).
18778
b0dfd29a 187792008-02-06 Christian Franke <franke@computer.org>
18780
18781 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
18782 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
18783 last block of a cpio or tar stream.
18784 Check for "TRAILER!!!" instead of any empty data
18785 block to detect last block of a cpio stream.
18786 (grub_cpio_dir): Fix constness of variable np.
18787 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
18788 cpio or tar trailer is detected. This fixes a crash
18789 on open of a non existing file.
18790
c32865bf 187912008-02-05 Bean <bean123ch@gmail.com>
18792
18793 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
18794 address of entry.
18795 (grub_multiboot_load_elf64): Likewise.
18796 (grub_multiboot): Initialize mbi structure.
18797
18798 * util/grub-fstest.c: Don't include unused header file script.h.
18799
fe6b695a 18800 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 18801 of file.
18802 (grub_fstest_SOURCES): Likewise.
18803
409480b7 188042008-02-05 Robert Millan <rmh@aybabtu.com>
18805
18806 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
18807 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
18808 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
18809 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
18810
18811 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
18812 (translation_table): Replace hardcoded values with macros
18813 provided by `<grub/term.h>'.
18814
18815 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
18816 (keyboard_map): Correct/add a few values, with macros provided
18817 by `<grub/term.h>'.
18818 (keyboard_map_shift): Zero values that don't differ from their
18819 `keyboard_map' equivalents.
18820 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
18821 Discard the second scan code that is always sent by Caps lock.
18822 Only use `keyboard_map_shift' when it provides a non-zero value,
18823 otherwise fallback to `keyboard_map'.
18824
99fadbaa 188252008-02-04 Bean <bean123ch@gmail.com>
18826
18827 * Makefile.in (enable_grub_fstest): New variable.
18828
18829 * conf/common.rmk (grub_fstest_init.lst): New rule.
18830 (grub_fstest_init.h): Likewise.
18831 (grub_fstest_init.c): Likewise.
18832 (util/grub-fstest.c_DEPENDENCIES): New variable.
18833 (grub_fstest_SOURCES): Likewise.
18834
18835 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
18836
18837 * util/grub-fstest.c: New file.
18838
bf567c50 188392008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18840
18841 Make grub-setup handle a separate root device.
f19dbdb7 18842
bf567c50 18843 * util/i386/pc/grub-setup.c (setup): Always open the root device,
18844 so that the root device can be compared with the destination
18845 device.
18846 When embedding the core image, if the root and destination devices
18847 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
18848 0xFF.
18849 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 18850
9be6b98b 188512008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18852
18853 Add support for having a grub directory in a different drive. This
18854 is still only the data handling part.
f19dbdb7 18855
9be6b98b 18856 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
18857 (codestart): Save %dh in GRUB_ROOT_DRIVE.
18858 (grub_root_drive): New variable.
18859
18860 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
18861 instead of GRUB_BOOT_DRIVE to construct a device name. Set
18862 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
18863 as it was.
18864
18865 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
18866
18867 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
18868 macro.
18869 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
18870
18871 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
18872 is bogus, because PXE booting does not specify any drive
18873 correctly.
18874
18875 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
18876 am not sure if this is really correct.
18877
18878 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
18879 is always identical to the boot drive when booting from a CD.
18880
18881 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
18882 longer.
18883 (root_drive): New variable.
18884 (real_start): Unconditionally set %dh to ROOT_DRIVE.
18885 (setup_sectors): Push %dx right after popping it, because %dh will
18886 be modified later.
18887 (copy_buffer): Restore %dx.
18888
e0ca0677 188892008-02-03 Robert Millan <rmh@aybabtu.com>
18890
18891 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
18892 use `cdboot.img' for cdrom images.
18893
3b3f6629 188942008-02-03 Robert Millan <rmh@aybabtu.com>
18895
18896 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
18897 only setup gfxterm when `font' command has succeeded.
18898
d42b3672 188992008-02-03 Robert Millan <rmh@aybabtu.com>
18900
18901 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
18902 (grub_rescue_cmd_multiboot_loader)
18903 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
18904
fa370ea6 189052008-02-03 Pavel Roskin <proski@gnu.org>
18906
e0c5dacb 18907 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 18908 %edx and %esi from stack only after grub_gate_a20() is called.
18909 grub_gate_a20() clobbers %edx.
18910
f2a76e1d 189112008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18912
18913 * configure.ac (AC_INIT): Bumped to 1.96.
18914
18915 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
18916 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
18917 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
18918 video/readers/png.c.
18919
90fd32d1 189202008-02-03 Bean <bean123ch@gmail.com>
9be665dd 18921
18922 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
18923 (cdboot_img_SOURCES): New variable.
18924 (cdboot_img_ASFLAGS): New variable.
18925 (cdboot_img_LDFLAGS): New variable.
18926
18927 * boot/i386/pc/cdboot.S: New file.
18928
18929 * disk/i386/pc/biosdisk.c (cd_start): New variable.
18930 (cd_count): Likewise.
18931 (grub_biosdisk_get_drive): Add support for cd device.
18932 (grub_biosdisk_call_hook): Likewise.
18933 (grub_biosdisk_iterate): Likewise.
18934 (grub_biosdisk_open): Likewise.
18935 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
18936 (grub_biosdisk_rw): Support reading from cd device.
18937 (GRUB_MOD_INIT): Iterate cd devices.
18938
18939 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
18940 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
18941 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
18942
18943 * kern/i386/pc/init.c (make_install_device): Check for cd device.
18944
4020aa53 189452008-02-02 Robert Millan <rmh@aybabtu.com>
18946
18947 * commands/read.c: New file.
18948 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
18949 (read_mod_SOURCES): New variable.
18950 (read_mod_CFLAGS): Likewise.
18951 (read_mod_LDFLAGS): Likewise.
18952
e03a1132 189532008-02-02 Robert Millan <rmh@aybabtu.com>
18954
18955 * normal/main.c (grub_normal_execute): Check for `menu->size' when
18956 determining whether menu has to be displayed.
18957
58c69220 189582008-02-02 Marco Gerards <marco@gnu.org>
18959
18960 * bus/pci.c: New file.
18961
18962 * include/grub/pci.h: Likewise.
18963
18964 * include/grub/i386/pc/pci.h: Likewise.
18965
18966 * commands/lspci.c: Likewise.
18967
18968 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
18969 `lspci.mod'.
18970 (pci_mod_SOURCES): New variable.
18971 (pci_mod_CFLAGS): Likewise.
18972 (pci_mod_LDFLAGS): Likewise.
18973 (lspci_mod_SOURCES): Likewise.
18974 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 18975 (lspci_mod_LDFLAGS): Likewise.
58c69220 18976
c004e1b4 189772008-02-02 Bean <bean123ch@gmail.com>
18978
18979 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
18980 (grub_ufs_get_file_block): Fix indirect block calculation problem.
18981
18982 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
18983 (grub_xfs_btree_node): New structure.
18984 (grub_xfs_btree_root): New structure.
18985 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
18986 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
18987 (GRUB_XFS_EXTENT_BLOCK): Likewise.
18988 (GRUB_XFS_EXTENT_SIZE): Likewise.
18989 (grub_xfs_read_block): Support btree format type.
18990 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
18991 Use directory block as basic unit.
18992
18993 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
18994
18995 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
18996 __attribute__ ((__regparm__ (1))).
18997
f95562bf 189982008-02-01 Robert Millan <rmh@aybabtu.com>
18999
19000 Correct a mistake in previous commit.
19001
19002 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
19003 top.
19004 (normal/command.c_DEPENDENCIES): New variable.
19005
7d31f41f 190062008-02-01 Robert Millan <rmh@aybabtu.com>
19007
19008 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
19009 top.
19010 (normal/command.c_DEPENDENCIES): New variable.
19011 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
19012 * conf/i386-ieee1275.rmk: Likewise.
19013 * conf/i386-linuxbios.rmk: Likewise.
19014 * conf/i386-pc.rmk: Likewise.
19015 * conf/sparc64-ieee1275.rmk: Likewise.
19016 * conf/powerpc-ieee1275.rmk: Likewise.
19017 (grub_emu_SOURCES): Add `fs/fshelp.c'.
19018
19019 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
19020
60b6be74 190212008-02-01 Robert Millan <rmh@aybabtu.com>
19022
19023 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
19024 call at beginning of function.
19025
078522ab 190262008-01-31 Pavel Roskin <proski@gnu.org>
19027
19028 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 19029 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
19030 (grub_mkrescue_SOURCES): Likewise.
078522ab 19031 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
19032
ccaa8a5f 190332008-01-30 Robert Millan <rmh@aybabtu.com>
19034
19035 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
19036 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
19037 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
19038 (grub_probe_SOURCES): ... to here.
19039
19040 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
19041 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
19042 * conf/i386-ieee1275.rmk: Likewise.
19043 * conf/i386-linuxbios.rmk: Likewise.
19044 * conf/powerpc-ieee1275.rmk: Likewise.
19045
ae5a9cd7 190462008-01-30 Tristan Gingold <gingold@free.fr>
19047
19048 * kern/rescue.c: Silently accept empty lines.
19049
70bc2ef2 190502008-01-29 Bean <bean123ch@gmail.com>
19051
19052 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
19053 (real_code_2): Code cleanup and change comment style.
19054 (move_memory): Avoid using 32-bit address mode.
19055
6a4d50ea 190562008-01-29 Bean <bean123ch@gmail.com>
19057
19058 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
19059 (png_mod_SOURCES): New variable.
19060 (png_mod_CFLAGS): Likewise.
19061 (png_mod_LDFLAGS): Likewise.
19062
19063 * video/readers/png.c: New file.
19064
11cc30ac 190652008-01-28 Robert Millan <rmh@aybabtu.com>
19066
19067 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
19068 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
19069 `ifndef GRUB_MOD_GAP' hack.
19070 * util/elf/grub-mkimage.c (add_segments): Likewise.
19071
3abc589f 190722008-01-27 Robert Millan <rmh@aybabtu.com>
19073
19074 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
19075 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 19076 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 19077
e1907778 190782008-01-27 Robert Millan <rmh@aybabtu.com>
19079
19080 Get grub-emu to build again (including parallel builds).
19081
19082 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
19083 Split into ...
19084 (util/grub-emu.c_DEPENDENCIES): ... this, ...
19085 (normal/execute.c_DEPENDENCIES): ... this, ...
19086 (grub-emu_DEPENDENCIES): ... and this.
19087
19088 * conf/i386-efi.rmk: Likewise.
19089 * conf/i386-linuxbios.rmk: Likewise.
19090 * conf/i386-ieee1275.rmk: Likewise.
19091 * conf/powerpc-ieee1275.rmk: Likewise.
19092 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
19093
2216b101 190942008-01-27 Robert Millan <rmh@aybabtu.com>
19095
19096 * NEWS: Add a few items.
19097
f75172d9 190982008-01-27 Robert Millan <rmh@aybabtu.com>
19099
19100 Fix parallel builds with grub-emu. Based on earlier commit for
19101 grub-probe and grub-setup.
19102
19103 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19104 (util/grub-emu.c_DEPENDENCIES): ... this.
19105 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19106 (util/grub-emu.c_DEPENDENCIES): ... this.
19107 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19108 (util/grub-emu.c_DEPENDENCIES): ... this.
19109 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19110 (util/grub-emu.c_DEPENDENCIES): ... this.
19111 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19112 (util/grub-emu.c_DEPENDENCIES): ... this.
19113
3f51de77 191142008-01-27 Pavel Roskin <proski@gnu.org>
19115
19116 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
19117 to create a gap between _end and the modules added to the image
19118 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
19119 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
19120 * util/elf/grub-mkimage.c (add_segments): Likewise.
19121
2033f53e 191222008-01-26 Pavel Roskin <proski@gnu.org>
19123
19124 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
19125 just return an error.
19126
22da1f6f 191272008-01-26 Bean <bean123ch@gmail.com>
19128
19129 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
19130 (grub_reiserfs_get_item): Save offset of the next item.
19131 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
19132
2a9525e6 191332008-01-25 Robert Millan <rmh@aybabtu.com>
19134
19135 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
19136 make all filesystem sources appear together (possibly fixing omissions
19137 while at it).
19138 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19139 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19140 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19141 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19142
19143 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
19144 add `kern/file.c'.
19145 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
19146 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
19147 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
19148 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
19149
19150 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
19151 (probe): Add a sanity check to make sure of our ability to read
19152 requested files when probing for filesystem type.
19153
19154 * genmk.rb: Update copyright year (2007).
19155
19156 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
19157 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
19158 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
19159 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
19160 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
19161 : Remove function prototypes.
19162
b95f71b5 191632008-01-25 Robert Millan <rmh@aybabtu.com>
19164
19165 Revert my previous commits (based on wrong assumption of how grub_errno
19166 works).
19167
fe6b695a 19168 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 19169 * kern/file.c (grub_file_open): Likewise.
19170
d08bbb49 191712008-01-24 Pavel Roskin <proski@gnu.org>
19172
19173 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
19174 that hang if GRUB tries to setup colors.
19175 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
19176 colors for firmwares that don't support it.
19177 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
19178 Recognize Open Hack'Ware, set flags to work around its
19179 limitations.
19180
605e36ed 191812008-01-24 Robert Millan <rmh@aybabtu.com>
19182
19183 * kern/file.c (grub_file_open): Do not account previous failures of
19184 unrelated functions when grub_errno is checked for.
19185 Reported by Oleg Strikov.
19186
bac332a1 191872008-01-24 Bean <bean123ch@gmail.com>
19188
19189 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
19190 (grub_ufs_sblock): New member volume name.
19191 (grub_ufs_find_file): Fix string copy bug.
19192 (grub_ufs_label): Implement this function properly.
19193
19194 * fs/hfs.c (grub_hfs_cnid_type): New enum.
19195 (grub_hfs_iterate_records): Use the correct file number for extents
19196 and catalog file. Fix problem in next index calculation.
19197 (grub_hfs_find_node): Replace recursive function call with loop.
19198 (grub_hfs_iterate_dir): Replace recursive function call with loop.
19199
15c80c09 192002008-01-23 Robert Millan <rmh@aybabtu.com>
19201
19202 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
19203 `<grub/symbol.h>' and `<grub/multiboot.h>'.
19204 (grub_multiboot2_real_boot): New function prototype.
19205
19206 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
19207 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
19208
19209 * kern/i386/ieee1275/init.c (grub_os_area_addr)
19210 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
19211
305338fd 192122008-01-23 Robert Millan <rmh@aybabtu.com>
19213
19214 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
19215 #ifdef'ed out grub_printf().
19216
3ea52685 192172008-01-23 Robert Millan <rmh@aybabtu.com>
19218
19219 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
19220 grub_dprintf calls, since they make "debug=all" mode unusable.
19221 (grub_console_checkkey): Likewise.
19222
5882ae4b 192232008-01-23 Robert Millan <rmh@aybabtu.com>
19224
19225 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
19226 `term/i386/pc/at_keyboard.c'.
19227 (pkglib_MODULES): Add `serial.mod'.
19228 (serial_mod_SOURCES): New variable.
19229 (serial_mod_CFLAGS): Likewise.
19230 (serial_mod_LDFLAGS): Likewise.
19231
19232 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
19233 `<grub/powerpc/ieee1275/console.h>'.
19234 (grub_keyboard_controller_init): New function prototype.
19235 (grub_console_checkkey): Likewise.
19236 (grub_console_getkey): Likewise.
19237
19238 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
19239 keyboard on i386.
19240
19241 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
19242 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
19243
06ab5303 192442008-01-23 Robert Millan <rmh@aybabtu.com>
19245
19246 * kern/i386/pc/init.c (make_install_device): When memdisk image is
19247 present, "(memdisk)/boot/grub" becomes the default prefix.
19248
19249 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
19250 a memdisk tarball with all the modules. Add --overlay=DIR option that
19251 allows users to overlay additional files into the image.
19252
dbb475a4 192532008-01-23 Robert Millan <rmh@aybabtu.com>
19254
19255 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
19256 and `machine/memory.h'.
19257 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
19258 (_multiboot_mod_SOURCES): New variable.
19259 (_multiboot_mod_CFLAGS): Likewise.
19260 (_multiboot_mod_LDFLAGS): Likewise.
19261 (multiboot_mod_SOURCES): Likewise.
19262 (multiboot_mod_CFLAGS): Likewise.
19263 (multiboot_mod_LDFLAGS): Likewise.
19264
19265 * include/grub/i386/ieee1275/loader.h: New file.
19266
19267 * include/grub/i386/ieee1275/machine.h: Likewise.
19268
19269 * include/grub/i386/ieee1275/memory.h: Likewise.
19270
19271 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
19272 variable declaration.
19273 (grub_os_area_size): Likewise.
19274
19275 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
19276 (grub_lower_mem, grub_upper_mem): New variables.
19277 (grub_stop_floppy): New function (just to make
19278 grub_multiboot2_real_boot() happy).
19279
19280 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
19281 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
19282 (grub_stop): New function.
19283 Include `"../realmode.S"' and `"../loader.S"'.
19284
19285 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
19286 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
19287
19288 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
19289 rely on grub_multiboot2_real_boot() for final boot.
19290
25638629 192912008-01-22 Robert Millan <rmh@aybabtu.com>
19292
19293 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
19294 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
19295 device that doesn't look like an SD card.
19296 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
19297 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
19298 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
19299 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
19300 found.
19301
9dad816d 193022008-01-22 Robert Millan <rmh@aybabtu.com>
19303
19304 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
19305 avoid claiming over our own code.
19306
34842f2d 193072008-01-22 Bean <bean123ch@gmail.com>
19308
19309 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
19310 (jpeg_mod_SOURCES): New variable.
19311 (jpeg_mod_CFLAGS): Likewise.
19312 (jpeg_mod_LDFLAGS): Likewise.
19313
19314 * video/readers/jpeg.c : New file.
19315
44023a28 193162008-01-22 Bean <bean123ch@gmail.com>
19317
19318 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
19319 there are no more items.
19320
bc2d8ac6 193212008-01-21 Robert Millan <rmh@aybabtu.com>
19322
19323 * kern/mm.c (grub_mm_init_region): Improve debug message.
19324
261bd4bc 193252008-01-21 Robert Millan <rmh@aybabtu.com>
19326
19327 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
19328 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
19329 address.
19330 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
19331 a C macro.
19332 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
19333 Indicates start of upper memory.
19334 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
19335 (generate_image): Abort when image size is big enough to corrupt
19336 upper memory.
19337
19338 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
19339 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
19340 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
19341 instead of hardcoding 0xA0000.
19342 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
19343 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
19344 instead of hardcoding 0xA0000.
19345
f970b55e 193462008-01-21 Robert Millan <rmh@aybabtu.com>
19347
19348 * disk/memdisk.c (memdisk_size): New variable.
19349 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
19350 `memdisk_size'.
19351 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
19352 image to dynamic memory.
19353 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
19354 `memdisk_size'. Free memdisk block.
19355
1a8b0526 193562008-01-21 Robert Millan <rmh@aybabtu.com>
19357
19358 Fix detection of very small filesystems (like tar).
19359
19360 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
19361 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
19362 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
19363 a problem with this disk).
19364
6e9b4aab 193652008-01-21 Robert Millan <rmh@aybabtu.com>
19366
19367 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
19368 on grub_biosdisk_rw_standard() error.
19369
0d8837b2 193702008-01-21 Robert Millan <rmh@aybabtu.com>
19371
19372 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
19373 recent changes.
19374 * kern/elf.c: Likewise.
19375 * kern/ieee1275/ieee1275.c: Likewise.
19376 * kern/powerpc/ieee1275/openfw.c: Likewise.
19377 * term/ieee1275/ofconsole.c: Likewise.
19378
ffd36e34 193792008-01-21 Robert Millan <rmh@aybabtu.com>
19380
19381 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
19382
3f0093d0 19383 * include/grub/kernel.h (grub_arch_memdisk_addr)
19384 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 19385
3f0093d0 19386 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
19387 (grub_arch_memdisk_size): ... to here.
ffd36e34 19388
6c391b21 193892008-01-21 Robert Millan <rmh@aybabtu.com>
19390
19391 Mostly based on bugfix from Bean.
19392
19393 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
19394 attribute with hook() parameter.
19395 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
19396 declaration.
19397 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
19398 attribute with hook() parameter.
19399 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
19400 declaration.
19401
55a581dc 194022008-01-21 Robert Millan <rmh@aybabtu.com>
19403
19404 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
19405 (pkglib_MODULES): Add `memdisk.mod'.
19406 (memdisk_mod_SOURCES): New variable.
19407 (memdisk_mod_CFLAGS): Likewise.
19408 (memdisk_mod_LDFLAGS): Likewise.
19409
19410 * disk/memdisk.c: New file.
19411
19412 * include/grub/disk.h (grub_disk_dev_id): Add
19413 `GRUB_DISK_DEVICE_MEMDISK_ID'.
19414
19415 * include/grub/i386/pc/kernel.h
19416 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
19417 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
19418 (grub_kernel_image_size): New variable declaration.
19419 (grub_total_module_size): Likewise.
19420 (grub_memdisk_image_size): Likewise.
19421
19422 * include/grub/i386/pc/memory.h
19423 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
19424
19425 * include/grub/kernel.h: Include `<grub/symbol.h>'.
19426 (grub_arch_memdisk_addr): New variable declaration.
19427 (grub_arch_memdisk_size): Likewise.
19428
19429 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
19430 (grub_arch_memdisk_size): Likewise.
19431
19432 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
19433 (codestart): Replace hardcoded `0x100000' with
19434 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
19435
19436 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
19437 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
19438 not NULL, append the contents of the file it refers to, at the end of
19439 the compressed kernel image. Initialize `grub_memdisk_image_size'
19440 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
19441 (options): Add "memdisk"|'m' option.
19442 (main): Parse --memdisk|-m option, and pass user-provided path as
19443 parameter to generate_image().
19444
3d7f54c9 194452008-01-20 Robert Millan <rmh@aybabtu.com>
19446
19447 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
19448 grub_dprintf() calls from here ...
19449 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
19450
0bf74728 194512008-01-20 Robert Millan <rmh@aybabtu.com>
19452
19453 Fix detection of "real mode" when /options/real-mode? doesn't exist.
19454
19455 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
19456 declaration.
19457 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
19458 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
19459 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 19460 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 19461 property).
19462 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
19463 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
19464
33bf70a7 194652008-01-19 Robert Millan <rmh@aybabtu.com>
19466
fe6b695a 19467 Get rid of confusing function (superseded by
33bf70a7 19468 `grub_ieee1275_get_integer_property')
19469 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
19470 prototype.
19471 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
19472 function.
19473 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
19474 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 19475 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 19476
e2da7d26 194772008-01-19 Robert Millan <rmh@aybabtu.com>
19478
19479 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
19480 command after "shut-down", since implementations differ on which
19481 the command for halt is.
19482
59f1fd8d 194832008-01-19 Robert Millan <rmh@aybabtu.com>
19484
19485 * include/grub/i386/linuxbios/console.h: Add header protection.
19486 (grub_keyboard_controller_init): New function prototype.
19487 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
19488 (KEYBOARD_COMMAND_READ): Likewise.
19489 (KEYBOARD_COMMAND_WRITE): Likewise.
19490 (KEYBOARD_SCANCODE_SET1): Likewise.
19491 (grub_keyboard_controller_write): New function.
19492 (grub_keyboard_controller_read): Likewise.
19493 (grub_keyboard_controller_init): Likewise.
19494
19495 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
19496 (grub_console_init): On coreboot/LinuxBIOS, call
19497 grub_keyboard_controller_init().
19498
5f5a7c15 194992008-01-19 Robert Millan <rmh@aybabtu.com>
19500
19501 PowerPC changes provided by Pavel Roskin.
19502
19503 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
19504 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
19505 don't rely on cmain() doing it.
19506 * kern/i386/ieee1275/startup.S (_start): Store %eax in
19507 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
19508
1210e168 195092008-01-16 Robert Millan <rmh@aybabtu.com>
19510
19511 * include/grub/i386/linuxbios/memory.h
19512 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
19513 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
19514 receive `table_header' as argument. Instead, probe for it in the
19515 known memory ranges where it can be present.
19516 (grub_available_iterate): Do not pass a fixed `table_header' address
19517 to grub_linuxbios_table_iterate().
19518
3d04eab8 195192008-01-15 Robert Millan <rmh@aybabtu.com>
19520
19521 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
19522 * conf/i386-ieee1275.rmk: New file.
19523 * include/grub/i386/ieee1275/console.h: Likewise.
19524 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
19525 * include/grub/i386/ieee1275/kernel.h: Likewise.
19526 * include/grub/i386/ieee1275/time.h: Likewise.
19527 * kern/i386/ieee1275/init.c: Likewise.
19528 * kern/i386/ieee1275/startup.S: Likewise.
19529
d1bc1b73 195302008-01-15 Robert Millan <rmh@aybabtu.com>
19531
19532 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
19533 when pointers are 32-bit (but still do set it to one when they are
19534 64-bit).
19535
66a65807 195362008-01-15 Robert Millan <rmh@aybabtu.com>
19537
19538 * include/grub/ieee1275/ieee1275.h
19539 (grub_ieee1275_get_integer_property): New function prototype.
19540
19541 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
19542 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 19543 grub_ieee1275_get_property() to handle endianness.
66a65807 19544
19545 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
19546 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 19547 where appropriate.
66a65807 19548 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
19549 (grub_map): Likewise.
19550 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
19551
a83ccafd 195522008-01-15 Bean <bean123ch@gmail.com>
19553
19554 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
19555 (grub_script_execute_cmdline): Reset grub_errno.
19556
19557 * normal/main.c (read_config_file): Reset grub_errno.
19558
19559 * normal/parse.y (script_init): New.
19560 (script): Move function and menuentry here.
19561 (delimiter): New.
19562 (command): Add delimiter at the end of command.
19563 (commands): Adjust to match the new command.
19564 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 19565 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 19566 (if): Use the new commands.
19567
19568 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
19569
df6ecfc6 195702008-01-15 Robert Millan <rmh@aybabtu.com>
19571
19572 * normal/menu.c (run_menu): Move timeout message from here ...
19573 (print_timeout): ... to here.
19574 (run_menu): Use print_timeout() once during initial draw to print
19575 the whole message, and again in every clock tick to update only
19576 the number of seconds.
19577
87ae25eb 195782008-01-15 Robert Millan <rmh@aybabtu.com>
19579
19580 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
19581 actual size of `available' from grub_ieee1275_get_property(), and
19582 restrict parsing to that bound.
19583
47bf09a4 195842008-01-15 Christian Franke <franke@computer.org>
19585
19586 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
19587 (argp_program_version): Remove variable.
19588 (argp_program_bug_address): Likewise.
19589 (options): Convert from struct argp_option to struct option.
19590 (struct arguments): Remove.
19591 (parse_opt): Remove.
19592 (usage): New function.
19593 (main): Replace struct args members by simple variables.
19594 Replace argp_parse() by getopt_long().
19595 Add switch to evaluate options.
19596 Add missing "(...)" around root_dev in prefix string.
19597
c86f1469 195982008-01-14 Robert Millan <rmh@aybabtu.com>
19599
19600 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
19601 for grub_ieee1275_exit(), in order to improve portability.
19602
e622c559 196032008-01-14 Robert Millan <rmh@aybabtu.com>
19604
19605 * util/grub.d/10_linux.in (prefix): Define.
19606 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
19607
44cb1ec8 196082008-01-13 Pavel Roskin <proski@gnu.org>
19609
19610 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
19611 grub_errno if no errors have been detected.
19612
1eb8c802 196132008-01-12 Robert Millan <rmh@aybabtu.com>
19614
19615 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
19616 (grub_util_get_dev_abstraction): New function prototype.
19617
19618 * util/getroot.c: Include `<grub/util/getroot.h>'
19619 (grub_util_get_grub_dev): Move detection of abstraction type to ...
19620 (grub_util_get_dev_abstraction): ... here (new function).
19621
19622 * util/grub-probe.c: Convert PRINT_* to an enum. Add
19623 `PRINT_ABSTRACTION'.
19624 (probe): Probe for abstraction type when requested.
19625 (main): Understand `--target=abstraction'.
19626
19627 * util/i386/efi/grub-install.in: Add abstraction module to core
19628 image when it is found to be necessary.
19629 * util/i386/pc/grub-install.in: Likewise.
19630 * util/powerpc/ieee1275/grub-install.in: Likewise.
19631
19632 * util/update-grub_lib.in (font_path): Return system path without
19633 converting to GRUB path.
19634 * util/update-grub.in: Convert system path returned by font_path()
19635 to a GRUB path. Use `grub-probe -t abstraction' to determine what
19636 abstraction module is needed for loading fonts (if any). Export
19637 that as `GRUB_PRELOAD_MODULES'.
19638 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
19639 insmod commands).
19640
52bd3de9 196412008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
19642
19643 Remove some unused code from reiserfs.
f19dbdb7 19644
52bd3de9 19645 * fs/reiserfs.c (struct grub_reiserfs_key)
19646 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
19647 (struct grub_reiserfs_node_body): Removed.
19648 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
19649 Likewise.
19650 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19651 Likewise.
19652 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19653 Likewise.
19654 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19655 Likewise.
19656 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
19657 Likewise.
19658 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
19659 Likewise.
19660 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19661 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19662 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19663
2f80039d 196642008-01-10 Robert Millan <rmh@aybabtu.com>
19665
19666 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
19667 Determines if a file is garbage left by packaging systems, etc.
19668 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
19669 for processing /etc/grub.d scripts.
19670 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
19671 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
19672 as a condition for processing Linux images.
19673
87888032 196742008-01-10 Pavel Roskin <proski@gnu.org>
19675
19676 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
19677 to compile reiserfs.c on PowerPC.
19678
7e54fced 196792008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 19680
19681 * kern/device.c (grub_device_iterate): Do not abort device iteration
19682 when one of the devices cannot be opened.
19683 * kern/disk.c (grub_disk_open): Do not account previous failures of
19684 unrelated functions when grub_errno is checked for.
19685
5aa541e6 196862008-01-08 Robert Millan <rmh@aybabtu.com>
19687
19688 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
19689 `! grub_linux_is_bzimage', change order of address comparison to make
19690 it more intuitive, and improve "too big zImage" error message.
19691
7076340d 196922008-01-08 Robert Millan <rmh@aybabtu.com>
19693
19694 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
19695 `$(update-grub_DATA)'.
19696 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
19697 targets.
19698
9ca70333 196992008-01-07 Robert Millan <rmh@aybabtu.com>
19700
19701 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
19702 which instruction is modified by grub-setup during installation
19703 (since it wasn't obvious by only looking at this file).
19704
38ccf575 197052008-01-07 Robert Millan <rmh@aybabtu.com>
19706
19707 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
19708 listing actual TODO items.
19709
f5db4291 197102008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
19711
868967cf 19712 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
19713 correctly.
19714 (grub_reiserfs_get_key_offset): Likewise.
19715 (grub_reiserfs_set_key_offset): Likewise.
19716 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 19717 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 19718
19719 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
19720 better to remove the bitfield version completely.
f19dbdb7 19721
868967cf 197222008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 19723
f5db4291 19724 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
19725 allocated from the heap, due to the fshelp implementation.
19726 (grub_reiserfs_dir): Free NODE, due to the same reason.
19727
492e6d9d 197282008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
19729
19730 Mostly from Vincent Pelletier:
f19dbdb7 19731
492e6d9d 19732 * fs/reiserfs.c: New file.
f19dbdb7 19733
492e6d9d 19734 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
19735 (reiserfs_mod_SOURCES): New variable.
19736 (reiserfs_mod_CFLAGS): Likewise.
19737 (reiserfs_mod_LDFLAGS): Likewise.
19738
19739 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
19740 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
19741 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
19742 normal/color.c.
19743
9ce3e7c1 197442008-01-06 Robert Millan <rmh@aybabtu.com>
19745
19746 * normal/color.c: Remove `<grub/env.h>'.
19747
f3b58148 197482008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
19749
19750 * include/grub/normal.h: Include <grub/env.h>.
19751
7ac3bcfa 197522008-01-05 Robert Millan <rmh@aybabtu.com>
19753
19754 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
19755 usage example with `(hd0,1)'.
fb358190 19756 Reported by Samuel Thibault.
7ac3bcfa 19757
c8ee99d7 197582008-01-05 Robert Millan <rmh@aybabtu.com>
19759
19760 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
19761 (grub_linux_boot_zimage): Rename to ...
19762 (grub_linux_boot): ... this.
19763 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
19764 (grub_linux_boot_zimage): Conditionalize zImage copy.
19765
19766 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
19767 (grub_linux_boot_bzimage): Remove prototype.
19768 (grub_linux_boot_zimage): Rename to ...
19769 (grub_linux_boot): ... this.
19770
19771 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
19772 (grub_linux_boot): Remove function.
19773
0ece25b1 197742008-01-05 Robert Millan <rmh@aybabtu.com>
19775
19776 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
19777 (grub_env_write_color_highlight): Likewise.
19778 (grub_wait_after_message): Likewise.
19779
19780 * normal/color.c: New file.
19781
19782 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19783 (normal_mod_DEPENDENCIES): Likewise.
19784
19785 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19786 (normal_mod_DEPENDENCIES): Likewise.
19787
19788 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19789 (normal_mod_DEPENDENCIES): Likewise.
19790
19791 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19792 (normal_mod_DEPENDENCIES): Likewise.
19793
19794 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
19795 for waiting after a message is printed.
19796 * normal/main.c (read_config_file): Likewise.
19797 (grub_normal_init): Register grub_env_write_color_normal() and
19798 grub_env_write_color_highlight() hooks. Mark `color_normal' and
19799 `color_highlight' variables as global.
19800
19801 * normal/menu.c (grub_wait_after_message): New function.
19802 (grub_color_menu_normal): New variable. Replaces ...
19803 (GRUB_COLOR_MENU_NORMAL): ... this macro.
19804 (grub_color_menu_highlight): New variable. Replaces ...
19805 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
19806 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
19807 `GRUB_TERM_COLOR_STANDARD'.
19808 (print_message): Use `grub_setcolorstate' to reload colors. Rename
19809 `normal_code' and `highlight_code' to `old_color_normal' and
19810 `old_color_highlight', respectively.
19811 (grub_menu_init_page): Update colors when drawing the menu, based on
19812 `menu_color_normal' and `menu_color_highlight' variables.
19813 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
19814 a message is printed.
19815
182dd4e5 198162008-01-05 Robert Millan <rmh@aybabtu.com>
19817
19818 * kern/env.c (grub_env_context_open): Propagate hooks for global
19819 variables to new context.
19820
19821 * kern/main.c (grub_set_root_dev): Export `root' variable.
19822
ddf8f6ad 198232008-01-05 Robert Millan <rmh@aybabtu.com>
19824
19825 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 19826 discs unconditionally, since udev and others have options to provide
ddf8f6ad 19827 them.
19828
d8b43d9b 198292008-01-05 Robert Millan <rmh@aybabtu.com>
19830
19831 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
19832
2bff2de3 198332008-01-04 Christian Franke <franke@computer.org>
19834
19835 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
19836 of eisa_mmap.
19837
97eab917 198382008-01-03 Pavel Roskin <proski@gnu.org>
19839
19840 * kern/i386/linuxbios/init.c: Put "void" to all function
19841 declarations with no arguments.
19842 * kern/powerpc/ieee1275/init.c: Likewise.
19843 * term/i386/pc/at_keyboard.c: Likewise.
19844 * term/i386/pc/vga_text.c: Likewise.
19845 * util/grub-mkdevicemap.c: Likewise.
19846
b9416d00 198472008-01-02 Robert Millan <rmh@aybabtu.com>
19848
19849 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
19850 message when loaded image is out of bounds.
19851 (grub_multiboot_load_elf64): Likewise.
19852
92695df9 198532008-01-02 Pavel Roskin <proski@gnu.org>
19854
19855 * util/grub.d/10_linux.in: Try version without ".old" when
19856 looking for initrd. It's better to use initrd from the newer
19857 kernel of the same version than no initrd at all.
19858
d98d9cad 198592008-01-01 Robert Millan <rmh@aybabtu.com>
19860
19861 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
19862
dbfdce36 198632008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
19864
f19dbdb7 19865 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 19866 grub_video_get_active_render_target.
19867 (grub_video_adapter): Added unmap_color and get_active_render_target.
19868
f19dbdb7 19869 * video/video.c: Added grub_video_unmap_color and
dbfdce36 19870 grub_video_get_active_render_target.
19871 (grub_video_get_info): Changed method to accept NULL pointer as an
19872 argument to allow detection of active video adapter.
19873
19874 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
19875 grub_video_vbe_unmap_color_int.
19876 Added grub_video_vbe_unmap_color and
19877 grub_video_vbe_get_active_render_target.
19878 (grub_video_vbe_adapter): Added unmap_color and
19879 get_active_render_target.
19880
f19dbdb7 19881 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 19882 with grub_video_vbe_unmap_color_int.
19883
19884 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
19885 (DEFAULT_NORMAL_COLOR): Likewise.
19886 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
19887 (DEFAULT_FG_COLOR): Removed.
19888 (DEFAULT_BG_COLOR): Likewise.
19889 (DEFAULT_CURSOR_COLOR): Changed value.
19890 (grub_virtual_screen): Added standard_color_setting,
19891 normal_color_setting, highlight_color_setting and term_color.
19892 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
19893 (bitmap_width): Added.
19894 (bitmap_height): Likewise.
19895 (bitmap): Likewise.
19896 (set_term_color): Likewise.
19897 (grub_virtual_screen_setup): Changed to use new terminal coloring
19898 settings.
19899 (grub_gfxterm_init): Added init for bitmap.
19900 (grub_gfxterm_fini): Added destroy for bitmap.
19901 (redraw_screen_rect): Updated to use background bitmap and new
19902 terminal coloring.
19903 (scroll_up): Added optimization for case when there is no bitmap.
19904 (grub_gfxterm_cls): Fixed to use correct background color.
19905 (grub_virtual_screen_setcolorstate): Changed to use new terminal
19906 coloring.
19907 (grub_virtual_screen_setcolor): Likewise.
19908 (grub_virtual_screen_getcolor): Added.
19909 (grub_gfxterm_background_image_cmd): Likewise.
19910 (grub_video_term): Added setcolor and getcolor.
19911 (MOD_INIT): Added registration of background_image command.
19912 (MOD_TERM): Added unregistration for background_image command.
19913
c3c20931 199142007-12-30 Pavel Roskin <proski@gnu.org>
19915
19916 * loader/multiboot_loader.c: Fix multiboot command
19917 unregistration. Fix all typos in the word "multiboot".
19918
df266716 199192007-12-29 Pavel Roskin <proski@gnu.org>
94239199 19920
19921 * util/grub.d/10_linux.in: Refactor search for initrd. Add
19922 support for initrd names used in Fedora.
19923
fc6e896c 199242007-12-26 Bean <bean123ch@gmail.com>
19925
19926 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
19927 (cpio_mod_SOURCES): New variable.
19928 (cpio_mod_CFLAGS): Likewise.
19929 (cpio_mod_LDFLAGS): Likewise.
19930
19931 * fs/cpio.c: New file.
19932
19933 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
19934
19935 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19936
19937 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19938
19939 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19940
533110ad 199412007-12-25 Robert Millan <rmh@aybabtu.com>
19942
19943 * include/grub/term.h (struct grub_term): Add `getcolor' function.
19944 (grub_getcolor): New function.
19945
19946 * kern/term.c (grub_getcolor): New function.
19947 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
19948 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
19949 (print_entry): Set normal and highlight colors to
19950 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
19951 respectively, before printing and restore them to old
19952 values afterwards.
19953 (grub_menu_init_page): Likewise. Fill an additional colored space
19954 that would otherwise be left blank.
19955
19956 * term/efi/console.c (grub_console_getcolor): New function.
19957 (struct grub_console_term.getcolor): New variable.
19958 * term/i386/pc/console.c (grub_console_getcolor): New function.
19959 (struct grub_console_term.getcolor): New variable.
19960 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
19961 (struct grub_console_term.getcolor): New variable.
19962
19963 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
19964 (struct grub_console_term.setcolor): Remove variable.
19965 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
19966 (struct grub_console_term.setcolor): Remove variable.
19967 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
19968 (struct grub_console_term.setcolor): Remove variable.
19969 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
19970 (struct grub_console_term.setcolor): Remove variable.
19971
4931827f 199722007-12-25 Robert Millan <rmh@aybabtu.com>
19973
19974 * configure.ac: Search for possible unifont.hex locations, and
19975 define UNIFONT_HEX if found.
19976
19977 * Makefile.in (UNIFONT_HEX): Define variable.
19978 (DATA): Rename to ...
19979 (PKGLIB): ... this. Update all users.
19980 (PKGDATA): New variable.
19981 (pkgdata_IMAGES): Rename to ...
19982 (pkglib_IMAGES): ... this. Update all users.
19983 (pkgdata_MODULES): Rename to ...
19984 (pkglib_MODULES): ... this. Update all users.
19985 (pkgdata_PROGRAMS): Rename to ...
19986 (pkglib_PROGRAMS): ... this. Update all users.
19987 (pkgdata_DATA): Rename to ...
19988 (pkglib_DATA): ... this. Update all users.
19989 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
19990 (unicode.pff, ascii.pff): New rules.
19991 (all-local): Add `$(PKGDATA)' dependency.
19992 (install-local): Process `$(PKGDATA)'.
19993
19994 * util/update-grub_lib.in (font_path): Search for *.pff files in
19995 a few more locations, including `${pkgdata}'.
19996
57e57e31 199972007-12-23 Robert Millan <rmh@aybabtu.com>
19998
19999 Patch from Bean <bean123ch@gmail.com>:
20000 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
20001 `size'.
20002
4bc72aa9 200032007-12-21 Bean <bean123ch@gmail.com>
20004
20005 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
20006 (ntfscomp_mod_SOURCES): New variable.
20007 (ntfscomp_mod_CFLAGS): Likewise.
20008 (ntfscomp_mod_LDFLAGS): Likewise.
20009
20010 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
20011 (grub_probe_SOURCES): Likewise.
20012 (grub_emu_SOURCES): Likewise.
20013
20014 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20015 (grub_emu_SOURCES): Likewise.
20016
20017 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20018 (grub_emu_SOURCES): Likewise.
20019
20020 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20021 (grub_emu_SOURCES): Likewise.
20022
20023 * fs/ntfs.c (grub_ntfscomp_func): New variable.
20024 (read_run_list): Renamed to grub_ntfs_read_run_list.
20025 (decomp_nextvcn): Moved to ntfscomp.c.
20026 (decomp_getch): Likewise.
20027 (decomp_get16): Likewise.
20028 (decomp_block): Likewise.
20029 (read_block): Likewise.
20030 (read_data): Partially moved to ntfscomp.c.
20031 (fixup): Change unsigned to grub_uint16_t.
20032 (read_mft): Change unsigned long to grub_uint32_t.
20033 (read_attr): Likewise.
20034 (read_data): Likewise.
20035 (read_run_data): Likewise.
20036 (read_run_list): Likewise.
20037 (read_mft): Likewise.
20038
20039 * fs/ntfscomp.c: New file.
20040
20041 * include/grub/ntfs.h: New file.
20042
af680a87 200432007-12-16 Robert Millan <rmh@aybabtu.com>
20044
20045 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
20046 IDE disk check, since Linux is known to support 20 IDE disks.
20047 Reported by Colin Watson.
20048
84be7599 200492007-12-15 Bean <bean123ch@gmail.com>
20050
20051 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
20052 (lnxboot_img_SOURCES): New variable.
20053 (lnxboot_img_ASFLAGS): Likewise.
20054 (lnxboot_img_LDFLAGS): Likewise.
20055
20056 * boot/i386/pc/lnxboot.S: New file.
20057
6af9db01 200582007-11-24 Pavel Roskin <proski@gnu.org>
20059
20060 * configure.ac: Test if '--build-id=none' is supported by the
20061 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
20062 objcopy to generate incorrect binary files (binutils
20063 2.17.50.0.18-1 as shipped by Fedora 8).
20064 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
20065 linking, so that build ID doesn't break the test.
20066
7361cfe6 200672007-11-24 Pavel Roskin <proski@gnu.org>
20068
20069 * include/grub/i386/time.h: use "void" in the argument list
20070 of grub_cpu_idle().
20071 * include/grub/powerpc/time.h: Likewise.
20072 * include/grub/sparc64/time.h: Likewise.
20073
1593e10c 200742007-11-18 Christian Franke <franke@computer.org>
20075
20076 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
20077 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
20078 This fixes the problem that function keys did not work in grub-emu.
20079
3b8db1a8 200802007-11-18 Christian Franke <franke@computer.org>
20081
20082 * disk/host.c (grub_host_open): Remove attribute unused from
20083 name parameter. Add check for "host". This fixes the problem
20084 that grub-emu does not find partitions.
20085
2e29408d 200862007-11-18 Christian Franke <franke@computer.org>
20087
20088 * util/hostfs.c (is_dir): New function.
20089 (grub_hostfs_dir): Handle missing dirent.d_type case.
20090 (grub_hostfs_read): Add missing fseek().
20091 (grub_hostfs_label): Clear label pointer. This fixes a crash
20092 of grub-emu on "ls (host)".
20093
398cd047 200942007-11-18 Christian Franke <franke@computer.org>
20095
20096 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
20097 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
20098 to 64 bit boundary by default.
20099
c405c391 201002007-11-18 Bean <bean123ch@gmail.com>
20101
20102 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
20103 (hexdump_mod_SOURCES): New variable.
20104 (hexdump_mod_CFLAGS): Likewise.
20105 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 20106
c405c391 20107 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20108
20109 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20110
20111 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20112
20113 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20114
20115 * include/grub/hexdump.h: New file.
20116
20117 * commands/hexdump.c: New file.
20118
5cced7fd 201192007-11-10 Robert Millan <rmh@aybabtu.com>
20120
20121 * commands/i386/pc/play.c (beep_off): Switch order of arguments
20122 in grub_outb() calls.
20123 (beep_on): Likewise.
20124
8b714eb0 201252007-11-10 Christian Franke <franke@computer.org>
20126
20127 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
20128 (grub_menu_run): Likewise.
20129
ce0f1839 201302007-11-10 Robert Millan <rmh@aybabtu.com>
20131
20132 * include/grub/i386/efi/machine.h: New file.
20133 * include/grub/i386/linuxbios/machine.h: Likewise.
20134 * include/grub/i386/pc/machine.h: Likewise.
20135 * include/grub/powerpc/ieee1275/machine.h: Likewise.
20136 * include/grub/sparc64/ieee1275/machine.h: Likewise.
20137
20138 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
20139 (serial_hw_io_addr): New variable.
20140 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
20141 instead of `(unsigned short *) 0x400'.
20142
270c237d 201432007-11-10 Bean <bean123ch@gmail.com>
20144
20145 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
20146
a87783bf 201472007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
20148
20149 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
20150 (vga_mod_SOURCES): Added.
20151 (vga_mod_CFLAGS): Likewise.
20152 (vga_mod_LDFLAGS): Likewise.
20153
20154 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
20155 grub_outb() calls.
20156 (set_map_mask): Likewise.
20157 (set_read_map): Likewise.
20158 (set_read_address): Likewise.
20159 (vga_font): Removed variable.
20160 (get_vga_glyph): Removed function.
20161 (invalidate_char): Likewise.
20162 (write_char): Changed to use grub_font_get_glyph() for font
20163 information.
20164 (grub_vga_putchar): Likewise.
20165 (grub_vga_getcharwidth): Likewise.
20166
6433b448 201672007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
20168
20169 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
20170 flags.
20171 (pxeboot_img_LDFLAGS): Likewise.
20172 (diskboot_img_LDFLAGS): Likewise.
20173 (kernel_img_LDFLAGS): Likewise.
20174
49178511 201752007-11-06 Robert Millan <rmh@aybabtu.com>
20176
20177 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
20178 in grub_outb() calls.
20179 (serial_hw_init): Likewise.
20180
53b052de 201812007-11-05 Robert Millan <rmh@aybabtu.com>
20182
20183 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
20184 spaces. Skip non-regular files.
20185
5ab33bba 201862007-11-05 Robert Millan <rmh@aybabtu.com>
20187
20188 * kern/disk.c (grub_disk_firmware_fini)
20189 (grub_disk_firmware_is_tainted): New variables.
20190
20191 * include/grub/disk.h (grub_disk_firmware_fini)
20192 (grub_disk_firmware_is_tainted): Likewise.
20193
20194 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
20195 (grub_disk_biosdisk_fini): ... to here.
20196 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
20197 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
20198 is set. Register grub_disk_biosdisk_fini() in
20199 `grub_disk_firmware_fini'.
20200
20201 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
20202 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
20203 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
20204 to finish existing firmware disk interface.
20205
20206 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
20207 (ata_mod_SOURCES): New variable.
20208 (ata_mod_CFLAGS): Likewise.
20209 (ata_mod_LDFLAGS): Likewise.
20210
0149ab7c 202112007-11-05 Robert Millan <rmh@aybabtu.com>
20212
20213 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
20214 (grub_ata_wait): Reimplement using grub_millisleep().
20215
20216 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
20217 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
20218
be7ac41e 202192007-11-03 Marco Gerards <marco@gnu.org>
20220
20221 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
20222 (CRTC_ADDR_PORT): New macro.
20223 (CRTC_DATA_PORT): Likewise.
20224 (CRTC_CURSOR): Likewise.
20225 (CRTC_CURSOR_ADDR_HIGH): Likewise.
20226 (CRTC_CURSOR_ADDR_LOW): Likewise.
20227 (update_cursor): New function.
20228 (grub_console_real_putchar): Call `update_cursor'.
20229 (grub_console_gotoxy): Likewise.
20230 (grub_console_cls): Set the default color when clearing the
20231 screen.
20232 (grub_console_setcursor): Implemented.
20233
bb06ab2e 202342007-11-03 Marco Gerards <marco@gnu.org>
20235
20236 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
20237 become activate.
20238 (grub_ata_pio_write): Likewise.
20239
20240 (grub_atapi_identify): Wait after issuing an ATA command.
20241 (grub_atapi_packet): Likewise.
20242 (grub_ata_identify): Likewise.
20243 (grub_ata_readwrite): Likewise.
20244
cf8f780b 202452007-11-03 Marco Gerards <marco@gnu.org>
20246
20247 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
20248 (grub_ata_pio_write): Likewise.
20249 (grub_ata_readwrite): Use `grub_error', instead of
20250 returning `grub_errno'.
20251
ed649e54 202522007-11-03 Marco Gerards <marco@gnu.org>
20253
20254 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
20255 grub_ata_pio_write once for every single sector, instead of for
20256 multiple sectors.
20257
ca25d8f0 202582007-10-31 Robert Millan <rmh@aybabtu.com>
20259
20260 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
20261
20262 * conf/i386-linuxbios.rmk: New file.
20263
20264 * kern/i386/pc/hardware.c: Likewise.
20265 * term/i386/pc/at_keyboard.c: Likewise.
20266 * term/i386/pc/vga_text.c: Likewise.
20267
20268 * include/grub/i386/linuxbios/boot.h: Likewise.
20269 * include/grub/i386/linuxbios/console.h: Likewise.
20270 * include/grub/i386/linuxbios/init.h: Likewise.
20271 * include/grub/i386/linuxbios/kernel.h: Likewise.
20272 * include/grub/i386/linuxbios/loader.h: Likewise.
20273 * include/grub/i386/linuxbios/memory.h: Likewise.
20274 * include/grub/i386/linuxbios/serial.h: Likewise.
20275 * include/grub/i386/linuxbios/time.h: Likewise.
20276
20277 * kern/i386/linuxbios/init.c: Likewise.
20278 * kern/i386/linuxbios/startup.S: Likewise.
20279 * kern/i386/linuxbios/table.c: Likewise.
20280
e911ecc1 202812007-10-31 Marco Gerards <marco@gnu.org>
20282
20283 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
20284 (ata_mod_SOURCES): New variable.
20285 (ata_mod_CFLAGS): Likewise.
20286 (ata_mod_LDFLAGS): Likewise.
20287
20288 * disk/ata.c: New file.
20289
20290 * include/grub/disk.h (grub_disk_dev_id): Add
20291 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 20292
7f66d0e0 202932007-10-31 Robert Millan <rmh@aybabtu.com>
20294
20295 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
20296 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
20297
20298 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
20299 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
20300
20301 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
20302 `<grub/types.h>'.
20303
20304 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
20305
5cd7dd46 203062007-10-27 Robert Millan <rmh@aybabtu.com>
20307
3236ca65 20308 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 20309
2ebfc90f 203102007-10-22 Robert Millan <rmh@aybabtu.com>
20311
20312 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
20313 `"../realmode.S"'.
20314 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
20315
73fcb0f3 203162007-10-22 Robert Millan <rmh@aybabtu.com>
20317
20318 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
20319 (pkgdata_MODULES): Add `biosdisk.mod'.
20320 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
20321 variables.
20322
20323 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
20324 (grub_biosdisk_init): Replace with ...
20325 (GRUB_MOD_INIT(biosdisk)): ... this.
20326 (grub_biosdisk_fini): Replace with ...
20327 (GRUB_MOD_FINI(biosdisk)): ... this.
20328
20329 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
20330 (grub_machine_init): Remove call to grub_biosdisk_init().
20331 (grub_machine_fini): Remove call to grub_machine_fini().
20332
20333 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
20334
3381d274 203352007-10-22 Robert Millan <rmh@aybabtu.com>
20336
20337 * include/grub/time.h: New file.
20338 * include/grub/i386/time.h: Likewise.
20339 * include/grub/powerpc/time.h: Likewise.
20340 * include/grub/sparc64/time.h: Likewise.
20341
20342 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
20343 instances to ...
20344 (KERNEL_MACHINE_TIME_HEADER): ... this.
20345 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
20346 instances to ...
20347 (KERNEL_MACHINE_TIME_HEADER): ... this.
20348 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
20349 instances to ...
20350 (KERNEL_MACHINE_TIME_HEADER): ... this.
20351
20352 * kern/i386/efi/init.c: Include `<grub/time.h>'.
20353 (grub_millisleep): New function.
20354 * kern/i386/pc/init.c: Include `<grub/time.h>'.
20355 (grub_millisleep): New function.
20356 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
20357 Remove `grub/machine/time.h' include.
20358 (grub_millisleep): New function.
20359 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
20360 Remove `grub/machine/time.h' include.
20361 (grub_millisleep): New function.
20362
20363 * include/grub/misc.h (grub_div_roundup): New function.
20364
20365 * kern/misc.c: Include `<grub/time.h>'.
20366 (grub_millisleep_generic): New function.
20367
20368 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
20369 Add `time.h'.
20370 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
20371 Add `time.h'.
20372 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
20373 `machine/time.h'. Add `time.h'.
20374 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
20375
a39a0312 203762007-10-21 Robert Millan <rmh@aybabtu.com>
20377
20378 * include/grub/misc.h (grub_max): New function.
20379
2aad70e2 203802007-10-21 Robert Millan <rmh@aybabtu.com>
20381
20382 * util/misc.c (grub_util_info): Call fflush() before returning.
20383
54b71c4b 203842007-10-20 Robert Millan <rmh@aybabtu.com>
20385
20386 * genmk.rb (Image): Copy `extra_flags' from here ...
20387 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
20388
20389 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
20390 to `argc' and `args' arguments.
20391
a979f513 203922007-10-17 Robert Millan <rmh@aybabtu.com>
20393
20394 * kern/i386/loader.S: New file.
20395
20396 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
20397 * kern/i386/loader.S (grub_linux_prot_size)... to here.
20398 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
20399 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
20400 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
20401 * kern/i386/loader.S (grub_linux_real_addr)... to here.
20402 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
20403 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
20404 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
20405 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
20406 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
20407 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
20408 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
20409 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
20410
20411 * kern/i386/realmode.S: New file.
20412
20413 * kern/i386/pc/startup.S (protstack): Moved from here ...
20414 * kern/i386/realmode.S (protstack)... to here.
20415 * kern/i386/pc/startup.S (gdt): Moved from here ...
20416 * kern/i386/realmode.S (gdt)... to here.
20417 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
20418 * kern/i386/realmode.S (prot_to_real)... to here.
20419
20420 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
20421 `kern/i386/realmode.S'.
20422
825fc8fd 204232007-10-17 Robert Millan <rmh@aybabtu.com>
20424
20425 * include/grub/i386/loader.h: New file.
20426
20427 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
20428 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
20429 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
20430 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
20431 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
20432 * include/grub/i386/loader.h (grub_linux_prot_size)
20433 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
20434 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
20435 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
20436 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
20437
20438 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
20439
e179b2f4 204402007-10-15 Robert Millan <rmh@aybabtu.com>
20441
20442 * normal/misc.c (grub_normal_print_device_info): Do not probe for
20443 filesystem when dev->disk is unset.
20444 Do probe for filesystem even when dev->disk->has_partitions is set.
20445 In case a filesystem is found, always report it.
20446 In case it isn't, if dev->disk->has_partitions is set, report that
20447 a partition table was found instead of reporting that no filesystem
20448 could be identified.
20449
5db82af6 204502007-10-12 Robert Millan <rmh@aybabtu.com>
20451
20452 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
20453 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
20454
68f6ac74 20455 * include/grub/types.h (grub_host_to_target16): New macro.
20456 (grub_host_to_target32): Likewise.
20457 (grub_host_to_target64): Likewise.
20458 (grub_target_to_host16): Likewise.
20459 (grub_target_to_host32): Likewise.
20460 (grub_target_to_host64): Likewise.
5db82af6 20461
20462 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
20463 Renamed from to ...
20464 (GRUB_MOD_ALIGN): ...this. Update all users.
20465
68f6ac74 20466 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
20467 grub_host_to_target32.
20468 Replace grub_be_to_cpu32 with grub_target_to_host32.
20469 (load_modules): Likewise.
20470 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
20471 Replace grub_be_to_cpu32 with grub_target_to_host32.
20472 Replace grub_cpu_to_be16 with grub_host_to_target16.
20473 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 20474
3cf497cc 204752007-10-12 Robert Millan <rmh@aybabtu.com>
20476
20477 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
20478 * util/elf/grub-mkimage.c: ... here.
20479
20480 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
20481 `util/powerpc/ieee1275/grub-mkimage.c'.
20482
c8cc3692 204832007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 20484
c8cc3692 20485 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
20486 and make it easier to figure out.
20487 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
20488 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
20489 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
20490 leave us with less than HEAP_MIN_SIZE total heap.
20491 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 20492
5c58b791 204932007-10-03 Robert Millan <rmh@aybabtu.com>
20494
20495 * include/grub/i386/io.h: New file.
20496 * commands/i386/pc/play.c (inb): Removed.
20497 (outb): Removed.
20498 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20499 with grub_outb().
afcd2ef8 20500 * term/i386/pc/serial.c (inb): Removed.
20501 (outb): Removed.
20502 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20503 with grub_outb().
20504 * term/i386/pc/vga.c (inb): Removed.
20505 (outb): Removed.
20506 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20507 with grub_outb().
5c58b791 20508
1a477ed6 205092007-10-02 Robert Millan <rmh@aybabtu.com>
20510
20511 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
20512 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20513 Reported by Marcin Kurek.
20514
6b5d80fa 205152007-09-07 Robert Millan <rmh@aybabtu.com>
20516
20517 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
20518 SmartFirmware version updates (as released by Sven Luther), and avoid
20519 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
20520 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
20521 known broken.
20522
5618afbf 205232007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20524
20525 From Hitoshi Ozeki:
20526 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
20527 when merging two regions.
20528
6139dcd9 205292007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20530
508e39ee 20531 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
20532 * normal/completion.c (grub_normal_do_completion): Likewise.
20533 Reported by Hitoshi Ozeki.
20534
205352007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 20536
6139dcd9 20537 Do not use devices at boot in chainloading.
f19dbdb7 20538
6139dcd9 20539 * loader/i386/pc/chainloader.c (boot_drive): New variable.
20540 (boot_part_addr): Likewise.
20541 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
20542 with BOOT_DRIVE and BOOT_PART_ADDR.
20543 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
20544 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
20545
38da6516 205462007-08-29 Robert Millan <rmh@aybabtu.com>
20547
20548 Patch from Simon Peter <dn.tlp@gmx.net>:
20549 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
20550 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
20551 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
20552 util/i386/pc/grub-setup.c_DEPENDENCIES.
20553 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
20554 util/grub-probe.c_DEPENDENCIES.
20555 * conf/powerpc-ieee1275.rmk: Likewise.
20556
29d0928c 205572007-08-28 Robert Millan <rmh@aybabtu.com>
20558
20559 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
20560 to tell grub-mkdevicemap how to name devices.
20561 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
20562 feature).
20563
20564 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
20565 util/i386/get_disk_name.c.
20566 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
20567 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
20568 util/ieee1275/get_disk_name.c.
20569
20570 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
20571
20572 * DISTLIST: Add util/i386/get_disk_name.c and
20573 util/ieee1275/get_disk_name.c.
20574
20575 * util/grub-mkdevicemap.c: Replace device naming logic with
20576 grub_util_get_disk_name() calls.
20577
5a0d3cca 205782007-08-20 Robert Millan <rmh@aybabtu.com>
20579
20580 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
20581 (so that it works for both plural and singular quantities).
20582
8b72db2f 205832007-08-05 Robert Millan <rmh@aybabtu.com>
20584
20585 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
20586 so that [xz] isn't taken into account when determining order.
20587
352466bf 205882007-08-02 Marco Gerards <marco@gnu.org>
20589
20590 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
20591 `include/multiboot2.h', `include/grub/elfload.h',
20592 `include/multiboot.h', `include/grub/multiboot.h',
20593 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
20594 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
20595 `kern/elf.c', `loader/multiboot_loader.c',
20596 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
20597 `loader/i386/pc/multiboot2.c',
20598 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
20599 `util/i386/pc/grub-mkrescue.in'. Remove
20600 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
20601 `include/grub/i386/pc/util/biosdisk.h' and
20602 `include/grub/powerpc/ieee1275/multiboot.h'.
20603
8f096014 206042007-08-02 Bean <bean123ch@gmail.com>
20605
20606 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
20607 (ntfs_mod_SOURCES): New variable.
20608 (ntfs_mod_CFLAGS): Likewise.
20609 (ntfs_mod_LDFLAGS): Likewise.
20610
20611 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
20612 (grub_probe_SOURCES): Likewise.
20613 (grub_emu_SOURCES): Likewise.
20614
20615 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
20616 (grub_emu_SOURCES): Likewise.
20617
20618 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
20619 (grub_emu_SOURCES): Likewise.
f19dbdb7 20620
8f096014 20621 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
20622
20623 * fs/ntfs.c: New file.
20624
9959f7db 206252007-08-02 Bean <bean123ch@gmail.com>
20626
20627 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
20628
20629 * file.h (grub_file): Likewise.
20630
20631 * fshelp.h (grub_fshelp_read_file): Likewise.
20632
20633 * util/i386/pc/grub-setup.c (setup): Likewise.
20634 (save_first_sector): Likewise.
20635 (save_blocklists): Likewise.
f19dbdb7 20636
9959f7db 20637 * fs/affs.c (grub_affs_read_file): Likewise.
20638
20639 * fs/ext2.c (grub_ext2_read_file): Likewise.
20640
20641 * fs/fat.c (grub_fat_read_data): Likewise.
20642
20643 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
20644
20645 * fs/hfs.c (grub_hfs_read_file): Likewise.
20646
20647 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
20648
20649 * fs/jfs.c (grub_jfs_read_file): Likewise.
20650
20651 * fs/minix.c (grub_minix_read_file): Likewise.
20652
20653 * fs/sfs.c (grub_sfs_read_file): Likewise.
20654
20655 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 20656
9959f7db 20657 * fs/xfs.c (grub_xfs_read_file): Likewise.
20658
20659 * command/blocklist.c (read_blocklist): Likewise.
20660 (print_blocklist): Likewise.
20661
0a203f83 206622007-08-02 Marco Gerards <marco@gnu.org>
20663
20664 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
20665 `util/hostfs.c'.
20666
20667 * disk/host.c: New file.
20668
20669 * util/hostfs.c: Likewise.
20670
20671 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
20672 return `GRUB_ERR_BAD_FS'.
20673 * fs/sfs.c (grub_sfs_mount): Likewise.
20674 * fs/xfs.c (grub_xfs_mount): Likewise.
20675
20676 * include/grub/disk.h (enum grub_disk_dev_id): Add
20677 `GRUB_DISK_DEVICE_HOST_ID'.
20678
20679 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
20680
e5dfe777 206812007-07-24 Jerone Young <jerone@gmail.com>
20682
f19dbdb7 20683 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 20684 modules for compilation.
20685 * conf/powerpc-ieee1275.rmk: Likewise.
20686
20687 * include/multiboot.h: Move multiboot definitions to one file. Rename
20688 many definitions to not get grub specific.
20689 * include/multiboot2.h: Create header with multiboot 2 definitions.
20690 * include/grub/multiboot.h: Header for grub specific function
20691 prototypes and definitions.
20692 * include/grub/multiboot2.h: Likewise.
20693 * include/grub/multiboot_loader.h: Likewise.
20694 * include/grub/i386/pc/multiboot.h: Removed.
20695 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
20696
20697 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
20698 and 2 to allow for one multiboot and module commands.
20699 * loader/multiboot2.c: Add multiboot2 functionality.
20700 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
20701 and definition names.
20702 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
20703 2 functions.
20704 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
20705 ieee1275 specific multiboot2 code.
20706
20707 * kern/i386/pc/startup.S: Change headers and definition names for
20708 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
20709
daf0f0ba 207102007-07-22 Robert Millan <rmh@aybabtu.com>
20711
20712 * geninitheader.sh: Process file specified in first parameter rather
20713 than hardcoding grub_modules_init.lst.
fe6b695a 20714 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 20715 than hardcoding grub_modules_init.h.
20716
20717 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
20718 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
20719 grub_probe_init.[ch] and grub_setup_init.[ch].
20720
20721 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
20722 grub_modules_init.h with grub_emu_init.h.
20723 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
20724 grub_probe_init.[ch] files.
20725 * conf/i386-efi.rmk: Likewise.
20726 * conf/i386-pc.rmk: Likewise.
20727 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
20728 grub_setup_init.[ch] files.
20729
20730 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
20731 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
20732 to initialize modules rather than a list of hardcoded functions.
20733 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
20734 grub_init_all() to initialize modules rather than a list of hardcoded
20735 functions.
20736
54cdc1cc 207372007-07-22 Robert Millan <rmh@aybabtu.com>
20738
20739 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20740 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
20741
ad0686cc 207422007-07-22 Robert Millan <rmh@aybabtu.com>
20743
20744 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
20745 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
20746 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
20747 flag when running on SmartFirmware.
20748 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
20749 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
20750 was set.
20751
20752 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
20753 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
20754 rather than decreasing it.
20755
20756 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
20757 there's not enough space to do it, fail in the same way as when it
20758 can't be done because there are no partitions.
20759
20760 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
20761 when nvsetenv failed.
20762
969c02ec 207632007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
20764
20765 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
20766 because this rule is automatically generated.
20767 (grub-mkrescue): Removed for the same reason as above.
20768
5a79f472 207692007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
20770
20771 Migrate to GNU General Public License Version 3.
f19dbdb7 20772
5a79f472 20773 * COPYING: Replaced with the plain text version of GPLv3.
20774
20775 * config.guess: Updated from gnulib.
20776 * config.sub: Likewise.
20777
20778 * geninit.sh: Output a GPLv3 copyright notice.
20779 * geninitheader.sh: Likewise.
20780 * genmodsrc.sh: Likewise.
20781 * gensymlist.sh.in: Likewise.
20782
20783 * boot/i386/pc/boot.S: Upgraded to GPLv3.
20784 * boot/i386/pc/diskboot.S: Likewise.
20785 * boot/i386/pc/pxeboot.S: Likewise.
20786 * commands/blocklist.c: Likewise.
20787 * commands/boot.c: Likewise.
20788 * commands/cat.c: Likewise.
20789 * commands/cmp.c: Likewise.
20790 * commands/configfile.c: Likewise.
20791 * commands/echo.c: Likewise.
20792 * commands/help.c: Likewise.
20793 * commands/ls.c: Likewise.
20794 * commands/search.c: Likewise.
20795 * commands/terminal.c: Likewise.
20796 * commands/test.c: Likewise.
20797 * commands/videotest.c: Likewise.
20798 * commands/i386/cpuid.c: Likewise.
20799 * commands/i386/pc/halt.c: Likewise.
20800 * commands/i386/pc/play.c: Likewise.
20801 * commands/i386/pc/reboot.c: Likewise.
20802 * commands/i386/pc/vbeinfo.c: Likewise.
20803 * commands/i386/pc/vbetest.c: Likewise.
20804 * commands/ieee1275/halt.c: Likewise.
20805 * commands/ieee1275/reboot.c: Likewise.
20806 * commands/ieee1275/suspend.c: Likewise.
20807 * disk/loopback.c: Likewise.
20808 * disk/lvm.c: Likewise.
20809 * disk/raid.c: Likewise.
20810 * disk/efi/efidisk.c: Likewise.
20811 * disk/i386/pc/biosdisk.c: Likewise.
20812 * disk/ieee1275/ofdisk.c: Likewise.
20813 * font/manager.c: Likewise.
20814 * fs/affs.c: Likewise.
20815 * fs/ext2.c: Likewise.
20816 * fs/fat.c: Likewise.
20817 * fs/fshelp.c: Likewise.
20818 * fs/hfs.c: Likewise.
20819 * fs/hfsplus.c: Likewise.
20820 * fs/iso9660.c: Likewise.
20821 * fs/jfs.c: Likewise.
20822 * fs/minix.c: Likewise.
20823 * fs/sfs.c: Likewise.
20824 * fs/ufs.c: Likewise.
20825 * fs/xfs.c: Likewise.
20826 * hello/hello.c: Likewise.
20827 * include/grub/acorn_filecore.h: Likewise.
20828 * include/grub/arg.h: Likewise.
20829 * include/grub/bitmap.h: Likewise.
20830 * include/grub/boot.h: Likewise.
20831 * include/grub/cache.h: Likewise.
20832 * include/grub/device.h: Likewise.
20833 * include/grub/disk.h: Likewise.
20834 * include/grub/dl.h: Likewise.
20835 * include/grub/elfload.h: Likewise.
20836 * include/grub/env.h: Likewise.
20837 * include/grub/err.h: Likewise.
20838 * include/grub/file.h: Likewise.
20839 * include/grub/font.h: Likewise.
20840 * include/grub/fs.h: Likewise.
20841 * include/grub/fshelp.h: Likewise.
20842 * include/grub/gzio.h: Likewise.
20843 * include/grub/hfs.h: Likewise.
20844 * include/grub/kernel.h: Likewise.
20845 * include/grub/loader.h: Likewise.
20846 * include/grub/lvm.h: Likewise.
20847 * include/grub/misc.h: Likewise.
20848 * include/grub/mm.h: Likewise.
20849 * include/grub/net.h: Likewise.
20850 * include/grub/normal.h: Likewise.
20851 * include/grub/parser.h: Likewise.
20852 * include/grub/partition.h: Likewise.
20853 * include/grub/pc_partition.h: Likewise.
20854 * include/grub/raid.h: Likewise.
20855 * include/grub/rescue.h: Likewise.
20856 * include/grub/script.h: Likewise.
20857 * include/grub/setjmp.h: Likewise.
20858 * include/grub/symbol.h: Likewise.
20859 * include/grub/term.h: Likewise.
20860 * include/grub/terminfo.h: Likewise.
20861 * include/grub/tparm.h: Likewise.
20862 * include/grub/types.h: Likewise.
20863 * include/grub/video.h: Likewise.
20864 * include/grub/efi/api.h: Likewise.
20865 * include/grub/efi/chainloader.h: Likewise.
20866 * include/grub/efi/console.h: Likewise.
20867 * include/grub/efi/console_control.h: Likewise.
20868 * include/grub/efi/disk.h: Likewise.
20869 * include/grub/efi/efi.h: Likewise.
20870 * include/grub/efi/pe32.h: Likewise.
20871 * include/grub/efi/time.h: Likewise.
20872 * include/grub/i386/linux.h: Likewise.
20873 * include/grub/i386/setjmp.h: Likewise.
20874 * include/grub/i386/types.h: Likewise.
20875 * include/grub/i386/efi/kernel.h: Likewise.
20876 * include/grub/i386/efi/loader.h: Likewise.
20877 * include/grub/i386/efi/time.h: Likewise.
20878 * include/grub/i386/pc/biosdisk.h: Likewise.
20879 * include/grub/i386/pc/boot.h: Likewise.
20880 * include/grub/i386/pc/chainloader.h: Likewise.
20881 * include/grub/i386/pc/console.h: Likewise.
20882 * include/grub/i386/pc/init.h: Likewise.
20883 * include/grub/i386/pc/kernel.h: Likewise.
20884 * include/grub/i386/pc/loader.h: Likewise.
20885 * include/grub/i386/pc/memory.h: Likewise.
20886 * include/grub/i386/pc/multiboot.h: Likewise.
20887 * include/grub/i386/pc/serial.h: Likewise.
20888 * include/grub/i386/pc/time.h: Likewise.
20889 * include/grub/i386/pc/vbe.h: Likewise.
20890 * include/grub/i386/pc/vbeblit.h: Likewise.
20891 * include/grub/i386/pc/vbefill.h: Likewise.
20892 * include/grub/i386/pc/vbeutil.h: Likewise.
20893 * include/grub/i386/pc/vga.h: Likewise.
20894 * include/grub/ieee1275/ieee1275.h: Likewise.
20895 * include/grub/ieee1275/ofdisk.h: Likewise.
20896 * include/grub/powerpc/libgcc.h: Likewise.
20897 * include/grub/powerpc/setjmp.h: Likewise.
20898 * include/grub/powerpc/types.h: Likewise.
20899 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
20900 * include/grub/powerpc/ieee1275/console.h: Likewise.
20901 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
20902 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20903 * include/grub/powerpc/ieee1275/loader.h: Likewise.
20904 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
20905 * include/grub/powerpc/ieee1275/time.h: Likewise.
20906 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
20907 * include/grub/sparc64/libgcc.h: Likewise.
20908 * include/grub/sparc64/setjmp.h: Likewise.
20909 * include/grub/sparc64/types.h: Likewise.
20910 * include/grub/sparc64/ieee1275/console.h: Likewise.
20911 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20912 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20913 * include/grub/sparc64/ieee1275/time.h: Likewise.
20914 * include/grub/util/biosdisk.h: Likewise.
20915 * include/grub/util/getroot.h: Likewise.
20916 * include/grub/util/lvm.h: Likewise.
20917 * include/grub/util/misc.h: Likewise.
20918 * include/grub/util/raid.h: Likewise.
20919 * include/grub/util/resolve.h: Likewise.
20920 * io/gzio.c: Likewise.
20921 * kern/device.c: Likewise.
20922 * kern/disk.c: Likewise.
20923 * kern/dl.c: Likewise.
20924 * kern/elf.c: Likewise.
20925 * kern/env.c: Likewise.
20926 * kern/err.c: Likewise.
20927 * kern/file.c: Likewise.
20928 * kern/fs.c: Likewise.
20929 * kern/loader.c: Likewise.
20930 * kern/main.c: Likewise.
20931 * kern/misc.c: Likewise.
20932 * kern/mm.c: Likewise.
20933 * kern/parser.c: Likewise.
20934 * kern/partition.c: Likewise.
20935 * kern/rescue.c: Likewise.
20936 * kern/term.c: Likewise.
20937 * kern/efi/efi.c: Likewise.
20938 * kern/efi/init.c: Likewise.
20939 * kern/efi/mm.c: Likewise.
20940 * kern/i386/dl.c: Likewise.
20941 * kern/i386/efi/init.c: Likewise.
20942 * kern/i386/efi/startup.S: Likewise.
20943 * kern/i386/pc/init.c: Likewise.
20944 * kern/i386/pc/lzo1x.S: Likewise.
20945 * kern/i386/pc/startup.S: Likewise.
20946 * kern/ieee1275/ieee1275.c: Likewise.
20947 * kern/powerpc/cache.S: Likewise.
20948 * kern/powerpc/dl.c: Likewise.
20949 * kern/powerpc/ieee1275/cmain.c: Likewise.
20950 * kern/powerpc/ieee1275/crt0.S: Likewise.
20951 * kern/powerpc/ieee1275/init.c: Likewise.
20952 * kern/powerpc/ieee1275/openfw.c: Likewise.
20953 * kern/sparc64/cache.S: Likewise.
20954 * kern/sparc64/dl.c: Likewise.
20955 * kern/sparc64/ieee1275/init.c: Likewise.
20956 * kern/sparc64/ieee1275/openfw.c: Likewise.
20957 * loader/efi/chainloader.c: Likewise.
20958 * loader/efi/chainloader_normal.c: Likewise.
20959 * loader/i386/efi/linux.c: Likewise.
20960 * loader/i386/efi/linux_normal.c: Likewise.
20961 * loader/i386/pc/chainloader.c: Likewise.
20962 * loader/i386/pc/chainloader_normal.c: Likewise.
20963 * loader/i386/pc/linux.c: Likewise.
20964 * loader/i386/pc/linux_normal.c: Likewise.
20965 * loader/i386/pc/multiboot.c: Likewise.
20966 * loader/i386/pc/multiboot_normal.c: Likewise.
20967 * loader/powerpc/ieee1275/linux.c: Likewise.
20968 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20969 * normal/arg.c: Likewise.
20970 * normal/cmdline.c: Likewise.
20971 * normal/command.c: Likewise.
20972 * normal/completion.c: Likewise.
20973 * normal/execute.c: Likewise.
20974 * normal/function.c: Likewise.
20975 * normal/lexer.c: Likewise.
20976 * normal/main.c: Likewise.
20977 * normal/menu.c: Likewise.
20978 * normal/menu_entry.c: Likewise.
20979 * normal/misc.c: Likewise.
20980 * normal/parser.y: Likewise.
20981 * normal/script.c: Likewise.
20982 * normal/i386/setjmp.S: Likewise.
20983 * normal/powerpc/setjmp.S: Likewise.
20984 * normal/sparc64/setjmp.S: Likewise.
20985 * partmap/acorn.c: Likewise.
20986 * partmap/amiga.c: Likewise.
20987 * partmap/apple.c: Likewise.
20988 * partmap/gpt.c: Likewise.
20989 * partmap/pc.c: Likewise.
20990 * partmap/sun.c: Likewise.
20991 * term/gfxterm.c: Likewise.
20992 * term/terminfo.c: Likewise.
20993 * term/efi/console.c: Likewise.
20994 * term/i386/pc/console.c: Likewise.
20995 * term/i386/pc/serial.c: Likewise.
20996 * term/i386/pc/vesafb.c: Likewise.
20997 * term/i386/pc/vga.c: Likewise.
20998 * term/ieee1275/ofconsole.c: Likewise.
20999 * util/biosdisk.c: Likewise.
21000 * util/console.c: Likewise.
21001 * util/genmoddep.c: Likewise.
21002 * util/getroot.c: Likewise.
21003 * util/grub-emu.c: Likewise.
21004 * util/grub-mkdevicemap.c: Likewise.
21005 * util/grub-probe.c: Likewise.
21006 * util/lvm.c: Likewise.
21007 * util/misc.c: Likewise.
21008 * util/raid.c: Likewise.
21009 * util/resolve.c: Likewise.
21010 * util/update-grub.in: Likewise.
21011 * util/update-grub_lib.in: Likewise.
21012 * util/grub.d/00_header.in: Likewise.
21013 * util/grub.d/10_hurd.in: Likewise.
21014 * util/grub.d/10_linux.in: Likewise.
21015 * util/i386/efi/grub-install.in: Likewise.
21016 * util/i386/efi/grub-mkimage.c: Likewise.
21017 * util/i386/pc/grub-install.in: Likewise.
21018 * util/i386/pc/grub-mkimage.c: Likewise.
21019 * util/i386/pc/grub-mkrescue.in: Likewise.
21020 * util/i386/pc/grub-setup.c: Likewise.
21021 * util/i386/pc/misc.c: Likewise.
21022 * util/powerpc/ieee1275/grub-install.in: Likewise.
21023 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
21024 * util/powerpc/ieee1275/misc.c: Likewise.
21025 * video/bitmap.c: Likewise.
21026 * video/video.c: Likewise.
21027 * video/i386/pc/vbe.c: Likewise.
21028 * video/i386/pc/vbeblit.c: Likewise.
21029 * video/i386/pc/vbefill.c: Likewise.
21030 * video/i386/pc/vbeutil.c: Likewise.
21031 * video/readers/tga.c: Likewise.
21032
3572d015 210332007-07-02 Robert Millan <rmh@aybabtu.com>
21034
21035 * conf/i386-efi.rmk: Replace obsolete reference to
21036 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
21037 with util/getroot.c.
21038 * conf/powerpc-ieee1275.rmk: Likewise.
21039 * conf/sparc64-ieee1275.rmk: Likewise.
21040
21041 * util/grub-emu.c (main): Fix unchecked pointer handling.
21042
2c2a681b 210432007-07-02 Robert Millan <rmh@aybabtu.com>
21044
21045 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
21046 invocation to fail, in order to support partition-less media.
21047
21048 * util/i386/pc/grub-install.in: Likewise.
21049
21050 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
21051 which fs or partmap modules are needed (akin to its sister scripts).
21052
21053 Also use grub-probe to get rid of unportable /proc/mounts check.
21054
21055 Print the same informational message that the other scripts do, before
fe6b695a 21056 exiting.
2c2a681b 21057
6193defe 210582007-06-23 Robert Millan <rmh@aybabtu.com>
21059
fe6b695a 21060 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 21061 a font file can be found and, if so, echo the GRUB path to it.
21062
21063 * util/update-grub.in: Handle multiple terminals depending on user
21064 input, platform availability and font file presence. Propagate
21065 variables of our findings to /etc/grub.d/ children.
21066
21067 * util/grub.d/00_header.in: Handle multiple terminals, based on
21068 environment setup by update-grub.
21069
eface1dc 210702007-06-23 Robert Millan <rmh@aybabtu.com>
21071
ba50d28f 21072 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 21073
bf697e28 210742007-06-21 Robert Millan <rmh@aybabtu.com>
21075
21076 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
21077 indicate end of data section in kernel image.
21078 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
21079 GRUB_KERNEL_MACHINE_DATA_END.
21080
21081 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
21082 space for it.
21083 * kern/i386/efi/startup.S: Likewise.
21084
21085 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
21086 during image generation. Implement --prefix option to override this
21087 patch.
21088 * util/i386/efi/grub-mkimage.c: Likewise.
21089
21090 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
21091 code to make path relative to its root into a separate function.
21092
21093 * util/i386/pc/grub-install.in: Use newly provided
21094 make_system_path_relative_to_its_root() to convert ${grubdir}, then
21095 pass the result to grub-install --prefix.
21096
baa574b4 210972007-06-13 Robert Millan <rmh@aybabtu.com>
21098
21099 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
21100 DEFAULT_DEVICE_MAP.
21101 * util/grub-emu.c: Use above definitions from misc.h instead of
21102 defining them.
21103 * util/grub-mkdevicemap.c: Likewise.
21104 * util/i386/pc/grub-setup.c: Likewise.
21105 * util/grub-probe.c: Likewise.
21106 (probe): Abort with grub_util_error() when either
21107 grub_guess_root_device or grub_util_get_grub_dev fails.
21108
0215dcbf 211092007-06-12 Robert Millan <rmh@aybabtu.com>
21110
21111 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
21112 "pager" assignment.
21113 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
21114 "pcdata".
21115 * util/grub-probe.c (probe): Likewise for "drive_name".
21116
8af2ab7b 211172007-06-11 Robert Millan <rmh@aybabtu.com>
21118
21119 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
21120 not just the cdrom one.
21121
59d31694 211222007-06-11 Robert Millan <rmh@aybabtu.com>
21123
21124 * util/i386/pc/grub-mkrescue.in: Add "set -e".
21125 Add --pkglibdir=DIR option to override pkglibdir.
21126 Mention --image-type=TYPE in help output.
21127 Fix --grub-mkimage (it was a no-op).
fe6b695a 21128 Abort gracefully when no parameter is given.
59d31694 21129
7ee367e4 211302007-06-11 Robert Millan <rmh@aybabtu.com>
21131
21132 * util/i386/pc/grub-mkrescue.in: New file.
21133 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
21134 * Makefile.in: Handle bin_SCRIPTS.
21135
29b0ed46 211362007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
21137
21138 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
21139 list of video modes.
21140
c0f90770 211412007-06-06 Robert Millan <rmh@aybabtu.com>
21142
21143 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
21144 file doesn't exist, or if it is in a filesystem grub can't read.
21145
21146 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
21147 not abort if GRUB_DRIVE could not be defined. Rearrange generated
21148 header comment to fit in 80 columns when the variables are resolved.
21149
21150 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
21151 could be identified by update-grub. Remove redundant check for
fe6b695a 21152 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 21153 handles that).
21154
fb36dc26 211552007-06-04 Robert Millan <rmh@aybabtu.com>
21156
21157 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
21158
21159 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
21160
21161 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
21162
0c68c93e 211632007-06-04 Robert Millan <rmh@aybabtu.com>
21164
21165 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
21166
21167 * include/grub/partition.h: Declare grub_apple_partition_map_init and
21168 grub_apple_partition_map_fini.
21169
21170 * util/biosdisk.c
21171 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
21172 to access >2 TiB disks).
21173
21174 Print disk->total_sectors with %llu instead of %lu, since this
21175 variable is always 64-bit (prevents wrong disk size from being displayed
21176 on either >2 TiB disk or big-endian CPU).
21177
21178 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
21179 into a generic case that supports all (sane) partition maps.
21180
21181 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
21182 breaks big-endian.
21183
21184 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
21185 and grub_apple_partition_map_fini() after that.
21186
0f23eb74 211872007-06-01 Robert Millan <rmh@aybabtu.com>
21188
21189 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
21190
21191 * util/grub.d/00_header.in: Only enable gfxterm when
21192 convert_system_path_to_grub_path() succeeds.
21193
42c71976 211942007-05-20 Robert Millan <rmh@aybabtu.com>
21195
21196 * util/update-grub_lib.in: New file.
21197 * DISTLIST: Add update-grub_lib.in.
21198 * conf/common.rmk: Generate update-grub_lib and install it in
21199 $(lib_DATA).
21200 * Makefile.in: Add install routine for $(lib_DATA).
21201
21202 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
21203 function provided by update-grub_lib to support arbitrary paths of
21204 unifont.pff.
21205 * util/update-grub.in: Use convert_system_path_to_grub_path() to
21206 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
21207
5beb2291 212082007-05-19 Robert Millan <rmh@aybabtu.com>
21209
21210 * commands/i386/cpuid.c: New module.
21211 * DISTLIST: Add it.
21212 * conf/i386-efi.rmk: Enable cpuid.mod.
21213 * conf/i386-pc.rmk: Likewise.
21214
7262eca1 212152007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
21216
21217 * kern/disk.c (grub_disk_read): Check return value of
21218 grub_realloc().
21219
260ba823 212202007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
21221
21222 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
21223 arrays.
21224 * disk/raid.c (grub_raid_open): Likewise.
21225
1ecb6cf2 212262007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
21227
21228 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
21229 stack instead of on the heap.
21230
21231 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
21232 before doing a read on it.
21233
21234 * configure.ac: Only use -fno-stack-protector for the target
21235 environment.
f19dbdb7 21236
21c8cbb1 212372007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
21238
21239 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
21240 __attribute_ ((unused)) to mode_type argument.
21241
21242 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 21243
21c8cbb1 21244 * kern/misc.c (memcmp): Fix prototype.
21245
21246 * include/grub/partition.h [GRUB_UTIL]
21247 (grub_gpt_partition_map_init): Add prototype.
21248 (grub_gpt_partition_map_fini): Likewise.
21249
21250 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
21251 at the right place.
21252
21253 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
21254 (grub_fat_read_data): Likewise.
21255 (grub_fat_find_dir): Likewise.
21256
21257 * font/manager.c (find_glyph): Make table a const.
21258 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 21259
849d55d3 212602007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
21261
21262 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
21263 code, first search for device in /dev/mapper, then in /dev.
21264 (grub_util_get_grub_dev): New function.
21265 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
21266 prototype.
21267 * util/grub-probe.c (probe): Remove check for RAID, call
21268 grub_util_get_grub_dev() instead of
21269 grub_util_biosdisk_get_grub_dev().
21270 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
21271 grub_util_biosdisk_get_grub_dev().
21272 * util/i386/pc/grub-setup.c (main): Likewise.
21273
8fff7c2f 212742007-05-16 Robert Millan <rmh@aybabtu.com>
21275
21276 * DISTLIST: Update for the latest changes.
21277 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
21278 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
21279 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
21280 grub/util/biosdisk.h.
21281 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
21282 grub/util/biosdisk.h.
21283
48e12b52 212842007-05-16 Robert Millan <rmh@aybabtu.com>
21285
21286 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
21287
46b9d128 212882007-05-16 Robert Millan <rmh@aybabtu.com>
21289
21290 * util/i386/efi/grub-install.in: New.
21291 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
21292 newly added grub-install.
21293 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
21294 include.
21295 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
21296 grub/util/biosdisk.h.
21297 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
21298 grub/util/biosdisk.h.
21299
2d1a40a9 213002007-05-16 Robert Millan <rmh@aybabtu.com>
21301
21302 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
21303 * include/grub/util/biosdisk.h: ... here.
21304 * util/i386/pc/biosdisk.c: Moved to ...
21305 * util/biosdisk.c: ... here.
21306 * util/i386/pc/getroot.c: Moved to ...
21307 * util/getroot.c: ... here.
21308 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
21309 * util/grub-mkdevicemap.c: ... here.
21310 * util/i386/pc/grub-probe.c: Moved to ...
21311 * util/grub-probe.c: ... here.
21312
9e26e3bc 213132007-05-15 Robert Millan <rmh@aybabtu.com>
21314
21315 * util/update-grub.in: Remove duplicated line in grub.cfg header
21316 message.
21317
57f96397 213182007-05-13 Robert Millan <rmh@aybabtu.com>
21319
21320 * util/update-grub.in: Fix a few assumptions about the devices holding
21321 /, /boot and /boot/grub being the same.
21322 * util/grub.d/00_header.in: Likewise.
21323 * util/grub.d/10_hurd.in: Likewise.
21324 * util/grub.d/10_linux.in: Likewise.
21325
21326 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
21327 patterns. Use that to define the `.old' suffix as older than `'.
21328
21329 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
21330
21331 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
21332 the grub.cfg header message.
21333
2e610d62 213342007-05-11 Robert Millan <rmh@aybabtu.com>
21335
21336 * util/update-grub.in: Create device.map if it doesn't already exist,
21337 before attempting to run grub-probe.
21338 Check for grub-probe and grub-mkdevicemap with the same code
21339 grub-install is using.
21340 Remove test mode.
21341
3f6a10ef 213422007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
21343
21344 * Makefile.in: Add the datarootdir autoconf variable.
21345
02e7b75e 213462007-05-09 Robert Millan <rmh@aybabtu.com>
21347
21348 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 21349 fail gracefully if dev->disk->partition == NULL.
02e7b75e 21350
75f396cc 213512007-05-07 Robert Millan <rmh@aybabtu.com>
21352
21353 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
21354 determine partition map module.
21355 * util/i386/pc/grub-install.in: Use this feature to decide which
21356 partition module to load, instead of hardcoding pc and gpt.
21357
da65cb36 213582007-05-07 Robert Millan <rmh@aybabtu.com>
21359
21360 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
21361 source directory differs from build directory.
21362
b57d6a91 213632007-05-05 Robert Millan <rmh@aybabtu.com>
21364
21365 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
21366 initialisation.
21367
509d00f1 213682007-05-05 Robert Millan <rmh@aybabtu.com>
21369
21370 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
21371
c48f23ef 213722007-05-05 Robert Millan <rmh@aybabtu.com>
21373
21374 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
21375 command-line arguments via ${GRUB_CMDLINE_LINUX}.
21376
20b97658 213772007-05-05 Robert Millan <rmh@aybabtu.com>
21378
21379 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
21380 (grub_probe_SOURCES): Likewise.
21381 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
21382 GPT and initialize dos_part and bsd_part accordingly.
21383 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
21384 install_bsd_part.
21385 (main): Activate gpt module for use during partition identification,
21386 and deactivate it afterwards.
21387 * util/i386/pc/grub-install.in: Add gpt module to core.img.
21388 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
21389 partition identification, and deactivate it afterwards.
21390
99123174 213912007-05-05 Robert Millan <rmh@aybabtu.com>
21392
21393 * term/i386/pc/console.c (grub_console_fini): Call
21394 grub_term_set_current() before grub_term_unregister().
21395
ebd97f6e 213962007-05-04 Robert Millan <rmh@aybabtu.com>
21397
21398 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
21399 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
21400 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
21401 and update-grub_DATA.
21402 * conf/common.rmk: Build and install update-grub components.
21403 * conf/common.mk: Regenerate.
21404 * util/update-grub.in: New. Core of update-grub.
21405 * util/grub.d/00_header.in: New. Generates grub.cfg header.
21406 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
21407 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
21408 * util/grub.d/README: New. Document grub.d directory layout.
21409
b06a264d 214102007-05-01 Robert Millan <rmh@aybabtu.com>
21411
21412 * util/grub-emu.c: Move initialization functions
21413 grub_util_biosdisk_init() and grub_init_all() before
21414 grub_util_biosdisk_get_grub_dev(), which relies on them.
21415
41f0050e 214162007-04-19 Robert Millan <rmh@aybabtu.com>
21417
21418 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
21419 it is used later.
21420
04582bb3 214212007-04-18 Jerone Young <jerone@gmail.com>
21422
f19dbdb7 21423 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 21424 stanza.
21425
08db4632 214262007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 21427
08db4632 21428 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
21429 continue on and look for device node with real device name.
21430
801b76be 214312007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 21432
fe6b695a 21433 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 21434 ability.
21435 * Makefile.in: Add autoconf package transformation code.
21436 * util/i386/pc/grub-install.in: Likewise.
21437 * util/powerpc/ieee1275/grub-install.in: Likewise.
21438
6795c4e1 214392007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
21440
21441 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
21442 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
21443 (EXT2_REVISION): Likewise.
21444 (EXT2_INODE_SIZE): Likewise.
21445 (struct grub_ext2_block_group): Added a missing member
21446 "used_dirs".
21447 (grub_ext2_read_inode): Divide by the inode size in a superblock
21448 instead of 128 to obtain INODES_PER_BLOCK.
21449 Use the macro EXT2_INODE_SIZE instead of directly using
21450 SBLOCK->INODE_SIZE.
21451
d70af616 214522007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
21453
21454 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
21455 superblock instead of the structure size to compute an
21456 offset. This fixes the problem that GRUB could not read a
21457 filesystem when inode size is different from 128-byte.
21458
3b801603 214592007-03-05 Marco Gerards <marco@gnu.org>
21460
21461 * normal/main.c (read_config_file): When "menu" is not set, create
21462 an initial context.
21463
4785bfe4 214642007-02-21 Hollis Blanchard <hollis@penguinppc.org>
21465
21466 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
21467 (HEAP_LIMIT): New macro.
21468 (grub_claim_heap): Claim memory up to `heaplimit'.
21469
a0cbb023 214702007-02-21 Hollis Blanchard <hollis@penguinppc.org>
21471
21472 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
21473 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
21474 (_start): Likewise.
21475 (grub_arch_modules_addr): Return address after `_end'.
21476 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
21477 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
21478 (add_segments): Calculate `_end' from phdr size and location.
21479 (ALIGN_UP): Moved to ...
21480 * include/grub/misc.h: here.
21481 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21482 New macro.
21483 (GRUB_IEEE1275_MODULE_BASE): Removed.
21484
fd7d8eba 214852007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21486
21487 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
21488 loop boundary.
21489
9b09e6fc 214902007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21491
21492 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
21493 All users updated.
21494 (grub_elf64_load_hook_t): Likewise.
21495 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
21496 debug output.
21497
3ce27299 214982007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21499
21500 * kern/mm.c: Update copyright.
21501 (grub_mm_debug): Correct syntax error.
21502 (grub_mm_dump_free): New function.
21503 (grub_debug_free): Call `grub_free'.
21504 * include/grub/mm.h: Update copyright.
21505 (grub_mm_dump_free): Add declaration.
21506
077d5fee 215072007-02-12 Hollis Blanchard <hollis@penguinppc.org>
21508
21509 * include/grub/ieee1275/ieee1275.h: Update copyright.
21510 * kern/powerpc/ieee1275/init.c: Likewise.
21511 * kern/powerpc/ieee1275/openfw.c: Likewise.
21512
21513 * loader/powerpc/ieee1275/linux.c: Likewise.
21514 * include/grub/elfload.h: Likewise.
21515 * kern/elf.c: Likewise.
21516 (grub_elf32_load): Pass `base' and `size' parameters. Update all
21517 callers.
21518 (grub_elf64_load): Likewise.
21519 (grub_elf32_load_segment): Move to a nested function.
21520 (grub_elf64_load_segment): Likewise.
21521
dc946850 215222007-02-12 Hollis Blanchard <hollis@penguinppc.org>
21523
21524 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
21525 prototype.
21526 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
21527 (grub_heap_len): Likewise.
21528 (HEAP_SIZE): New macro.
21529 (grub_claim_heap): New function.
21530 (grub_machine_init): Don't claim heap directly. Call
21531 `grub_claim_heap'.
21532 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
21533 (grub_available_iterate): New function.
21534
baa2a121 215352007-02-03 Thomas Schwinge <tschwinge@gnu.org>
21536
21537 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
21538 * configure.ac: Use it for testing the HOST and TARGET compilers.
21539
4fe9862e 215402006-12-13 Thomas Schwinge <tschwinge@gnu.org>
21541
21542 * Makefile.in (enable_grub_emu): New variable.
21543 * configure.ac (--enable-grub-emu): New option.
21544 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
21545 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
21546 * conf/i386-pc.rmk: Likewise.
21547 * conf/powerpc-ieee1275.rmk: Likewise.
21548 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
21549
a8aa5762 215502006-12-12 Marco Gerards <marco@gnu.org>
21551
21552 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
21553
21554 * kern/env.c (grub_env_unset): Don't free the member `value' when
21555 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
21556 pointer.
21557
21558 * normal/main.c (current_menu): Removed.
21559 (free_menu): Unset the `menu' environment variable.
21560 (grub_normal_menu_addentry): Make use of the environment variable
21561 `menu', instead of using the global `current_menu'. Allocate
21562 memory for the sourcecode of this entry.
21563 (read_config_file): New argument `nested', changed all callers.
21564 Only in the case of a new context, initialize a new menu. Set the
21565 `menu' environment variable.
21566 (grub_normal_execute): Don't set and unset the environment
21567 variable `menu' here anymore. Only free the menu when leaving the
21568 context.
21569
21570 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
21571 leak.
21572
957b3a3e 215732006-12-11 Marco Gerards <marco@gnu.org>
21574
21575 * normal/menu_entry.c (run): Fix off by one bug so the last line
21576 is executed. Move the loader check to outside the loop.
21577
ef875714 215782006-12-08 Hollis Blanchard <hollis@penguinppc.org>
21579
21580 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
21581
4e739985 215822006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
21583
21584 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
21585 the number of sectors. Reported by Andrey Shuvikov
21586 <mr_hyro@yahoo.com>.
f19dbdb7 21587
790707f2 215882006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
21589
21590 * kern/disk.c (grub_disk_read): When there is a read error, always
21591 try to read only the necessary data.
f19dbdb7 21592
790707f2 21593 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
21594 disk/raid.c.
21595 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
21596 prototype.
21597 [GRUB_UTIL] (grub_raid_fini): Likewise.
21598 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 21599 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 21600 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
21601 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
21602 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
21603 and grub_raid_fini().
f19dbdb7 21604
03e58196 216052006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
21606
21607 * include/grub/types.h (__unused): Rename to UNUSED.
21608 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
21609 (grub_elf64_size): Likewise.
f19dbdb7 21610
ae4f23bf 216112006-11-03 Hollis Blanchard <hollis@penguinppc.org>
21612
21613 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
21614 grub_error_push and grub_error_pop in the error-handling path.
21615 (grub_elf32_load_segment): Only call grub_file_read with non-zero
21616 length.
21617
2166cc83 216182006-11-03 Hollis Blanchard <hollis@penguinppc.org>
21619
21620 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
21621 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21623 (kernel_elf_SOURCES): Likewise.
21624 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
21625 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
21626 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21627 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21628 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
21629 (elf_mod_SOURCES): New variable.
21630 (elf_mod_CFLAGS): Likewise.
21631 (elf_mod_LDFLAGS): Likewise.
21632 * include/grub/types.h (__unused): New macro.
21633 * include/grub/elfload.h: New file.
21634 * kern/elf.c: Likewise.
21635 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
21636 (ELF32_LOADMASK): New macro.
21637 (ELF64_LOADMASK): Likewise.
21638 (vmlinux): Removed.
21639 (grub_linux_load32): New function.
21640 (grub_linux_load64): Likewise.
21641 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
21642 Use grub_elf_t instead of grub_file_t.
21643
a09d5aa5 216442006-11-02 Hollis Blanchard <hollis@penguinppc.org>
21645
21646 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
21647 `catch_result' to struct set_color_args.
21648
d976fc51 216492006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
21650
21651 * normal/menu.c: Include grub/script.h.
21652 * normal/menu_entry.c: Likewise.
21653 * include/grub/normal.h: Do not include grub/script.h.
21654
67507549 216552006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21656
21657 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
21658
69203a99 216592006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21660
21661 * kern/disk.c (grub_disk_open): Print debug messages when opening a
21662 disk.
21663 (grub_disk_close): Print debug messages when closing a disk.
21664 (grub_disk_read): Print debug messages when disk read fails.
21665 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
21666 filesystem type.
21667 * kern/partition.c: Include misc.h.
21668 (grub_partition_iterate): Print debug messages when detecting
21669 partition type.
21670
e2b8278c 216712006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21672
21673 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
21674 is negative.
21675 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
21676
97b2f2ff 216772006-10-26 Hollis Blanchard <hollis@penguinppc.org>
21678
21679 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
21680 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
21681
6555d655 216822006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
21683
21684 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
21685 instead of sizeof(lv). Patch by Michael Guntsche.
21686
4d42b77f 216872006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
21688
21689 * disk/lvm.c: Rename VGS to VG_LIST.
21690 (grub_lvm_iterate): Change VGS->LV to VG-LV.
21691 (grub_lvm_open): Likewise.
21692 Thanks to Michael Guntsche for finding this bug.
21693
5d74d927 216942006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21695
21696 * configure.ac (AC_INIT): Bumped to 1.95.
21697
a1bb27e4 216982006-10-14 Robert Millan <rmh@aybabtu.com>
21699
21700 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
21701 with "/dev/.static/dev/md".
21702
e0994b8b 217032006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
21704
21705 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
21706 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
21707 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
21708 DRIVE_NAME are always freed.
21709
21710 * util/i386/pc/biosdisk.c (make_device_name): Add one into
21711 DOS_PART, as a DOS partition is counted from one instead of zero
21712 now. Reported by Robert Millan.
21713
ddd5cee9 217142006-10-14 Robert Millan <rmh@aybabtu.com>
21715
21716 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
21717 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
21718 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
21719 string returned by grub_guess_root_device.
21720 * util/i386/pc/grub-setup.c: Likewise.
21721 * util/i386/pc/grub-probefs.c: Likewise.
21722
21723 * util/i386/pc/grub-probefs.c: Rename to ...
21724 * util/i386/pc/grub-probe.c: ... this.
21725 * DISTLIST: Remove grub-probefs, add grub-probe.
21726 * conf/i386-efi.rmk: Likewise.
21727 * conf/i386-pc.rmk: Likewise.
21728 * util/i386/pc/grub-install.in: Likewise.
21729
21730 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
21731 choose which information we want to print.
21732
2b002173 217332006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
21734
21735 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
21736 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
21737 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
21738 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
21739 video/readers/tga.c and video/i386/pc/vbeutil.c.
21740
217412006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
21742
21743 Added support for RAID and LVM.
f19dbdb7 21744
2b002173 21745 * disk/lvm.c: New file.
21746 * disk/raid.c: Likewise.
21747 * include/grub/lvm.h: Likewise.
f19dbdb7 21748 * include/grub/raid.h: Likewise.
2b002173 21749 * include/grub/util/lvm.h: Likewise.
21750 * include/grub/util/raid.h: Likewise.
21751 * util/lvm.c: Likewise.
21752 * util/raid.c: Likewise.
21753
21754 * include/grub/disk.h (grub_disk_dev_id): Add
21755 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
21756 (grub_disk_get_size): New prototype.
21757 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
21758 returns a partition.
21759 (grub_disk_get_size): New function.
f19dbdb7 21760
2b002173 21761 * kern/i386/pc/init.c (make_install_device): Copy the prefix
21762 verbatim if grub_install_dos_part is -2.
21763
21764 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
21765 and LVM devices.
21766
21767 * util/i386/pc/grub-setup.c (setup): New argument
21768 MUST_EMBED. Force embedding of GRUB when the argument is
21769 true. Close FILE before returning.
21770 (main): Add support for RAID and LVM.
f19dbdb7 21771
2b002173 21772 * conf/common.rmk: Add RAID and LVM modules.
21773 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
21774 util/lvm.c.
21775 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
21776
21777 * kern/misc.c (grub_strstr): New function.
21778 * include/grub/misc.h (grub_strstr): New prototype.
21779
050548d0 217802006-10-10 Tristan Gingold <tristan.gingold@bull.net>
21781
21782 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
21783
da849d2d 217842006-10-05 Tristan Gingold <tristan.gingold@bull.net>
21785
21786 * kern/misc.c (grub_strtoull): Guess the base only if not
21787 specified.
21788
97b2f2ff 217892006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 21790
21791 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
21792 PowerMac support.
21793
97b2f2ff 217942006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 21795
21796 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
21797
21798 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
21799 Remove `flags' argument. All callers changed.
21800 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
21801 (IEEE1275_IHANDLE_INVALID): New variable.
21802 (IEEE1275_CELL_INVALID): New variable.
21803 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
21804 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
21805 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
21806 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
21807 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
21808 codes from Open Firmware. All callers updated.
21809 (grub_ieee1275_next_property): Directly return Open Firmware return
21810 code.
21811 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
21812 Standardize error checking from `grub_ieee1275_get_property'.
21813 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
21814 `devalias' to `aliases'. Correct comments. Consolidate error paths.
21815
97b2f2ff 218162006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 21817
21818 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
21819 `instance_to_package_args' to `instance_to_path_args'.
21820
21821 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
21822 `grub_ieee1275_chosen'.
21823
21824 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
21825 `grub_ieee1275_interpret'.
21826
97b2f2ff 218272006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 21828
21829 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
21830
97b2f2ff 218312006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 21832
21833 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
21834 (__cmpdi): Likewise.
21835
21836 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
21837 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
21838 `grub_ssize_t'.
21839
02bb8acc 21840 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 21841
21842 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
21843 to type `grub_ssize_t'.
21844 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
21845
7f9a8531 218462006-09-22 Marco Gerards <marco@gnu.org>
21847
21848 * normal/script.c (grub_script_create_cmdmenu): Skip leading
21849 newlines.
21850
b5ef1102 218512006-09-22 Marco Gerards <marco@gnu.org>
21852
21853 * commands/echo.c: New file.
21854
21855 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
21856
21857 * conf/common.rmk (echo_mod_SOURCES): New variable.
21858 (echo_mod_CFLAGS): Likewise.
21859 (echo_mod_LDFLAGS): Likewise.
21860
2cff3677 218612006-09-22 Marco Gerards <marco@gnu.org>
21862
21863 * normal/main.c (get_line): Malloc memory instead of using
21864 preallocated memory. Removed the arguments `cmdline' and
21865 `max_len'. Updated all callers.
21866
6ba4688b 218672006-09-22 Marco Gerards <marco@gnu.org>
21868
21869 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
21870 (normal_mod_DEPENDENCIES): Likewise.
21871
21872 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
21873 (normal_mod_DEPENDENCIES): Likewise.
21874
21875 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
21876
e02ac02c 218772006-09-22 Johan Rydberg <jrydberg@gnu.org>
21878
21879 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
21880 programs.
21881 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
21882 (normal_mod_DEPENDENCIES): Likewise.
21883 * conf/i386-pc.mk: Regenerate.
21884 * conf/i386-efi.mk: Likewise
21885 * conf/common.mk: Likewise.
21886 * conf/powerpc-ieee1275.mk: Likewise.
21887 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 21888
8d252e44 218892006-09-22 Robert Millan <rmh@aybabtu.com>
21890
21891 Sync with i386 version.
21892 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
21893 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
21894
209bf7ac 218952006-09-21 Robert Millan <rmh@aybabtu.com>
21896
21897 Import from GRUB Legacy (lib/device.c):
21898 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
21899 (init_device_map) [__linux__]: Add support for I2O devices.
21900
6b146090 219012006-09-14 Marco Gerards <marco@gnu.org>
21902
21903 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
21904 `-melf_i386'.
21905
e38600a8 219062006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 21907
21908 * util/i386/pc/grub-install.in: Skip menu.lst when removing
21909 /boot/grub/*.lst.
78fa1790 21910
2952da5d 21911 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 21912
2952da5d 21913 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
21914 before adding it to device.map.
21915
01b82a64 219162006-08-15 Johan Rydberg <jrydberg@gnu.org>
21917
fe6b695a 21918 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 21919 compiles a file; using the -MD option.
21920 * conf/common.mk: Regenerate.
21921 * conf/i386-pc.mk: Likewise.
21922 * conf/i386-efi.mk: Likewise.
21923 * conf/powerpc-ieee1275.mk: Likewise.
21924 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 21925
1064790d 219262006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
21927
21928 Move the prototypes of grub_setjmp and grub_longjmp to
21929 cpu/setjmp.h, so that each architecture may specify different
21930 attributes.
f19dbdb7 21931
1064790d 21932 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
21933 (grub_longjmp): Likewise.
21934 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
21935 (grub_longjmp): Likewise.
21936 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
21937 (grub_longjmp): Likewise.
21938
21939 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
21940 [!GRUB_UTIL] (grub_longjmp): Removed.
21941
29dda3ed 219422006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
21943
21944 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
21945 "color!" method does not return any value.
21946
ad2a06ed 219472006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21948
21949 * include/grub/bitmap.h: New file.
21950
21951 * include/grub/i386/pc/vbeutil.h: Likewise.
21952
21953 * video/bitmap.c: Likewise.
21954
21955 * video/readers/tga.c: Likewise.
21956
21957 * video/i386/pc/vbeutil.c: Likewise.
21958
21959 * commands/videotest.c: Code cleanup and updated to reflect to new
21960 video API.
21961
21962 * term/gfxterm.c: Likewise.
21963
21964 * video/video.c: Likewise.
21965
21966 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
21967 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
21968 (bitmap_mod_SOURCES): New entry.
21969 (bitmap_mod_CFLAGS): Likewise.
21970 (bitmap_mod_LDFLAGS): Likewise.
21971 (tga_mod_SOURCES): Likewise.
21972 (tga_mod_CFLAGS): Likewise.
21973 (tga_mod_LDFLAGS): Likewise.
21974
21975 * include/grub/video.h (grub_video_blit_operators): New enum type.
21976 (grub_video_render_target): Changed as forward declaration and moved
21977 actual definition to be video driver specific.
21978 (grub_video_adapter.blit_bitmap): Added blitting operator.
21979 (grub_video_adapter.blit_render_target): Likewise.
21980 (grub_video_blit_bitmap): Likewise.
21981 (grub_video_blit_render_target): Likewise.
21982
21983 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
21984 driver specific render target definition.
21985 (grub_video_vbe_map_rgba): Added driver internal helper.
21986 (grub_video_vbe_unmap_color): Updated to use
21987 grub_video_i386_vbeblit_info.
21988 (grub_video_vbe_get_video_ptr): Likewise.
21989
21990 * include/grub/i386/pc/vbeblit.h
21991 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
21992 grub_video_i386_vbeblit_info.
21993 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21994 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21995 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21996 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21997 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21998 (grub_video_i386_vbeblit_index_index): Likewise.
21999 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
22000 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22001 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22002 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
22003 operator.
22004 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
22005 operator.
22006
22007 * video/i386/pc/vbeblit.c: Updated to reflect changes on
22008 include/grub/i386/pc/vbeblit.h.
22009
22010 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
22011 Updated to use grub_video_i386_vbeblit_info.
22012 (grub_video_i386_vbefill_R8G8B8): Likewise.
22013 (grub_video_i386_vbefill_index): Likewise.
22014 (grub_video_i386_vbefill): Added generic filler.
22015
22016 * video/i386/pc/vbefill.c: Updated to reflect changes on
22017 include/grub/i386/pc/vbefill.h.
22018
22019 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
22020 grub_video_i386_vbeblit_info.
22021 (grub_video_vbe_unmap_color): Likewise.
22022 (grub_video_vbe_blit_glyph): Likewise.
22023 (grub_video_vbe_scroll): Likewise.
22024 (grub_video_vbe_draw_pixel): Removed function.
22025 (grub_video_vbe_get_pixel): Likewise.
22026 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
22027 updated code to use it.
22028 (common_blitter): Added common blitter for render target and bitmap.
22029 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
22030 (grub_video_vbe_blit_render_target): Likewise.
22031
bc8c036d 220322006-07-30 Johan Rydberg <jrydberg@gnu.org>
22033
22034 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
22035 is in text mode if there is no console control protocol instance
22036 available.
22037
684a8eff 220382006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22039
22040 * include/grub/video.h: Code cleanup.
22041
22042 * include/grub/i386/pc/vbe.h: Likewise.
22043
22044 * video/i386/pc/vbe.c: Likewise.
22045
22046 * video/i386/pc/vbeblit.c: Likewise.
22047
22048 * video/i386/pc/vbefill.c: Likewise.
22049
22050 * video/video.c: Likewise. Also added more comments.
22051
5915059b 220522006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22053
22054 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
22055 (struct grub_biosdisk_dap): Likewise.
22056
22057 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
22058 linkage settings for all functions.
22059
90ce5d56 220602006-07-12 Marco Gerards <marco@gnu.org>
22061
22062 * configure.ac (--enable-mm-debug): Fix typo.
22063
22064 * genkernsyms.sh.in: Use proper quoting for `CC'.
22065
43e7f879 220662006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
22067
22068 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
22069 (normal_mod_ASFLAGS): Remove "-m32".
22070
4889bdec 220712006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
22072
22073 * util/misc.c: Include config.h.
22074 [!HAVE_MEMALIGN]: Do not include malloc.h.
22075 (grub_memalign): Use posix_memalign, if present. Then, use
22076 memalign, if present. Otherwise, emit an error.
22077
22078 * util/grub-emu.c: Do not include malloc.h.
22079
22080 * include/grub/util/misc.h: Include unistd.h. This is required for
22081 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
22082 D. Eades III <hde@foobar-qux.org>.
22083
22084 * configure.ac (AC_GNU_SOURCE): Added.
22085 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
22086 type.
22087
fd39d4da 220882006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
22089
22090 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
22091 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
22092
b786f3b5 220932006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
22094
22095 * include/grub/types.h (grub_host_addr_t): Rename to
22096 grub_target_addr_t.
22097 (grub_host_off_t): Rename to grub_target_off_t.
22098 (grub_host_size_t): Rename to grub_target_size_t.
22099 (grub_host_ssize_t): Rename to grub_target_ssize_t.
22100 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
22101
22102 * include/grub/kernel.h (struct grub_module_header): Change type
22103 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
22104 (grub_module_info): Likewise.
f19dbdb7 22105
051988bb 221062006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
22107
22108 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
22109 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
22110 Velazquez <jesus.velazquez@gmail.com>.
22111
deae281b 221122006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
22113
22114 Count partitions from 1 instead of 0 in the string representation
22115 of partitions. Still use 0-based internally.
f19dbdb7 22116
deae281b 22117 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
22118 (sun_partition_map_iterate): Use grub_partition_t instead of
22119 struct grub_partition *. Cast DESC->START_CYLINDER to
22120 grub_uint64_t after converting the endian.
22121 (sun_partition_map_probe): Subtract 1 for PARTNUM.
22122 (sun_partition_map_get_name): Add 1 to P->INDEX.
22123
22124 * partmap/pc.c (grub_partition_parse): Subtract 1 for
22125 PCDATA->DOS_PART.
22126 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
22127
22128 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
22129 zero instead of one.
22130 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
22131 (gpt_partition_map_get_name): Add 1 into P->INDEX.
22132
22133 * partmap/apple.c (apple_partition_map_iterate): Change the type
22134 of POS to unsigned.
22135 (apple_partition_map_probe): Subtract 1 for PARTNUM.
22136 (apple_partition_map_get_name): Add 1 into P->INDEX.
22137
22138 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
22139 of POS to unsigned.
22140 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
22141 calculate the offset of a partition.
22142 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
22143 (amiga_partition_map_get_name): Add 1 into P->INDEX.
22144
22145 * partmap/acorn.c (acorn_partition_map_find): Change the type of
22146 SECTOR to grub_disk_addr_t.
22147 (acorn_partition_map_iterate): Likewise.
22148 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
22149 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
22150 top.
22151 (acorn_partition_map_get_name): Add 1 into P->INDEX.
22152
22153 * kern/i386/pc/init.c (make_install_device): Add 1 into
22154 GRUB_INSTALL_DOS_PART.
22155
22156 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
22157 conditional.
22158
524a1e6a 221592006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
22160
22161 Clean up the code to support 64-bit addressing in disks and
22162 files. This change is not enough for filesystems yet.
f19dbdb7 22163
524a1e6a 22164 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
22165 type of "start" to grub_uint64_t.
22166 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
22167 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
22168 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
22169 convert addresses.
22170
22171 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
22172 to grub_disk_addr_t.
22173
22174 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
22175 string.
22176
22177 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22178
22179 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
22180 to char *.
22181
22182 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
22183
22184 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
22185
22186 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
22187
22188 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
22189 to grub_off_t, to detect an error from grub_file_seek.
22190 (grub_multiboot_load_elf32): Likewise.
22191
22192 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
22193 maximum unsigned long value when an overflow is detected.
22194 (grub_strtoull): New function.
22195 (grub_divmod64): Likewise.
22196 (grub_lltoa): use grub_divmod64.
22197
22198 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
22199 grub_disk_addr_t.
22200 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
22201 the pointer to next character. Use grub_strtoull instead of
22202 grub_strtoul.
22203 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
22204 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
22205 respectively.
22206
fe6b695a 22207 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 22208 return value is signed.
22209 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
22210 test if OFFSET is less than zero, as OFFSET is unsigned now.
22211
22212 * kern/disk.c (struct grub_disk_cache): Change the type of
22213 "sector" to grub_disk_addr_t.
22214 (grub_disk_cache_get_index): Change the type of SECTOR to
22215 grub_disk_addr_t. Calculate the hash with SECTOR casted to
22216 unsigned after shifting.
22217 (grub_disk_cache_invalidate): Change the type of SECTOR to
22218 grub_disk_addr_t.
22219 (grub_disk_cache_unlock): Likewise.
22220 (grub_disk_cache_store): Likewise.
22221 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
22222 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
22223 grub_disk_addr_t and grub_uint64_t, respectively.
22224 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
22225 body, as the value of OFFSET is tweaked by
22226 grub_disk_check_range. Change the types of START_SECTOR, LEN and
22227 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
22228 respectively.
22229 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
22230 body, as the value of OFFSET is tweaked by
22231 grub_disk_check_range. Change the types of LEN and N to
22232 grub_size_t.
22233
22234 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
22235 and "saved_offset" to grub_off_t.
22236 (test_header): Cast BUF to char *.
22237 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
22238 to char *.
22239 (grub_gzio_read): Change the types of OFFSET and SIZE to
22240 grub_off_t and grub_size_t, respectively.
22241
22242 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
22243 Removed.
22244 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
22245 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
22246 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
22247 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
22248 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
22249
22250 * include/grub/types.h (grub_off_t): Unconditionally set to
22251 grub_uint64_t.
22252 (grub_disk_addr_t): Changed to grub_uint64_t.
22253
22254 * include/grub/partition.h (struct grub_partition): Change the
22255 types of "start", "len" and "offset" to grub_disk_addr_t,
22256 grub_uint64_t and grub_disk_addr_t, respectively.
22257 (grub_partition_get_start): Return grub_disk_addr_t.
22258 (grub_partition_get_len): Return grub_uint64_t.
22259
22260 * include/grub/misc.h (grub_strtoull): New prototype.
22261 (grub_divmod64): Likewise.
22262
22263 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
22264 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
22265 grub_off_t, respectively.
22266 All callers and references changed.
22267
22268 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
22269 grub_size_t in "read".
22270 All callers and references changed.
22271
22272 * include/grub/file.h (struct grub_file): Change the types of
22273 "offset" and "size" to grub_off_t and grub_off_t,
22274 respectively. Change the type of SECTOR to grub_disk_addr_t in
22275 "read_hook".
22276 (grub_file_read): Change the type of LEN to grub_size_t.
22277 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
22278 grub_off_t.
22279 (grub_file_size): Return grub_off_t.
22280 (grub_file_tell): Likewise.
22281 All callers and references changed.
22282
22283 * include/grub/disk.h (struct grub_disk_dev): Change the types of
22284 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
22285 "write".
22286 (struct grub_disk): Change the type of "total_sectors" to
22287 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 22288 "read_hook".
524a1e6a 22289 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
22290 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
22291 (grub_disk_write): Likewise.
22292 All callers and references changed.
22293
22294 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
22295 char * for grub_strncmp to silence gcc.
22296 (grub_iso9660_mount): Likewise.
22297 (grub_iso9660_mount): Likewise.
22298 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
22299 return statement.
22300 (grub_iso9660_iterate_dir): Likewise.
22301 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
22302
22303 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
22304 LEN to grub_disk_addr_t and grub_size_t, respectively.
22305
22306 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
22307
22308 * fs/jfs.c (grub_jfs_read_file): Likewise.
22309
22310 * fs/minix.c (grub_jfs_read_file): Likewise.
22311
22312 * fs/sfs.c (grub_jfs_read_file): Likewise.
22313
22314 * fs/ufs.c (grub_jfs_read_file): Likewise.
22315
22316 * fs/xfs.c (grub_jfs_read_file): Likewise.
22317
22318 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
22319 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
22320 respectively.
22321
22322 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
22323 BLKNR to -1 instead of returning GRUB_ERRNO.
22324 (grub_ext2_read_file): Change the types of SECTOR and
22325 LEN to grub_disk_addr_t and grub_size_t, respectively.
22326
22327 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
22328 LEN to grub_disk_addr_t and grub_size_t, respectively.
22329
22330 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
22331 grub_file_read.
22332
22333 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
22334 string. Do not cast SECTOR explicitly.
22335
22336 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
22337 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
22338 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
22339 grub_disk_addr_t and grub_size_t, respectively. If the sector is
22340 over 2TB and LBA mode is not supported, raise an error.
22341 (get_safe_sectors): New function.
22342 (grub_biosdisk_read): Use get_safe_sectors.
22343 (grub_biosdisk_write): Likewise.
22344
22345 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
22346 (grub_efidisk_write): Likewise.
22347
22348 * disk/loopback.c (delete_loopback): Cosmetic changes.
22349 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
22350 correctly.
22351 (grub_loopback_open): Likewise.
22352 (grub_loopback_read): Likewise. Also, change the type of POS to
22353 grub_off_t, and fix the usage of grub_memset.
22354
22355 * commands/i386/pc/play.c: Include grub/machine/time.h.
22356
22357 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
22358 print FILE->SIZE.
22359
22360 * commands/configfile.c: Include grub/env.h.
22361
22362 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
22363 GRUB_ERRNO directly instead. Change the type of POS to
22364 grub_off_t. Follow the coding standard.
22365
22366 * commands/blocklist.c: Include grub/partition.h.
22367 (grub_cmd_blocklist): Return an error if the underlying device is
22368 not a disk. Take the starting sector of a partition into account,
22369 if a partition is used.
22370
22371 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
22372 a length field.
22373 (lba_mode): Support 64-bit addresses.
22374 (chs_mode): Likewise.
22375 (copy_buffer): Adapted to the new offsets of a length field and a
22376 segment field.
22377 (blocklist_default_start): Allocate 64-bit space.
22378
22379 * boot/i386/pc/boot.S (force_lba): Removed.
22380 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 22381 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 22382 space.
22383 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
22384 is useless.
22385 (lba_mode): Refactored to support a 64-bit address. More size
22386 optimization.
22387 (setup_sectors): Likewise.
22388
53af98ad 223892006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
22390
22391 * DISTLIST: Added include/grub/i386/linux.h. Removed
22392 include/grub/i386/pc/linux.h
22393
22394 * configure.ac (AC_INIT): Bumped to 1.94.
22395
22396 * config.guess: Updated from gnulib.
22397 * config.sub: Likewise.
22398 * install-sh: Likewise.
22399 * mkinstalldirs: Likewise.
22400
b4c1940a 224012006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
22402
22403 * conf/common.rmk (grub_modules_init.lst): Depended on
22404 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
22405 MODSRCFILES.
22406
22407 * genmk.rb (PModule::rule): Reverted the previous change.
22408
cfca1cfd 224092006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
22410
22411 * conf/common.rmk (grub_modules_init.lst): Depends on
22412 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
22413 that the target does not exist before producing.
22414 (grub_modules_init.h): Remove the target before generating.
22415 (grub_emu_init.c): Likewise.
22416
22417 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
22418
aa6d7826 224192006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
22420
22421 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
22422 for the target-specific tests. Make sure that we also have the
22423 up-to-date target variables for those tests.
22424
26c607b9 224252006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
22426
22427 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
22428 (PModule::rule): Likewise.
22429
0162321a 224302006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
22431
22432 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
22433 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
22434 target-specific flags should be prefixed.
22435 (PModule::rule): Likewise.
22436
6c826348 224372006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
22438
22439 * configure.ac (CMP): Check if cmp is available explicitly.
22440
b977bf01 224412006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
22442
22443 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
22444 (target_cpu): New variable.
22445 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 22446
b977bf01 22447 * util/i386/pc/grub-install.in (host_cpu): Removed.
22448 (target_cpu): New variable.
22449 (pkglibdir): Use target_cpu instead of host_cpu.
22450
22451 * util/genmoddep.c: Removed.
f19dbdb7 22452
b977bf01 22453 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
22454 instead of GRUB_HOST_SIZEOF_VOID_P.
22455 * kern/dl.c: Likewise.
22456
22457 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
22458 ...
22459 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22460 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22461 (GRUB_TARGET_SIZEOF_LONG): ... this.
22462 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22463 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22464 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
22465 to ...
22466 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22467 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22468 (GRUB_TARGET_SIZEOF_LONG): ... this.
22469 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22470 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22471 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
22472 to ...
22473 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22474 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22475 (GRUB_TARGET_SIZEOF_LONG): ... this.
22476 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22477 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22478
22479 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
22480 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
22481 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
22482 instead of GRUB_HOST_SIZEOF_LONG.
22483 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
22484 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
22485 GRUB_CPU_WORDS_BIGENDIAN.
22486 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
22487 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
22488 grub_host_ssize_t.
22489
22490 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
22491 (genmoddep_SOURCES): Likewise.
22492 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
22493 (genmoddep_SOURCES): Likewise.
22494 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
22495 (genmoddep_SOURCES): Likewise.
22496 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
22497 Likewise.
22498 (genmoddep_SOURCES): Likewise.
22499
22500 * genmoddep.awk: New file.
22501
22502 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
22503 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
22504 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
22505 (PModule::rule): Likewise.
22506 (Program::rule): Likewise.
22507 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
22508 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
22509 respectively.
22510
22511 * configure.ac: Rewritten intensively to use host and target
22512 instead of build and host, respectively.
22513
22514 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
22515 (host_cpu): Removed.
22516 (target_cpu): New variable.
22517 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
22518 (BUILD_CC): Removed.
22519 (BUILD_CFLAGS): Likewise.
22520 (BUILD_CPPFLAGS): Likewise.
22521 (TARGET_CC): New variable.
22522 (TARGET_CFLAGS): Likewise.
22523 (TARGET_CPPFLAGS): Likewise.
22524 (TARGET_LDFLAGS): Likewise.
22525 (AWK): Likewise.
22526 (include): Use target_cpu instead of host_cpu.
22527 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 22528
b977bf01 22529 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
22530
f09771a1 225312006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
22532
22533 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
22534 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
22535 field 'false' to 'exec_on_false'.
22536 (grub_script_create_cmdif): Renamed argument names to reflect above
22537 changes.
22538
22539 * normal/execute.c (grub_script_execute_cmdif): Likewise.
22540
22541 * normal/script.c (grub_script_create_cmdif): Likewise.
22542
118f4fb3 225432006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
22544
22545 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
22546 top.
22547 (grub_hfsplus_btree_recptr): Likewise.
22548 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
22549 FILEBLOCK both to pass a block number and store next block
22550 number.
22551 (grub_hfsplus_read_block): Rewritten heavily to support an extent
22552 overflow file correctly. Specify errors appropriately, because
22553 fshelp expects that GRUB_ERRNO is set when fails. Reuse
22554 grub_hfsplus_btree_recptr to get the pointer to a found key.
22555 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
22556 is found.
22557
22558 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
22559 linux.mod.
22560 (_linux_mod_SOURCES): New variable.
22561 (_linux_mod_CFLAGS): Likewise.
22562 (_linux_mod_LDFLAGS): Likewise.
22563 (linux_mod_SOURCES): Likewise.
22564 (linux_mod_CFLAGS): Likewise.
22565 (linux_mod_LDFLAGS): Likewise.
22566
22567 * DISTLIST: Added loader/i386/efi/linux.c,
22568 loader/i386/efi/linux_normal.c and
22569 include/grub/i386/efi/loader.h.
22570
22571 * loader/i386/efi/linux.c: New file.
22572 * loader/i386/efi/linux_normal.c: Likewise.
22573 * include/grub/i386/efi/loader.h: Likewise.
22574
89a7d726 225752006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
22576
22577 * commands/blocklist.c: New file.
22578
22579 * DISTLIST: Added commands/blocklist.c.
22580
22581 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 22582 color for the background, and a darker color for the foreground.
89a7d726 22583 (grub_console_checkkey): Return READ_KEY.
22584 (grub_console_cls): Set the background to
22585 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
22586
22587 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
22588
22589 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
22590 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
22591
22592 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
22593 prototype.
22594
22595 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
22596 BG. The spec is wrong again.
22597
22598 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
22599 prototype.
22600 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
22601
22602 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22603 commands/blocklist.c.
22604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 22605
89a7d726 22606 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
22607 (blocklist_mod_SOURCES): New variable.
22608 (blocklist_mod_CFLAGS): Likewise.
22609 (blocklist_mod_LDFLAGS): Likewise.
22610
75c8f258 226112006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
22612
22613 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
22614 duplication.
22615 (lba_mode): Use %eax more intensively to reduce the code size.
22616
da2eb181 226172006-05-20 Marco Gerards <marco@gnu.org>
22618
22619 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
22620
22621 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
22622 for `menuentry'.
22623 (script): Accept leading newlines.
22624 (newlines): New rule to describe 0 or more newlines.
22625 (commands): Accept `command' with trailing newline. Fixed the
22626 order in which arguments were passed to `grub_script_add_cmd'.
22627 Accept commands separated by newlines.
22628 (function): Changed to accept newlines.
22629 (menuentry) Rewritten.
22630
22631 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
22632 front of the list, instead of to the end.
22633
577b4050 226342006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
22635
22636 * util/i386/pc/grub-install.in (bindir): New variable.
22637 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
22638 Shaver <lbgwjl@gmail.com>.
22639
0d6e1189 226402006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
22641
22642 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
22643 grub/machine/linux.h
22644 * loader/i386/pc/linux.c: Likewise.
22645
22646 * include/grub/i386/pc/linux.h: Moved to ...
22647 * include/grub/i386/linux.h: ... here.
22648
22649 * include/grub/i386/linux.h (struct linux_kernel_params): New
22650 struct.
f19dbdb7 22651
31b86e9f 226522006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
22653
22654 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
22655 checking.
22656 (grub_video_vbe_blit_glyph): Likewise.
22657 (grub_video_vbe_blit_bitmap): Likewise.
22658 (grub_video_vbe_blit_render_target): Likewise.
22659
83b984de 226602006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
22661
22662 * configure.ac (--with-platform): Properly quote the square
22663 brackets.
22664
5f0413bd 226652006-05-08 Marco Gerards <marco@gnu.org>
22666
22667 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
22668 this...
22669 (kernel_elf_HEADERS): ...to this. Updated all users.
22670 (grubof_symlist.c): Renamed from this...
22671 (kernel_elf_symlist.c): ...to this. Updated all users.
22672 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
22673 (grubof_SOURCES): Renamed from this...
22674 (kernel_elf_SOURCES): ...to this.
22675 (grubof_HEADERS): Renamed from this...
22676 (kernel_elf_HEADERS): ...to this.
22677 (grubof_CFLAGS): Renamed from this...
22678 (kernel_elf_CFLAGS): ...to this.
22679 (grubof_ASFLAGS): Renamed from this...
22680 (kernel_elf_ASFLAGS): ...to this.
22681 (grubof_LDFLAGS): Renamed from this...
22682 (kernel_elf_LDFLAGS): ...to this.
22683
22684 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
22685 this...
22686 (kernel_elf_HEADERS): ...to this. Updated all users.
22687 (grubof_symlist.c): Renamed from this...
22688 (kernel_elf_symlist.c): ...to this. Updated all users.
22689 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
22690 (grubof_SOURCES): Renamed from this...
22691 (kernel_elf_SOURCES): ...to this.
22692 (grubof_HEADERS): Renamed from this...
22693 (kernel_elf_HEADERS): ...to this.
22694 (grubof_CFLAGS): Renamed from this...
22695 (kernel_elf_CFLAGS): ...to this.
22696 (grubof_ASFLAGS): Renamed from this...
22697 (kernel_elf_ASFLAGS): ...to this.
22698 (grubof_LDFLAGS): Renamed from this...
22699 (kernel_elf_LDFLAGS): ...to this.
22700
22701 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
22702 `kernel.elf' instead of `grubof'.
22703
05568c2e 227042006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
22705
22706 Add --with-platform to configure. Use pkglibdir instead of
22707 pkgdatadir. This is reported by Roger Leigh.
22708
22709 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
22710 (host_vendor): Likewise.
22711 (host_os): Likewise.
22712 (pkgdatadir): Likewise.
22713 (platform): New variable.
22714 (pkglibdir): Likewise.
22715 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 22716
05568c2e 22717 * util/i386/pc/grub-install.in (datadir): Removed.
22718 (host_vendor): Likewise.
22719 (host_os): Likewise.
22720 (pkgdatadir): Likewise.
22721 (platform): New variable.
22722 (pkglibdir): Likewise.
22723 Use PKGLIBDIR instead of PKGDATADIR.
22724
22725 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
22726 instead of GRUB_DATADIR.
22727 (main): Likewise.
22728 * util/i386/pc/grub-mkimage.c (usage): Likewise.
22729 (main): Likewise.
22730 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22731 (main): Likewise.
22732
22733 * configure.ac (--with-platform): New option.
22734 Use PLATFORM instead of HOST_VENDOR to specify a platform.
22735
22736 * Makefile.in: Include a makefile based on PLATFORM instead of
22737 HOST_VENDOR.
22738 (pkgdatadir): Not appended by the machine type.
22739 (pkglibdir): Appended by the machine type.
22740 (host_vendor): Removed.
22741 (platform): New variable.
22742 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
22743 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
22744 (uninstall): Likewise.
22745
4e93851c 227462006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
22747
22748 Use the environment context in the menu. Remove the commands
22749 "default" and "timeout", and use variables instead.
f19dbdb7 22750
4e93851c 22751 * normal/menu.c: Include grub/env.h.
22752 (print_entry): Cast TITLE to silence gcc.
22753 (get_timeout): New function.
22754 (set_timeout): Likewise.
22755 (get_entry_number): Likewise.
22756 (run_menu): Use a default entry, a fallback entry and a timeout
22757 in the environment variables "default", "fallback" and
22758 "timeout". Also, tweak the default entry if it is not within the
22759 current menu entries.
22760 (grub_menu_run): Use a fallback entry in the environment variable
22761 "fallback".
22762
22763 * normal/main.c (read_config_file): Do not initialize
22764 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
22765 NEWMENU->TIMEOUT.
22766 (grub_normal_execute): Use a data slot to store the menu.
22767
22768 * include/grub/normal.h (struct grub_menu): Removed default_entry,
22769 fallback_entry and timeout.
22770 (struct grub_menu_list): Removed.
22771 (grub_menu_list_t): Likewise.
22772 (struct grub_context): Likewise.
22773 (grub_context_t): Likewise.
22774 (grub_context_get): Likewise.
22775 (grub_context_get_current_menu): Likewise.
22776 (grub_context_push_menu): Likewise.
22777 (grub_context_pop_menu): Likewise.
22778 (grub_default_init): Likewise.
22779 (grub_default_fini): Likewise.
22780 (grub_timeout_init): Likewise.
22781 (grub_timeout_fini): Likewise.
22782
22783 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
22784 and timeout.mod.
22785 (normal_mod_SOURCES): Removed normal/context.c.
22786
22787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
22788 commands/default.c, commands/timeout.c and normal/context.c.
22789 (normal_mod_SOURCES): Removed normal/context.c.
22790
22791 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
22792 commands/timeout.c and normal/context.c.
22793 (normal_mod_SOURCES): Removed normal/context.c.
22794
22795 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
22796 commands/default.c, commands/timeout.c and normal/context.c.
22797 (normal_mod_SOURCES): Removed normal/context.c.
22798
22799 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
22800 timeout.mod.
22801 (default_mod_SOURCES): Removed.
22802 (default_mod_CFLAGS): Likewise.
22803 (default_mod_LDFLAGS): Likewise.
22804 (timeout_mod_SOURCES): Removed.
22805 (timeout_mod_CFLAGS): Likewise.
22806 (timeout_mod_LDFLAGS): Likewise.
22807
22808 * DISTLIST: Removed commands/default.c, commands/timeout.c and
22809 normal/context.c.
22810
22811 * commands/default.c: Removed.
22812 * commands/timeout.c: Likewise.
22813 * normal/context.c: Likewise.
22814
1eb9cc1d 228152006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
22816
22817 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
22818
385bd9c1 228192006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
22820
22821 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
22822 "next" to "prev" for readability.
22823 (struct grub_env_sorted_var): New struct.
22824 (grub_env_context): Renamed to ...
22825 (initial_context): ... this.
22826 (grub_env_var_context): Renamed to ...
22827 (current_context): ... this.
22828 (grub_env_find): Look only at CURRENT_CONTEXT.
22829 (grub_env_context_open): Rewritten to copy exported variables from
22830 previous context.
22831 (grub_env_context_close): Rewritten according to the new
22832 scheme. Also, add an assertion to prevent the initial context from
22833 removed.
22834 (grub_env_insert): Removed the code for the sorted list.
22835 (grub_env_remove): Likewise.
22836 (grub_env_export): Simply mark the variable with
22837 GRUB_ENV_VAR_GLOBAL.
22838 (grub_env_set): A cosmetic change for naming consistency.
22839 (grub_env_get): Likewise.
22840 (grub_env_unset): Likewise.
22841 (grub_env_iterate): Rewritten to sort variables within this
22842 function.
22843 (grub_register_variable_hook): Fixed for naming consistency. Call
22844 grub_env_find again, only if NAME is not found at the first time.
22845 (mangle_data_slot_name): New function.
22846 (grub_env_set_data_slot): Likewise.
22847 (grub_env_get_data_slot): Likewise.
22848 (grub_env_unset_data_slot): Likewise.
22849
22850 * include/grub/env.h (grub_env_var_type): New enum.
22851 (GRUB_ENV_VAR_LOCAL): New constant.
22852 (GRUB_ENV_VAR_GLOBAL): Likewise.
22853 (GRUB_ENV_VAR_DATA): Likewise.
22854 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
22855 "type".
22856 (grub_env_set): Replace VAR with NAME for consistency.
22857 (grub_register_variable_hook): Likewise.
22858 (grub_env_export): Specify the name of the argument.
22859 (grub_env_set_data_slot): New prototype.
22860 (grub_env_get_data_slot): Likewise.
22861 (grub_env_unset_data_slot): Likewise.
22862
7f362539 228632006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22864
22865 Extend the loader so that GRUB can accept a loader which comes
22866 back to GRUB when a loaded image exits. Also, this change adds
22867 support for a chainloader on EFI.
f19dbdb7 22868
7f362539 22869 * term/efi/console.c: Include grub/misc.h.
22870 (grub_console_checkkey): Display a scan code on the top for
22871 debugging. This will be removed once the EFI port gets stable.
22872 Correct the scan code mapping.
22873
22874 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
22875 allocate memory from larger regions, in order to reduce the number
22876 of allocated regions. Otherwise, the MacOSX loader panics.
22877 (filter_memory_map): Avoid less than 1MB for compatibility with
22878 other loaders.
22879 (add_memory_regions): Allocate from the tail of a region, if
22880 possible, to avoid allocating a region near to 1MB, for the MacOSX
22881 loader.
22882
22883 * kern/efi/init.c (grub_efi_set_prefix): Specify
22884 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
22885
22886 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
22887 argument IMAGE_HANDLE and specify it to get a loaded image.
22888 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
22889 grub_efi_get_loaded_image.
fe6b695a 22890 (grub_efi_get_filename): Divide the length by the size of
7f362539 22891 grub_efi_char16_t.
22892 (grub_efi_get_device_path): New function.
22893 (grub_efi_print_device_path): Print End Device Path nodes. Divide
22894 the length by the size of grub_efi_char16_t for a file path device
22895 path node.
22896
22897 * kern/loader.c (grub_loader_noreturn): New variable.
22898 (grub_loader_set): Accept a new argument NORETURN. Set
22899 GRUB_LOADER_NORETURN to NORETURN.
22900 All callers changed.
22901 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
22902 grub_machine_fini.
22903
22904 * include/grub/efi/efi.h (grub_efi_get_device_path): New
22905 prototype.
22906 (grub_efi_get_loaded_image): Take an argument to specify an image
22907 handle.
22908
22909 * include/grub/loader.h (grub_loader_set): Added one more argument
22910 NORETURN.
22911
22912 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
22913 instead of grub_efi_open_protocol.
22914 (grub_efidisk_get_device_name): Likewise.
22915 (grub_efidisk_close): Print a newline.
22916 (grub_efidisk_get_device_handle): Fixed to use
22917 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
22918 GRUB_EFI_DEVICE_PATH_TYPE.
22919
22920 * disk/efi/efidisk.c (device_path_guid): Moved to ...
22921 * kern/efi/efi.c (device_path_guid): ... here.
22922
22923 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
22924 chain.mod.
22925 (kernel_mod_HEADERS): Added efi/disk.h.
22926 (_chain_mod_SOURCES): New variable.
22927 (_chain_mod_CFLAGS): Likewise.
22928 (_chain_mod_LDFLAGS): Likewise.
22929 (chain_mod_SOURCES): Likewise.
22930 (chain_mod_CFLAGS): Likewise.
22931 (chain_mod_LDFLAGS): Likewise.
22932
22933 * DISTLIST: Added include/grub/efi/chainloader.h,
22934 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
22935
22936 * include/grub/efi/chainloader.h: New file.
22937 * loader/efi/chainloader.c: Likewise.
22938 * loader/efi/chainloader_normal.c: Likewise.
22939
c0111d6e 229402006-04-30 Marco Gerards <marco@gnu.org>
22941
22942 * commands/configfile.c (grub_cmd_source): New function.
22943 (GRUB_MOD_INIT): Register the commands `source' and `.'.
22944 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
22945
df5341da 229462006-04-30 Marco Gerards <marco@gnu.org>
22947
22948 * normal/execute.c (grub_script_execute_cmd): Change the return
22949 type to `grub_err_t'. Correctly return the error.
22950 (grub_script_execute_cmdline): In case a command line is not a
22951 command or a function, try to interpret it as an assignment.
22952
f85934bd 229532006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22954
22955 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
22956 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
22957 skip a node whose name is obviously invalid as UTF-16,
22958 i.e. contains a NUL character. Stop the iteration when the last
22959 directory entry is found. Instead of using the return value of
22960 grub_hfsplus_btree_iterate_node, store the value in RET and use
22961 it, because the iterator can be stopped by the last directory
22962 entry.
22963
8f8a2cf8 229642006-04-30 Marco Gerards <marco@gnu.org>
22965
22966 * include/grub/env.h (grub_env_export): New prototype. Reported
22967 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
22968
a27e84ce 229692006-04-30 Marco Gerards <marco@gnu.org>
22970
22971 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
22972 size of the extents in a catalog file record.
22973
eaef0553 229742006-04-29 Marco Gerards <marco@gnu.org>
22975
22976 * commands/configfile.c (grub_cmd_configfile): Execute the
22977 configfile within its own context.
22978
22979 * include/grub/env.h (grub_env_context_open): New prototype.
22980 (grub_env_context_close): Likewise.
22981
22982 * kern/env.c (grub_env): Removed.
22983 (grub_env_sorted): Likewise.
22984 (grub_env_context): New variable.
22985 (grub_env_var_context): Likewise.
22986 (grub_env_find): Search both the active context and the global
22987 context.
22988 (grub_env_context_open): New function.
22989 (grub_env_context_close): Likewise.
22990 (grub_env_insert): Likewise.
22991 (grub_env_remove): Likewise.
22992 (grub_env_export): Likewise.
22993 (grub_env_set): Changed to use helper functions to avoid code
22994 duplication.
22995 (grub_env_iterate): Rewritten so both the current context and the
22996 global context are being used.
22997
22998 * normal/command.c (export_command): New function.
22999 (grub_command_init): Register the `export' function.
23000
7b455f4d 230012006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
23002
23003 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
23004 explicitly to suppress gcc's warnings.
23005 * fs/fat.c (grub_fat_find_dir): Likewise.
23006 (grub_fat_label): Likewise.
23007 * fs/xfs.c (grub_xfs_read_inode): Likewise.
23008 (grub_xfs_mount): Likewise.
23009 (grub_xfs_label): Likewise.
23010 * fs/affs.c (grub_affs_mount): Likewise.
23011 (grub_affs_label): Likewise.
23012 (grub_affs_iterate_dir): Likewise.
23013 * fs/sfs.c (grub_sfs_mount): Likewise.
23014 (grub_sfs_iterate_dir): Likewise.
23015 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
23016 * fs/hfs.c (grub_hfs_mount): Likewise.
23017 (grub_hfs_cmp_catkeys): Likewise.
23018 (grub_hfs_find_dir): Likewise.
23019 (grub_hfs_dir): Likewise.
23020 (grub_hfs_label): Likewise.
23021 * fs/jfs.c (grub_jfs_mount): Likewise.
23022 (grub_jfs_opendir): Likewise.
23023 (grub_jfs_getent): Likewise.
23024 (grub_jfs_lookup_symlink): Likewise.
23025 (grub_jfs_label): Likewise.
23026 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
23027 (grub_hfsplus_iterate_dir): Likewise.
23028 (grub_hfsplus_btree_iterate_node): Made static.
23029
23030 * util/grub-emu.c (prefix): New variable.
23031 (grub_machine_set_prefix): New function.
23032 (main): Do not set the environment variable "prefix" here. Only
23033 set PREFIX, which is used later by grub_machine_set_prefix.
23034
23035 * include/grub/video.h: Do not include grub/symbol.h.
23036 (grub_video_register): Not exported. This symbol is not defined in
23037 the kernel.
23038 (grub_video_unregister): Likewise.
23039 (grub_video_iterate): Likewise.
23040 (grub_video_setup): Likewise.
23041 (grub_video_restore): Likewise.
23042 (grub_video_get_info): Likewise.
23043 (grub_video_get_blit_format): Likewise.
23044 (grub_video_set_palette): Likewise.
23045 (grub_video_get_palette): Likewise.
23046 (grub_video_set_viewport): Likewise.
23047 (grub_video_get_viewport): Likewise.
23048 (grub_video_map_color): Likewise.
23049 (grub_video_map_rgb): Likewise.
23050 (grub_video_map_rgba): Likewise.
23051 (grub_video_fill_rect): Likewise.
23052 (grub_video_blit_glyph): Likewise.
23053 (grub_video_blit_bitmap): Likewise.
23054 (grub_video_blit_render_target): Likewise.
23055 (grub_video_scroll): Likewise.
23056 (grub_video_swap_buffers): Likewise.
23057 (grub_video_create_render_target): Likewise.
23058 (grub_video_delete_render_target): Likewise.
23059 (grub_video_set_active_render_target): Likewise.
23060
23061 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
23062 Undefined.
23063 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
23064
23065 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
23066 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23067 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23068 instead of $(srcdir)/genkernsyms.sh.
23069
23070 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
23071 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23072 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23073 instead of $(srcdir)/genkernsyms.sh.
23074
23075 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
23076 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23077 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23078 instead of $(srcdir)/genkernsyms.sh.
23079
23080 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
23081 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23082 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23083 instead of $(srcdir)/genkernsyms.sh.
23084
23085 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
23086 genkernsyms.sh.
23087
23088 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
23089 genkernsyms.sh.
23090 (gensymlist.sh): New target.
23091 (genkernsyms.sh): Likewise.
23092
23093 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
23094 genkernsyms.sh.in and gensymlist.sh.in.
23095
23096 * genkernsyms.sh: Removed.
23097 * gensymlist.sh: Likewise.
f19dbdb7 23098
7b455f4d 23099 * genkernsyms.sh.in: New file.
23100 * gensymlist.sh.in: Likewise.
23101
1885bb27 231022006-04-25 Hollis Blanchard <hollis@penguinppc.org>
23103
23104 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
23105 clobber "prefix", since we may have already set it manually.
23106
71538dff 231072006-04-25 Hollis Blanchard <hollis@penguinppc.org>
23108
23109 * kern/misc.c (abort): New alias for grub_abort.
23110
2965c7cc 231112006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
23112
23113 A new machine-specific function "grub_machine_set_prefix" is
23114 defined. This is called after loading modules, so that a prefix
23115 initialization can use modules. Also, this change adds an
23116 intensive debugging feature for the memory manager via the
23117 configure option "--enable-mm-debug".
f19dbdb7 23118
2965c7cc 23119 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
23120 PART.LEN.
23121
23122 * kern/sparc64/ieee1275/init.c (abort): Removed.
23123 (grub_stop): Likewise.
23124 (grub_exit): New function.
23125 (grub_set_prefix): Renamed to ...
23126 (grub_machine_set_prefix): ... this.
23127 (grub_machine_init): Do not call grub_set_prefix.
23128
23129 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
23130 (grub_machine_set_prefix): ... this.
23131 (grub_machine_init): Do not call grub_set_prefix.
23132
23133 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
23134 (grub_machine_init): Do not set the prefix here.
23135
23136 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
23137
23138 * kern/efi/init.c: Include grub/mm.h.
23139 (grub_efi_set_prefix): New function.
23140
23141 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
23142 (grub_efi_get_filename): New function.
23143 (grub_print_device_path): Renamed to ...
23144 (grub_efi_print_device_path): ... this.
23145
23146 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
23147 [MM_DEBUG] (grub_realloc): Likewise.
23148 [MM_DEBUG] (grub_free): Likewise.
23149 [MM_DEBUG] (grub_memalign): Likewise.
23150 [MM_DEBUG] (grub_mm_debug): New variable.
23151 [MM_DEBUG] (grub_debug_malloc): New function.
23152 [MM_DEBUG] (grub_debug_free): New function.
23153 [MM_DEBUG] (grub_debug_realloc): New function.
23154 [MM_DEBUG] (grub_debug_memalign): New function.
23155
23156 * kern/misc.c (grub_abort): Print a newline to distinguish
23157 the message.
23158
23159 * kern/main.c (grub_main): Call grub_machine_set_prefix and
23160 grub_set_root_dev after loading modules. This is necessary when
23161 setting a prefix depends on modules.
23162
23163 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
23164 (grub_efi_print_device_path): ... this.
23165 (grub_efi_get_filename): New prototype.
23166 (grub_efi_set_prefix): Likewise.
23167
23168 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
23169 and grub/disk.h.
23170 (grub_efidisk_get_device_handle): New prototype.
23171 (grub_efidisk_get_device_name): Likewise.
23172
23173 * include/grub/mm.h: Include config.h.
23174 (MM_DEBUG): Removed.
23175 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
23176 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
23177 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
23178 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
23179 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
23180 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
23181 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
23182 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
23183 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
23184
23185 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
23186
23187 * disk/efi/efidisk.c: Include grub/partition.h.
23188 (iterate_child_devices): New function.
23189 (add_device): First, compare only last device path nodes, so that
23190 devices are sorted by the types.
23191 (grub_efidisk_get_device_handle): New function.
23192 (grub_efidisk_get_device_name): Likewise.
23193
23194 * configure.ac (--enable-mm-debug): New option to enable the
23195 memory manager debugging feature. This makes the binary much
23196 bigger, so is disabled by default.
23197
9cacaa17 231982006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
23199
23200 Use grub_abort instead of grub_stop, and grub_exit must be
23201 define in each architecture now. Also, this change adds support
23202 for EFI disks.
f19dbdb7 23203
9cacaa17 23204 * util/i386/pc/grub-probefs.c: Include grub/term.h.
23205 (grub_getkey): New function.
23206 (grub_term_get_current): Likewise.
23207
23208 * util/i386/pc/grub-setup.c: Include grub/term.h.
23209 (grub_getkey): New function.
23210 (grub_term_get_current): Likewise.
23211
23212 * util/misc.c (grub_stop): Renamed to ...
23213 (grub_exit): ... this.
23214
23215 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
23216 (grub_exit): ... this.
23217 (grub_machine_init): Use grub_abort instead of abort.
23218 (grub_stop): Removed.
23219
23220 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
23221 abort.
23222
23223 * kern/i386/pc/startup.S (grub_exit): New function.
23224 (cold_reboot): New label.
23225
23226 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
23227 (grub_efi_init): Call grub_efidisk_init.
23228 (grub_efi_fini): Call grub_efidisk_fini.
23229
23230 * kern/efi/efi.c: Include grub/mm.h.
23231 (grub_efi_console_control_guid): Renamed to ...
23232 (console_control_guid): ... this.
23233 (grub_efi_loaded_image_guid): Renamed to ...
23234 (loaded_image_guid): ... this.
23235 (grub_efi_locate_handle): New function.
23236 (grub_efi_open_protocol): Likewise.
23237 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
23238 GRUB_EFI_CONSOLE_CONTROL_GUID.
23239 (grub_efi_exit): Removed.
23240 (grub_stop): Likewise.
23241 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
23242 (grub_exit): New function.
23243 (grub_print_device_path): Likewise.
23244
23245 * kern/rescue.c (grub_rescue_cmd_exit): New function.
23246 (grub_enter_rescue_mode): Register "exit".
23247
23248 * kern/misc.c (grub_real_dprintf): A cosmetic change.
23249 (grub_abort): New function.
23250
23251 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
23252
23253 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
23254
23255 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
23256
23257 * include/grub/efi/efi.h (grub_efi_exit): Removed.
23258 (grub_print_device_path): New prototype.
23259 (grub_efi_locate_handle): Likewise.
23260 (grub_efi_open_protocol): Likewise.
23261
23262 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
23263 * disk/efi/efidisk.c: Likewise.
23264
23265 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
23266
23267 * include/grub/efi/console_control.h
23268 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
23269
23270 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
23271 last 8 bytes as an array.
23272 (GRUB_EFI_DISK_IO_GUID): New macro.
23273 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
23274 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
23275 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
23276 grub_uint8_t.
23277 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
23278 (struct grub_efi_device_path): Rename the member "sub_type" to
23279 "subtype".
23280 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
23281 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
23282 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
23283 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
23284 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
23285 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
23286 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
23287 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
23288 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
23289 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
23290 (struct grub_efi_pci_device_path): New structure.
23291 (grub_efi_pci_device_path_t): New type.
23292 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
23293 (struct grub_efi_pccard_device_path): New structure.
23294 (grub_efi_pccard_device_path_t): New type.
23295 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
23296 (struct grub_efi_memory_mapped_device_path): New structure.
23297 (grub_efi_memory_mapped_device_path_t): New type.
23298 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
23299 (struct grub_efi_vendor_device_path): New structure.
23300 (grub_efi_vendor_device_path_t): New type.
23301 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
23302 (struct grub_efi_controller_device_path): New structure.
23303 (grub_efi_controller_device_path_t): New type.
23304 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
23305 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
23306 (struct grub_efi_acpi_device_path): New structure.
23307 (grub_efi_acpi_device_path_t): New type.
23308 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
23309 (struct grub_efi_expanded_acpi_device_path): New structure.
23310 (grub_efi_expanded_acpi_device_path_t): New type.
23311 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
23312 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
23313 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
23314 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
23315 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
23316 (struct grub_efi_atapi_device_path): New structure.
23317 (grub_efi_atapi_device_path_t): New type.
23318 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
23319 (struct grub_efi_fibre_channel_device_path): New structure.
23320 (grub_efi_fibre_channel_device_path_t): New type.
23321 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
23322 (struct grub_efi_1394_device_path): New structure.
23323 (grub_efi_1394_device_path_t): New type.
23324 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
23325 (struct grub_efi_usb_device_path): New structure.
23326 (grub_efi_usb_device_path_t): New type.
23327 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
23328 (struct grub_efi_usb_class_device_path): New structure.
23329 (grub_efi_usb_class_device_path_t): New type.
23330 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
23331 (struct grub_efi_i2o_device_path): New structure.
23332 (grub_efi_i2o_device_path_t): New type.
23333 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
23334 (struct grub_efi_mac_address_device_path): New structure.
23335 (grub_efi_mac_address_device_path_t): New type.
23336 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
23337 (struct grub_efi_ipv4_device_path): New structure.
23338 (grub_efi_ipv4_device_path_t): New type.
23339 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
23340 (struct grub_efi_ipv6_device_path): New structure.
23341 (grub_efi_ipv6_device_path_t): New type.
23342 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
23343 (struct grub_efi_infiniband_device_path): New structure.
23344 (grub_efi_infiniband_device_path_t): New type.
23345 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
23346 (struct grub_efi_uart_device_path): New structure.
23347 (grub_efi_uart_device_path_t): New type.
23348 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
23349 (struct grub_efi_vendor_messaging_device_path): New structure.
23350 (grub_efi_vendor_messaging_device_path_t): New type.
23351 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
23352 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
23353 (struct grub_efi_hard_drive_device_path): New structure.
23354 (grub_efi_hard_drive_device_path_t): New type.
23355 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
23356 (struct grub_efi_cdrom_device_path): New structure.
23357 (grub_efi_cdrom_device_path_t): New type.
23358 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
23359 (struct grub_efi_vendor_media_device_path): New structure.
23360 (grub_efi_vendor_media_device_path_t): New type.
23361 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
23362 (struct grub_efi_file_path_device_path): New structure.
23363 (grub_efi_file_path_device_path_t): New type.
23364 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
23365 (struct grub_efi_protocol_device_path): New structure.
23366 (grub_efi_protocol_device_path_t): New type.
23367 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
23368 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
23369 (struct grub_efi_bios_device_path): New structure.
23370 (grub_efi_bios_device_path_t): New type.
23371 (struct grub_efi_disk_io): New structure.
23372 (grub_efi_disk_io_t): New type.
23373 (struct grub_efi_block_io_media): New structure.
23374 (grub_efi_block_io_media_t): New type.
23375 (struct grub_efi_block_io): New structure.
23376 (grub_efi_block_io_t): New type.
23377
23378 * include/grub/misc.h (grub_stop): Removed.
23379 (grub_exit): New prototype.
23380 (grub_abort): Likewise.
23381
23382 * include/grub/disk.h (enum grub_disk_dev_id): Added
23383 GRUB_DISK_DEVICE_EFIDISK_ID.
23384
23385 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
23386 disk/efi/efidisk.c.
23387 (kernel_syms.lst): Remove the target if an error occurs.
23388
49986a9f 233892006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
23390
23391 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
23392 as it was simply too buggy.
23393
970d3b8a 233942006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
23395
23396 * kern/misc.c (grub_lltoa): New function.
23397 (grub_vsprintf): Added support for the long long suffix,
23398 i.e. "ll".
23399
ff04ec24 234002006-04-20 Hollis Blanchard <hollis@penguinppc.org>
23401
23402 * Makefile.in (LDFLAGS): Add variable.
23403 (LD): Remove variable.
23404 * configure.ac: Add -m32 to LDFLAGS.
23405 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
23406 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
23407 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
23408 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
23409 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
23410 variables.
23411 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
23412 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
23413 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
23414
37e5e1a4 234152006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
23416
23417 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
23418 length for unknown glyph.
23419
c352d8dd 234202006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
23421
2eab1c0d 23422 Add support for pre-loaded modules into the EFI port.
f19dbdb7 23423
2eab1c0d 23424 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
23425 completely. Accept one more argument DIR. The caller has changed.
23426
23427 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
23428
23429 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
23430 (grub_efi_loaded_image_guid): New variable.
23431 (grub_efi_get_loaded_image): New function.
23432 (grub_arch_modules_addr): Likewise.
23433
23434 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
23435 prototype.
23436
23437 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
23438 (struct grub_efi_loaded_image): New structure.
23439 (grub_efi_loaded_image_t): New type.
23440
234412006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 23442
c352d8dd 23443 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
23444 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
23445 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
23446
6d01d6b4 234472006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
23448
23449 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
23450
976a4ea0 234512006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
23452
23453 * DISTLIST: Added include/grub/efi/console.h,
23454 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
23455 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
23456
23457 * include/grub/efi/console.h: New file.
23458 * include/grub/efi/time.h: Likewise.
23459 * include/grub/i386/efi/kernel.h: Likewise.
23460 * kern/efi/init.c: Likewise.
23461 * kern/efi/mm.c: Likewise.
23462 * term/efi/console.c: Likewise.
f19dbdb7 23463
976a4ea0 23464 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
23465 (grub_stop): Removed.
23466 (grub_get_rtc): Likewise.
23467 (grub_machine_init): Simply call grub_efi_init.
23468 (grub_machine_fini): Call grub_efi_fini.
23469
23470 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
23471 (grub_efi_output_string): Removed.
23472 (grub_efi_stall): New function.
23473 (grub_stop): Likewise.
23474 (grub_get_rtc): Likewise.
23475
23476 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
23477 (grub_efi_stall): New prototype.
23478 (grub_efi_allocate_pages): Likewise.
23479 (grub_efi_free_pages): Likewise.
23480 (grub_efi_get_memory_map): Likewise.
23481 (grub_efi_mm_init): Likewise.
23482 (grub_efi_mm_fini): Likewise.
23483 (grub_efi_init): Likewise.
23484 (grub_efi_fini): Likewise.
23485
23486 * include/grub/i386/efi/time.h: Do not include
23487 grub/symbol.h. Include grub/efi/time.h.
23488 (GRUB_TICKS_PER_SECOND): Removed.
23489 (grub_get_rtc): Likewise.
23490
23491 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
23492 Added padding. The EFI spec is buggy.
23493 (GRUB_EFI_BLACK): New macro.
23494 (GRUB_EFI_BLUE): Likewise.
23495 (GRUB_EFI_GREEN): Likewise.
23496 (GRUB_EFI_CYAN): Likewise.
23497 (GRUB_EFI_RED): Likewise.
23498 (GRUB_EFI_MAGENTA): Likewise.
23499 (GRUB_EFI_BROWN): Likewise.
23500 (GRUB_EFI_LIGHTGRAY): Likewise.
23501 (GRUB_EFI_BRIGHT): Likewise.
23502 (GRUB_EFI_DARKGRAY): Likewise.
23503 (GRUB_EFI_LIGHTBLUE): Likewise.
23504 (GRUB_EFI_LIGHTGREEN): Likewise.
23505 (GRUB_EFI_LIGHTCYAN): Likewise.
23506 (GRUB_EFI_LIGHTRED): Likewise.
23507 (GRUB_EFI_LIGHTMAGENTA): Likewise.
23508 (GRUB_EFI_YELLOW): Likewise.
23509 (GRUB_EFI_WHITE): Likewise.
23510 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
23511 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
23512 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
23513 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
23514 (GRUB_EFI_BACKGROUND_RED): Likewise.
23515 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
23516 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
23517 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
23518 (GRUB_EFI_TEXT_ATTR): Likewise.
23519
23520 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
23521 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
23522 (kernel_mod_HEADERS): Added efi/time.h.
23523
83709125 235242006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
23525
23526 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
23527 include/grub/efi/api.h, include/grub/efi/console_control.h,
23528 include/grub/efi/efi.h, include/grub/efi/pe32.h,
23529 include/grub/i386/efi/time.h, kern/efi/efi.c,
23530 kern/i386/efi/init.c, kern/i386/efi/startup.S,
23531 and util/i386/efi/grub-mkimage.c.
23532
23533 * Makefile.in (RMKFILES): Added i386-efi.rmk.
23534
23535 * genmk.rb (PModule#rule): Do not export symbols if
23536 #{prefix}_EXPORTS is set to "no".
23537
23538 * conf/i386-efi.mk: New file.
23539 * conf/i386-efi.rmk: Likewise.
23540 * include/grub/efi/api.h: Likewise.
23541 * include/grub/efi/console_control.h: Likewise.
23542 * include/grub/efi/efi.h: Likewise.
23543 * include/grub/efi/pe32.h: Likewise.
23544 * include/grub/i386/efi/time.h: Likewise.
23545 * kern/efi/efi.c: Likewise.
23546 * kern/i386/efi/init.c: Likewise.
23547 * kern/i386/efi/startup.S: Likewise.
23548 * util/i386/efi/grub-mkimage.c: Likewise.
23549
235502006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 23551
23552 * include/grub/script.h: Include <grub/parser.h> and
23553 "grub_script.tab.h".
23554 (struct grub_lexer_param): New struct.
23555 (struct grub_parser_param): Likewise.
23556 (grub_script_create_arglist): Pass the state in an argument.
23557 (grub_script_add_arglist): Likewise.
23558 (grub_script_create_cmdline): Likewise.
23559 (grub_script_create_cmdblock): Likewise.
23560 (grub_script_create_cmdif): Likewise.
23561 (grub_script_create_cmdmenu): Likewise.
23562 (grub_script_add_cmd): Likewise.
23563 (grub_script_arg_add): Likewise.
23564 (grub_script_lexer_ref): Likewise.
23565 (grub_script_lexer_deref): Likewise.
23566 (grub_script_lexer_record_start): Likewise.
23567 (grub_script_lexer_record_stop): Likewise.
23568 (grub_script_mem_record): Likewise.
23569 (grub_script_mem_record_stop): Likewise.
23570 (grub_script_malloc): Likewise.
23571 (grub_script_yylex): Likewise.
23572 (grub_script_yyparse): Likewise.
23573 (grub_script_yyerror): Likewise.
23574 (grub_script_yylex): Likewise.
23575 (grub_script_lexer_init): Return the state.
23576
23577 * normal/lexer.c (grub_script_lexer_state): Removed variable.
23578 (grub_script_lexer_done): Likewise.
23579 (grub_script_lexer_getline): Likewise.
23580 (grub_script_lexer_refs): Likewise.
23581 (script): Likewise.
23582 (newscript): Likewise.
23583 (record): Likewise.
23584 (recording): Likewise.
23585 (recordpos): Likewise.
23586 (recordlen): Likewise.
23587 (grub_script_lexer_init): Return the state instead of setting
23588 global variables.
23589 (grub_script_lexer_ref): Use the newly added argument for state
23590 instead of globals.
23591 (grub_script_lexer_deref): Likewise.
23592 (grub_script_lexer_record_start): Likewise.
23593 (grub_script_lexer_record_stop): Likewise.
23594 (recordchar): Likewise.
23595 (nextchar): Likewise.
23596 (grub_script_yylex2): Likewise.
23597 (grub_script_yylex): Likewise.
23598 (grub_script_yyerror): Likewise.
23599
23600 * normal/parser.y (func_mem): Removed variable.
23601 (menu_entry): Likewise.
23602 (err): Likewise.
23603 (%lex-param): New parser option.
23604 (%parse-param): Likewise.
23605 (script): Always return the AST.
23606 (argument): Pass the state around.
23607 (arguments): Likewise.
23608 (grubcmd): Likewise.
23609 (commands): Likewise.
23610 (function): Likewise.
23611 (menuentry): Likewise.
23612 (if_statement): Likewise.
23613 (if): Likewise.
23614
23615 * normal/script.c (grub_script_memused): Removed variable.
23616 (grub_script_parsed): Likewise.
23617 (grub_script_malloc): Added a state argument. Use that instead of
23618 global variables.
23619 (grub_script_mem_record): Likewise.
23620 (grub_script_mem_record_stop): Likewise.
23621 (grub_script_arg_add): Likewise.
23622 (grub_script_add_arglist): Likewise.
23623 (grub_script_create_cmdline): Likewise.
23624 (grub_script_create_cmdif): Likewise.
23625 (grub_script_create_cmdmenu): Likewise.
23626 (grub_script_add_cmd): Likewise.
23627 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 23628
e2a8c904 236292006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 23630
23631 * normal/command.c (grub_command_init): Remove the title command.
23632
23633 * normal/lexer.c (grub_script_yylex): Renamed from this...
23634 (grub_script_yylex2): ... to this.
23635 (grub_script_yylex): New function. Temporary
23636 introduced to filter some tokens.
23637 (grub_script_yyerror): Print a newline.
23638
23639 * normal/main.c (read_config_file): Output information about the
23640 lines that contain errors. Wait for a key after all lines have
23641 been processed. Don't return an empty menu.
23642
23643 * normal/parser.y (func_mem): Don't initialize.
23644 (menu_entry): Likewise.
23645 (err): New variable.
23646 (script): Don't return anything when an error was encountered.
23647 (ws, returns): Removed rules.
23648 (argument): Disabled concatenated variable support.
23649 (arguments): Remove explicit separators.
23650 (grubcmd): Likewise.
23651 (function): Likewise.
23652 (menuentry): Likewise.
23653 (if): Likewise.
23654 (commands): Likewise. Add error handling.
23655
23656 * normal/script.c (grub_script_create_cmdline): If
23657 `grub_script_parsed' is 0, assume the parser encountered an error.
23658
c9a86192 236592006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
23660
23661 * configure.ac: Add support for EFI. Fix the typo
23662 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
23663
70f3b243 236642006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
23665
23666 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
23667 foreign multibyte characters should be shown correctly.
23668
65f201ad 236692006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
23670
23671 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
23672 calculation.
23673 (read_config_file): Made it to close file before returning.
23674
b4b93674 236752006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
23676
23677 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
23678 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
23679 video/i386/pc/vbefill.c.
23680
23681 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
23682 video/i386/pc/vbefill.c.
23683
23684 * include/grub/video.h (grub_video_blit_format): New enum.
23685 (grub_video_mode_info): Added new member blit_format.
23686 (grub_video_get_blit_format): New function prototype.
23687
23688 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
23689 function prototype.
23690 (grub_video_vbe_map_rgb): Likewise.
23691 (grub_video_vbe_unmap_color): Likewise.
23692
23693 * include/grub/i386/pc/vbeblit.h: New file.
23694
23695 * include/grub/i386/pc/vbefill.h: New file.
23696
23697 * video/video.c (grub_video_get_blit_format): New function.
23698 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
23699 (grub_video_vbe_map_rgb): Likewise.
23700 (grub_video_vbe_unmap_color): Likewise.
23701
23702 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
23703 optimized fills.
23704 (grub_video_vbe_blit_render_target): Changed to use more optimized
23705 blits.
23706 (grub_video_vbe_setup): Added detection for optimized settings.
23707 (grub_video_vbe_create_render_target): Likewise.
23708
23709 * video/i386/pc/vbeblit.c: New file.
23710
23711 * video/i386/pc/vbefill.c: New file.
23712
c2379b9c 237132006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
23714
23715 * font/manager.c (grub_font_get_glyph): Removed font fixup from
23716 here...
23717
23718 * util/unifont2pff.rb: ... and moved it to here. Improved argument
23719 parsing to support both hex and dec ranges. If filename was missing
23720 show usage information.
23721
bd0d7896 237222006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
23723
23724 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
23725 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
23726
23727 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
23728 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
23729 (video_mod_SOURCES): Added.
23730 (video_mod_CFLAGS): Likewise.
23731 (video_mod_LDFLAGS): Likewise.
23732 (gfxterm_mod_SOURCES): Likewise.
23733 (gfxterm_mod_CFLAGS): Likewise.
23734 (gfxterm_mod_LDFLAGS): Likewise.
23735 (videotest_mod_SOURCES): Likewise.
23736 (videotest_mod_CFLAGS): Likewise.
23737 (videotest_mod_LDFLAGS): Likewise.
23738 (vesafb_mod_SOURCES): Removed.
23739 (vesafb_mod_CFLAGS): Likewise.
23740 (vesafb_mod_LDFLAGS): Likewise.
23741 (vga_mod_SOURCES): Likewise.
23742 (vga_mod_CFLAGS): Likewise.
23743 (vga_mod_LDFLAGS): Likewise.
23744
23745 * commands/videotest.c: New file.
23746
23747 * font/manager.c (fill_with_default_glyph): Modified to use
23748 grub_font_glyph.
23749 (grub_font_get_glyph): Likewise.
23750 (fontmanager): Renamed from this...
23751 (font_manager): ... to this.
23752
23753 * include/grub/font.h (grub_font_glyph): Added new structure.
23754 (grub_font_get_glyph): Modified to use grub_font_glyph.
23755
23756 * include/grub/misc.h (grub_abs): Added as inline function.
23757
23758 * include/grub/video.h: New file.
23759
23760 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
23761 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
23762 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
23763 (grub_vbe_get_controller_info): Renamed from this...
23764 (grub_vbe_bios_get_controller_info): ... to this.
23765 (grub_vbe_get_mode_info): Renamed from this...
23766 (grub_vbe_bios_get_mode_info): ... to this.
23767 (grub_vbe_set_mode): Renamed from this...
23768 (grub_vbe_bios_set_mode): ... to this.
23769 (grub_vbe_get_mode): Renamed from this...
23770 (grub_vbe_bios_get_mode): ... to this.
23771 (grub_vbe_set_memory_window): Renamed from this...
23772 (grub_vbe_bios_set_memory_window): ... to this.
23773 (grub_vbe_get_memory_window): Renamed from this...
23774 (grub_vbe_bios_get_memory_window): ... to this.
23775 (grub_vbe_set_scanline_length): Renamed from this...
23776 (grub_vbe_set_scanline_length): ... to this.
23777 (grub_vbe_get_scanline_length): Renamed from this...
23778 (grub_vbe_bios_get_scanline_length): ... to this.
23779 (grub_vbe_set_display_start): Renamed from this...
23780 (grub_vbe_bios_set_display_start): ... to this.
23781 (grub_vbe_get_display_start): Renamed from this...
23782 (grub_vbe_bios_get_display_start): ... to this.
23783 (grub_vbe_set_palette_data): Renamed from this...
23784 (grub_vbe_bios_set_palette_data): ... to this.
23785 (grub_vbe_set_pixel_rgb): Removed.
23786 (grub_vbe_set_pixel_index): Likewise.
23787
23788 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
23789 from this...
23790 (grub_vbe_bios_get_controller_info): ... to this.
23791 (grub_vbe_get_mode_info): Renamed from this...
23792 (grub_vbe_bios_get_mode_info): ... to this.
23793 (grub_vbe_set_mode): Renamed from this...
23794 (grub_vbe_bios_set_mode): ... to this.
23795 (grub_vbe_get_mode): Renamed from this...
23796 (grub_vbe_bios_get_mode): ... to this.
23797 (grub_vbe_set_memory_window): Renamed from this...
23798 (grub_vbe_bios_set_memory_window): ... to this.
23799 (grub_vbe_get_memory_window): Renamed from this...
23800 (grub_vbe_bios_get_memory_window): ... to this.
23801 (grub_vbe_set_scanline_length): Renamed from this...
23802 (grub_vbe_set_scanline_length): ... to this.
23803 (grub_vbe_get_scanline_length): Renamed from this...
23804 (grub_vbe_bios_get_scanline_length): ... to this.
23805 (grub_vbe_set_display_start): Renamed from this...
23806 (grub_vbe_bios_set_display_start): ... to this.
23807 (grub_vbe_get_display_start): Renamed from this...
23808 (grub_vbe_bios_get_display_start): ... to this.
23809 (grub_vbe_set_palette_data): Renamed from this...
23810 (grub_vbe_bios_set_palette_data): ... to this.
23811 (grub_vbe_bios_get_controller_info): Fixed problem with registers
23812 getting corrupted after calling it. Added more pushes and pops.
23813 (grub_vbe_bios_set_mode): Likewise.
23814 (grub_vbe_bios_get_mode): Likewise.
23815 (grub_vbe_bios_get_memory_window): Likewise.
23816 (grub_vbe_bios_set_scanline_length): Likewise.
23817 (grub_vbe_bios_get_scanline_length): Likewise.
23818 (grub_vbe_bios_get_display_start): Likewise.
23819 (grub_vbe_bios_set_palette_data): Likewise.
23820
23821 * normal/cmdline.c (cl_set_pos): Refresh the screen.
23822 (cl_insert): Likewise.
23823 (cl_delete): Likewise.
23824
23825 * term/gfxterm.c: New file.
23826
23827 * term/i386/pc/vesafb.c: Removed file.
23828
23829 * video/video.c: New file.
23830
23831 * video/i386/pc/vbe.c (real2pm): Added new function.
23832 (grub_video_vbe_draw_pixel): Likewise.
23833 (grub_video_vbe_get_video_ptr): Likewise.
23834 (grub_video_vbe_get_pixel): Likewise
23835 (grub_video_vbe_init): Likewise.
23836 (grub_video_vbe_fini): Likewise.
23837 (grub_video_vbe_setup): Likewise.
23838 (grub_video_vbe_get_info): Likewise.
23839 (grub_video_vbe_set_palette): Likewise.
23840 (grub_video_vbe_get_palette): Likewise.
23841 (grub_video_vbe_set_viewport): Likewise.
23842 (grub_video_vbe_get_viewport): Likewise.
23843 (grub_video_vbe_map_color): Likewise.
23844 (grub_video_vbe_map_rgb): Likewise.
23845 (grub_video_vbe_map_rgba): Likewise.
23846 (grub_video_vbe_unmap_color): Likewise.
23847 (grub_video_vbe_fill_rect): Likewise.
23848 (grub_video_vbe_blit_glyph): Likewise.
23849 (grub_video_vbe_blit_bitmap): Likewise.
23850 (grub_video_vbe_blit_render_target): Likewise.
23851 (grub_video_vbe_scroll): Likewise.
23852 (grub_video_vbe_swap_buffers): Likewise.
23853 (grub_video_vbe_create_render_target): Likewise.
23854 (grub_video_vbe_delete_render_target): Likewise.
23855 (grub_video_vbe_set_active_render_target): Likewise.
23856 (grub_vbe_set_pixel_rgb): Remove function.
23857 (grub_vbe_set_pixel_index): Likewise.
23858 (index_color_mode): Remove static variable.
23859 (active_mode): Likewise.
23860 (framebuffer): Likewise.
23861 (bytes_per_scan_line): Likewise.
23862 (grub_video_vbe_adapter): Added new static variable.
23863 (framebuffer): Likewise.
23864 (render_target): Likewise.
23865 (initial_mode): Likewise.
23866 (mode_in_use): Likewise.
23867 (mode_list): Likewise.
23868
5f97350b 238692006-03-10 Marco Gerards <marco@gnu.org>
23870
23871 * configure.ac (AC_INIT): Bumped to 1.93.
23872
23873 * DISTLIST: Added `include/grub/hfs.h'.
23874
a3c5c6f8 238752006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
23876
23877 * boot/i386/pc/boot.S (general_error): Before looping, try INT
23878 18H, which might help the BIOS falling back to next boot media.
23879
6de53d26 238802006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
23881
23882 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
23883 Poe Chen <poe.poechen@gmail.com>.
23884
77c4a393 238852006-01-17 Marco Gerards <marco@gnu.org>
23886
23887 * include/grub/normal.h: Include <grub/script.h>.
23888 (grub_command_list): Removed struct.
23889 (grub_command_list_t): Removed type.
23890 (grub_menu_entry): Remove members `num' and `command_list'. Add
23891 members `commands' and `sourcecode'.
23892 * include/grub/script.h: Add inclusion guards.
23893 (grub_script_cmd_menuentry): New struct.
23894 (grub_script_execute_menuentry): New prototype.
23895 (grub_script_lexer_record_start): Likewise.
23896 (grub_script_lexer_record_stop): Likewise.
23897 * normal/execute.c (grub_script_execute_menuentry): New function.
23898 * normal/lexer.c (record, recording, recordpos, recordlen): New
23899 variables.
23900 (grub_script_lexer_record_start): New function.
23901 (grub_script_lexer_record_stop): Likewise.
23902 (recordchar): Likewise.
23903 (nextchar): Likewise.
23904 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
23905 2048 as the buffer size. Add the tokens `menuentry' and `@'.
23906 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
23907 (current_menu): New variable.
23908 (free_menu): Mainly rewritten.
23909 (grub_normal_menu_addentry): New function.
23910 (read_config_file): Rewritten.
23911 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 23912 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 23913 the menu entry.
23914 (run): Mainly rewritten.
23915 * normal/parser.y (menu_entry): New variable.
23916 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
23917 (menuentry): New rule.
23918 (command): Add `menuentry'.
23919 (if_statement): Allow additional returns before `fi'.
23920 * normal/script.c (grub_script_create_cmdmenu): New function.
23921
144f1f98 239222006-01-03 Marco Gerards <marco@gnu.org>
23923
23924 * INSTALL: GNU Bison is required.
23925 * configure.ac: Rewritten the test to detect Bison.
23926 * Makefile.in (YACC): New variable. Reported by Xun Sun
23927 <xun.sun.cn@gmail.com>.
23928
af4b2d89 239292006-01-03 Marco Gerards <marco@gnu.org>
23930
23931 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
23932 the HFS+ filesystem to filesystem blocks.
23933 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
23934 GCC warning is silenced.
23935
15643b71 239362006-01-03 Marco Gerards <marco@gnu.org>
23937
23938 * partmap/apple.c (apple_partition_map_iterate): Convert the data
23939 read from disk from big endian to host byte order.
23940
00905879 239412006-01-03 Hollis Blanchard <hollis@penguinppc.org>
23942
23943 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
23944 documentation.
23945 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
23946 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
23947 embedded HFS+ filesystem.
23948 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
23949 (grub_hfs_sblock): Move from here...
23950 * include/grub/hfs.h: To here... New file.
23951 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
23952 documentation.
23953 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
23954 New macros.
23955 (grub_hfsplus_volheader): Change type of member `magic' to
23956 `grub_uint16_t'.
23957 (grub_hfsplus_data): Add new member `embedded_offset'.
23958 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
23959 returned block.
23960 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
23961 Calculate the offset.
23962
8899bc3e 239632005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23964
23965 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
23966 Removed.
23967 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
23968
ae8c0277 239692005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23970
23971 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
23972 ENV->NAME is NULL after allocating ENV->VALUE.
23973
07084456 239742005-12-25 Marco Gerards <marco@gnu.org>
23975
23976 * kern/env.c (grub_env_set): Rewritten the error handling code.
23977
4750f5f1 239782005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23979
23980 * geninit.sh: Made more robust, and more portable.
23981
50214199 239822005-12-25 Marco Gerards <marco@gnu.org>
23983
23984 Add support for Apple HFS+ filesystems.
f19dbdb7 23985
50214199 23986 * fs/hfsplus.c: New file.
23987
23988 * DISTLIST: Added `fs/hfsplus.c'.
23989
23990 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
23991 (hfsplus_mod_SOURCES): New variable.
23992 (hfsplus_mod_CFLAGS): Likewise.
23993 (hfsplus_mod_LDFLAGS): Likewise.
23994 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
23995 (grub_setup_SOURCES): Likewise.
23996 (grub_mkdevicemap_SOURCES): Likewise.
23997 (grub_emu_SOURCES): Likewise.
23998 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23999
24000 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
24001
24002 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
24003
befaed6c 240042005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24005
24006 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
24007 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
24008 include/grub/parser.h, include/grub/script.h, kern/parser.c,
24009 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
24010 normal/lexer.c, normal/parser.y, normal/script.c, and
24011 partmap/gpt.c.
24012 Removed kern/sparc64/cache.c.
24013
24014 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
24015 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
24016 grub_emu_init.c.
24017
24018 * configure.ac (AC_INIT): Bumped to 1.92.
24019
6a124103 240202005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
24021
24022 * kern/err.c (grub_error_push): Added new function to support error
24023 stacks.
24024 (grub_error_pop): Likewise.
24025 (grub_error_stack_items): New local variable to support error stacks.
24026 (grub_error_stack_pos): Likewise.
24027 (grub_error_stack_assert): Likewise.
24028 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
24029 stack depth.
24030 (grub_print_error): Added support to print errors from error stack.
24031
24032 * include/grub/err.h (grub_error_push): Added function prototype.
24033 (grub_error_pop): Likewise.
24034
be973c1b 240352005-12-09 Hollis Blanchard <hollis@penguinppc.org>
24036
24037 * configure.ac: Accept `powerpc64' as host_cpu.
24038 (amd64): Rename to `biarch32'.
24039
24040 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
24041 non-cacheline-aligned addresses.
24042
24043 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
24044 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
24045 if `size' is non-zero.
24046
b04216ab 240472005-12-03 Marco Gerards <mgerards@xs4all.nl>
24048
24049 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
24050 and `cd' to make sure the filename is not prefixed with a
24051 directory name.
24052 (pkgdata_MODULES): Add `gpt.mod'.
24053 (gpt_mod_SOURCES): New variable.
24054 (gpt_mod_CFLAGS): Likewise.
24055 (gpt_mod_LDFLAGS): Likewise.
24056
24057 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
24058
24059 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
24060 New macro.
24061
24062 * partmap/gpt.c: New file.
24063
24064 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
24065 GPT partition map is detected.
24066
41730ed9 240672005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
24068
24069 * commands/i386/pc/play.c: New file.
24070 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
24071 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
24072 macros.
f19dbdb7 24073
95dc3643 240742005-11-27 Marco Gerards <mgerards@xs4all.nl>
24075
24076 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
24077 ((unused))' to silence gcc warning.
24078
1569ec51 240792005-11-26 Hollis Blanchard <hollis@penguinppc.org>
24080
24081 * configure.ac: Correct `AC_PROG_YACC' test.
24082
9abde152 240832005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24084
24085 * util/powerpc/ieee1275/grub-install.in: Run the mount point
24086 check before installing files.
24087
44b83271 240882005-11-22 Mike Small <smallm@panix.com>
24089
24090 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
24091 number regex so multidigit numbers are recognized correctly.
24092
240932005-11-22 Mike Small <smallm@panix.com>
24094
24095 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
24096 debugging message before attempting to claim memory.
24097 (grub_rescue_cmd_initrd): Add a claim debugging message and try
24098 multiple addresses in case of failure.
24099
9c12956b 241002005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24101
24102 * term/tparm.c (get_space): Remove empty `if' statement.
24103
24104 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
24105
24106 * kern/parser.c (check_varstate): Rename `state' to 's'.
24107
aeaf81d9 241082005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24109
24110 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
24111 variable definitions to the beginning of each function. Sort stack
24112 variables by size.
24113 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
24114 `buf' argument to `char *'.
24115
79bbb63f 241162005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24117
24118 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
24119 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 24120 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 24121 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
24122 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
24123 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
24124 configfile.mod, search.mod, gzio.mod and test.mod.
24125 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
24126 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
24127 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
24128 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
24129 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
24130 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
24131 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
24132 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
24133 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
24134 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
24135 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24136 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24137 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
24138 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
24139 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
24140 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
24141 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24142 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
24143 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
24144 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
24145 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
24146 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
24147 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
24148
24149 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
24150 `grep --include'.
24151 (pkgdata_MODULES): Add test.mod.
24152
233b1628 241532005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24154
24155 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
24156 appending to variables with "+=".
24157 (PModule): Use full pathname to generate *.lst filenames.
24158
24159 * Makefile.in: Fixed list rules moved from genmk.rb.
24160 (.DELETE_ON_ERROR): New special target.
24161 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
24162
24163 * conf/i386-pc.rmk: Include conf/common.mk.
24164 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 24165 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 24166 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
24167 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
24168 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
24169 configfile.mod, search.mod, gzio.mod and test.mod.
24170 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
24171 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
24172 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
24173 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
24174 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
24175 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
24176 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
24177 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
24178 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
24179 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
24180 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24181 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24182 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
24183 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
24184 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
24185 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
24186 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24187 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
24188 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
24189 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
24190 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
24191 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
24192 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
24193 here...
24194 * conf/common.rmk: ... to here. New file.
24195
24196 * conf/common.mk: New file.
24197
16f820c8 241982005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
24199
24200 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
24201 (grub_script.tab.c): ... here.
24202
24203 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
24204 (grub_script.tab.c): ... here.
24205
24206 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
24207 (grub_script.tab.c): ... here.
24208
24209 * normal/command.c (grub_command_find): Fixed a memory leak of
24210 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
24211
63ba1554 242122005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24213
24214 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
24215 "@" which marks the start of a comment on ARM.
24216 (VARIABLE): Likewise.
24217
7f67dc13 242182005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24219
79bbb63f 24220 Add support for Linux/ADFS partition tables.
7f67dc13 24221
24222 * partmap/acorn.c: New file.
24223
24224 * include/grub/acorn_filecore.h: Likewise.
24225
24226 * DISTLIST: Added `partmap/acorn.c' and
24227 `include/grub/acorn_filecore.h'.
f19dbdb7 24228
7f67dc13 24229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24230 `partmap/acorn.c'.
24231 (pkgdata_MODULES): Add `acorn.mod'.
24232 (acorn_mod_SOURCES): New variable.
24233 (acorn_mod_CFLAGS): Likewise.
24234
24235 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
24236 `partmap/acorn.c'.
24237 (pkgdata_MODULES): Add `acorn.mod'.
24238 (acorn_mod_SOURCES): New variable.
24239 (acorn_mod_CFLAGS): Likewise.
24240
24241 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
24242 (pkgdata_MODULES): Add `acorn.mod'.
24243 (acorn_mod_SOURCES): New variable.
24244 (acorn_mod_CFLAGS): Likewise.
24245 (acorn_mod_LDFLAGS): Likewise.
24246
24247 * include/types.h (grub_disk_addr_t): New typedef.
24248
6d099807 242492005-11-13 Marco Gerards <mgerards@xs4all.nl>
24250
24251 * geninit.sh: New file.
24252
24253 * geninitheader.sh: Likewise.
24254
24255 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
24256 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
24257 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
24258 * commands/configfile.c (grub_configfile_init)
24259 (grub_configfile_fini): Likewise.
24260 * commands/default.c (grub_default_init, grub_default_fini):
24261 Likewise.
24262 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
24263 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
24264 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
24265 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
24266 Likewise.
24267 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
24268 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
24269 Likewise.
24270 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 24271 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 24272 Likewise.
24273 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
24274 Likewise.
fe6b695a 24275 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 24276 Likewise.
24277 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
24278 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
24279 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
24280 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
24281 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
24282 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
24283 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
24284 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
24285 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
24286 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
24287 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
24288 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
24289 * partmap/amiga.c (grub_amiga_partition_map_init)
24290 (grub_amiga_partition_map_fini): Likewise.
24291 * partmap/apple.c (grub_apple_partition_map_init)
24292 (grub_apple_partition_map_fini): Likewise.
24293 * partmap/pc.c (grub_pc_partition_map_init)
24294 (grub_pc_partition_map_fini): Likewise.
24295 * partmap/sun.c (grub_sun_partition_map_init,
24296 grub_sun_partition_map_fini): Likewise.
24297 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
24298 Likewise.
24299
24300 * util/grub-emu.c: Include <grub_modules_init.h>.
24301 (main): Don't initialize and de-initialize any modules directly,
24302 use `grub_init_all' and `grub_fini_all' instead.
24303
24304 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
24305 `grub_vesafb_mod_init'.
24306 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
24307 all users.
24308 * term/i386/pc/vga.c (grub_vga_init): Renamed to
24309 `grub_vga_mod_init'. Updated all users.
24310 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 24311
6d099807 24312 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
24313 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
24314 rules.
24315
24316 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
24317 Generate a function to initialize the module in utilities.
24318 Updated all callers.
24319 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
24320 initialize the module in utilities. Updated all callers.
24321
9046bcf0 243222005-11-09 Hollis Blanchard <hollis@penguinppc.org>
24323
24324 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
24325 escape sequence and a literal ^L to clear the screen.
24326
24327 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
24328 when returning from Open Firmware.
24329
d13ea639 243302005-11-09 Hollis Blanchard <hollis@penguinppc.org>
24331
24332 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
24333 (grub_ofconsole_height): Likewise.
24334 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
24335 manually insert a '\n'.
24336 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
24337 `grub_ofconsole_height'. Return early if these are already set.
24338
a8fcf206 243392005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
24340
24341 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
24342 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
24343 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
24344 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
24345 and `normal/script.c'.
24346 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24347 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24348 (test_mod_SOURCES): New variable.
24349 (test_mod_CFLAGS): Likewise.
24350 (test_mod_LDFLAGS): Likewise.
24351 (pkgdata_MODULES): Add `test.mod'.
24352 (grub_script.tab.c): New rule.
24353 (grub_script.tab.h): Likewise.
24354
b6b32745 243552005-11-07 Marco Gerards <mgerards@xs4all.nl>
24356
24357 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24358 `commands/test.c', `normal/execute.c', `normal/lexer.c',
24359 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24360 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24361 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24362 (test_mod_SOURCES): New variable.
24363 (test_mod_CFLAGS): Likewise.
24364 (pkgdata_MODULES): Add `test.mod'.
24365 (grub_script.tab.c): New rule.
24366 (grub_script.tab.h): Likewise.
24367
daac212a 243682005-11-06 Marco Gerards <mgerards@xs4all.nl>
24369
24370 Add initial scripting support.
24371
24372 * commands/test.c: New file.
24373 * include/grub/script.h: Likewise.
24374 * normal/execute.c: Likewise.
24375 * normal/function.c: Likewise.
24376 * normal/lexer.c: Likewise.
24377 * normal/parser.y: Likewise.
24378 * normal/script.c: Likewise.
24379
24380 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 24381
daac212a 24382 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
24383 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
24384 `normal/function.c' and `normal/script.c'.
24385 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24386 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 24387 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
24388 variables.
daac212a 24389 (pkgdata_MODULES): Add `test.mod'.
24390 (grub_script.tab.c): New rule.
24391 (grub_script.tab.h): Likewise.
24392
24393 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
24394
24395 * include/grub/normal.h (grub_test_init): New prototype.
24396 (grub_test_fini): Likewise.
f19dbdb7 24397
daac212a 24398 * normal/command.c: Include <grub/script.h>.
24399 (grub_command_execute): Rewritten.
f19dbdb7 24400
daac212a 24401 * util/grub-emu.c (main): Call `grub_test_init' and
24402 `grub_test_fini'.
24403
77500b2b 244042005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24405
24406 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
24407 to 0.
24408 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
24409 there are no pending characters.
24410
e45deb9e 244112005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24412
24413 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
24414 `grub_strndup' to drop device arguments. Replace unnecessary
24415 `grub_strndup' with `grub_strdup'.
24416
4ce32619 244172005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24418
24419 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
24420 `debug' environment variable has been set.
24421
244222005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 24423
4ce32619 24424 * Makefile.in (install-local): Use $(DATA).
24425 (uninstall): Likewise.
24426 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
24427 (sbin_UTILITIES): ... to here.
24428 (sbin_SCRIPTS): New variable.
24429 (grub_install_SOURCES): New variable.
24430 * util/powerpc/ieee1275/grub-install.in: New file.
24431 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
24432 variable.
24433 (add_segments): Call `grub_util_get_path'.
24434
25fe6f03 244352005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
24436
24437 From Timothy Baldwin:
24438 * commands/ls.c (grub_ls_list_files): Close FILE with
24439 grub_file_close.
24440 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
24441
04ccf3ec 244422005-10-24 Marco Gerards <mgerards@xs4all.nl>
24443
24444 * include/grub/parser.h: New file.
24445
24446 * kern/parser.c: Likewise.
24447
24448 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
24449 (grub_setup_SOURCES): Likewise.
24450 (grub_probefs_SOURCES): Likewise.
24451 (grub_emu_SOURCES): Likewise.
24452 (kernel_img_HEADERS): Add `parser.h'.
24453
24454 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
24455 (grub_emu_SOURCES): Add `kern/parser.c'.
24456 (grubof_SOURCES): Likewise.
24457
24458 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
24459 (grubof_SOURCES): Add `kern/parser.c'.
24460
24461 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
24462
24463 * kern/misc.c (grub_split_cmdline): Removed function.
24464
24465 * kern/rescue.c: Include <grub/parser.h>.
24466 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
24467 of `grub_split_cmdline'.
24468
24469 * normal/command.c: Include <grub/parser.h>.
24470 (grub_command_execute): Use `grub_parser_split_cmdline' instead
24471 of `grub_split_cmdline'.
24472
24473 * normal/completion.c: Include <grub/parser.h>.
24474 (cmdline_state): New variable.
24475 (iterate_dir): End the filename with a quote depending on the
24476 command line state.
24477 (get_state): new function.
24478 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
24479 split the arguments and determine the current argument. When the
24480 argument string is not quoted, escape all spaces.
24481
6d8f4b0e 244822005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24483
24484 * normal/sparc64/setjmp.S: New file.
24485
15cf03ed 244862005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24487
24488 * include/grub/sparc64/libgcc.h: New file.
24489 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
24490 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
24491 normal/sparc64/setjmp.c.
24492
03e8661a 244932005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24494
24495 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
24496 * kern/sparc64/cache.S: New file.
24497 * kern/sparc64/cache.c: Removed.
24498 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
24499 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
24500 -mtune=ultrasparc.
24501 (COMMON_LDFLAGS): Add -melf64_sparc.
24502 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
24503 (grubof_SOURCES): Use cache.S instead of cache.c.
24504 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
24505 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
24506 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
24507 commented though.
24508 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
24509 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
24510 (linux_mod_CFLAGS): Commented out.
24511 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
24512 out because module isn't built.
24513 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
24514 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
24515 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
24516 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
24517 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
24518 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
24519 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
24520 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
24521 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
24522 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
24523 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24524 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24525 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
24526 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
24527
34eeec8a 245282005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
24529
24530 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
24531 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
24532 longer, because HFS should not be used on PC.
24533
708367a3 245342005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24535
24536 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
24537 consistently within the loop.
24538
6fa1251a 245392005-10-15 Marco Gerards <mgerards@xs4all.nl>
24540
24541 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
24542 directory can not be read.
24543
4801580b 245442005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24545
24546 * configure.ac (AC_INIT): Increase the version number to 1.91.
24547
24548 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
24549 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
24550 term/i386/pc/serial.c.
24551
219ad426 245522005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24553
24554 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
24555 file size must be permitted.
24556
24557 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
24558 between %ah and %al.
24559
688e5699 245602005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24561
24562 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
24563 grub_uint64_t.
24564 Call the hook with a NUL-terminated filename.
24565 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
24566 grub_cpu_to_be32.
24567
24568 * kern/term.c (cursor_state): New variable.
24569 (grub_term_set_current): Reset the cursor state on a new
24570 terminal.
24571 (grub_setcursor): Rewritten to use CURSOR_STATE.
24572 (grub_getcursor): New function.
24573
24574 * include/grub/term.h (grub_getcursor): New prototype.
24575
24576 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
24577 integers on ARM. Reported by Timothy Baldwin
24578 <T.E.Baldwin99@members.leeds.ac.uk>.
24579
bb34586c 245802005-10-11 Marco Gerards <mgerards@xs4all.nl>
24581
24582 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
24583 allocated.
24584 (grub_sfs_dir): Likewise.
24585
9a909877 245862005-10-09 Marco Gerards <mgerards@xs4all.nl>
24587
24588 Add support for the SFS filesystem.
24589
24590 * fs/sfs.c: New file.
24591
24592 * DISTLIST: Added `fs/sfs.c'.
24593
24594 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
24595 (grub_probefs_SOURCES): Likewise.
24596 (grub_emu_SOURCES): Likewise.
24597 (pkgdata_MODULES): Add `sfs.mod'.
24598 (sfs_mod_SOURCES): New variable.
24599 (sfs_mod_CFLAGS): Likewise.
24600 (sfs_mod_LDFLAGS): Likewise.
24601
24602 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
24603 (pkgdata_MODULES): Add `sfs.mod'.
24604 (sfs_mod_SOURCES): New variable.
24605 (sfs_mod_CFLAGS): Likewise.
24606
24607 * util/grub-emu.c (main): Call `grub_sfs_init' and
24608 `grub_sfs_fini'.
24609
24610 * include/grub/fs.h (grub_sfs_init): New prototype.
24611 (grub_sfs_fini): Likewise.
24612
57bdbde3 246132005-10-07 Marco Gerards <mgerards@xs4all.nl>
24614
24615 Add support for the AFFS filesystem.
24616
24617 * fs/affs.c: New file.
24618
24619 * DISTLIST: Added `fs/affs.c'.
24620
24621 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
24622 (grub_probefs_SOURCES): Likewise.
24623 (grub_emu_SOURCES): Likewise.
24624 (pkgdata_MODULES): Add `affs.mod'.
24625 (affs_mod_SOURCES): New variable.
24626 (affs_mod_CFLAGS): Likewise.
24627 (affs_mod_LDFLAGS): Likewise.
24628
24629 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
24630 (pkgdata_MODULES): Add `affs.mod'.
24631 (affs_mod_SOURCES): New variable.
24632 (affs_mod_CFLAGS): Likewise.
24633
24634 * util/grub-emu.c (main): Call `grub_affs_init' and
24635 `grub_affs_fini'.
24636
24637 * include/grub/fs.h (grub_affs_init): New prototype.
24638 (grub_affs_fini): Likewise.
24639
047b67e0 246402005-10-01 Marco Gerards <mgerards@xs4all.nl>
24641
24642 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
24643
59b8208a 246442005-10-01 Marco Gerards <mgerards@xs4all.nl>
24645
24646 * configure.ac: Accept `x86_64' as host_cpu. In that case add
24647 `-m32' to CFLAGS.
24648
24649 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
24650 linking.
f19dbdb7 24651
59b8208a 24652 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
24653 (COMMON_LDFLAGS): New variable.
24654 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
24655 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
24656 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
24657 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
24658 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
24659 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
24660 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
24661 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
24662 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
24663 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
24664 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
24665 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
24666 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
24667 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
24668 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
24669 variables.
24670 (normal_mod_ASFLAGS): Add `-m32'.
24671
24672 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
24673 (grub_host_size_t, grub_host_ssize_t): New types.
24674 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 24675 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 24676 `GRUB_HOST_SIZEOF_VOID_P'.
24677
24678 * include/grub/kernel.h (struct grub_module_header): Type of
24679 member offset changed to `grub_host_off_t'. Type of member size
24680 changed to `grub_host_size_t'.
24681 (struct grub_module_info): Type of member offset changed to
24682 `grub_host_off_t'. Type of member size changed to
24683 `grub_host_size_t'.
24684
b4093103 246852005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
24686
24687 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 24688
b4093103 24689 * kern/i386/pc/startup.S (multiboot_header): New label.
24690 (multiboot_entry): Likewise.
24691 (multiboot_trampoline): Likewise.
24692
24693 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24694 Increased to 0x4A0.
24695
24696 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
24697 put parentheses after a question mark.
24698 [!GRUB_UTIL] (my_mod): New variable.
24699
24700 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
24701
b2499b29 247022005-09-28 Marco Gerards <mgerards@xs4all.nl>
24703
24704 Adds support for the XFS filesystem. Btrees are not supported
24705 yet.
24706
24707 * fs/xfs.c: New file.
24708
24709 * DISTLIST: Added `fs/xfs.c'.
24710
24711 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
24712 (grub_probefs_SOURCES): Likewise.
24713 (grub_emu_SOURCES): Likewise.
24714 (pkgdata_MODULES): Add `xfs.mod'.
24715 (xfs_mod_SOURCES): New variable.
24716 (xfs_mod_CFLAGS): Likewise.
24717
24718 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
24719 (pkgdata_MODULES): Add `xfs.mod'.
24720 (xfs_mod_SOURCES): New variable.
24721 (xfs_mod_CFLAGS): Likewise.
24722
24723 * util/grub-emu.c (main): Call `grub_xfs_init' and
24724 `grub_xfs_fini'.
24725
24726 * include/grub/fs.h (grub_xfs_init): New prototype.
24727 (grub_xfs_fini): Likewise.
24728
f19dbdb7 24729
83d37a62 247302005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
24731
24732 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
24733 color modes, allow greater than 16 colors to be configured as
24734 a default palette.
24735
47d2d65e 247362005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
24737
24738 * normal/completion.c (complete_arguments): Add the qualifier
24739 const into OPTIONS.
24740
24741 From Omniflux <omniflux+lists@omniflux.com>:
24742 * include/grub/terminfo.h: New file.
24743 * include/grub/tparm.h: Likewise.
24744 * include/grub/i386/pc/serial.h: Likewise.
24745 * term/terminfo.c: Likewise.
24746 * term/tparm.c: Likewise.
24747 * term/i386/pc/serial.c: Likewise.
24748 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
24749 serial.mod.
24750 (terminfo_mod_SOURCES): New variable.
24751 (terminfo_mod_CFLAGS): Likewise.
24752 (serial_mod_SOURCES): Likewise.
24753 (serial_mod_CFLAGS): Likewise.
24754
48b671ff 247552005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
24756
24757 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
24758 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
24759 and kern/powerpc/ieee1275/cmain.c, respectively.
24760
24761 * boot/powerpc/ieee1275/crt0.S: Moved to ...
24762 * kern/powerpc/ieee1275/crt0.S: ... here.
24763
24764 * boot/powerpc/ieee1275/cmain.c: Moved to ...
24765 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 24766
48b671ff 24767 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
24768 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
24769 instead of boot/powerpc/ieee1275/crt0.S and
24770 boot/powerpc/ieee1275/cmain.c, respectively.
24771
24772 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
24773 sectors. It was not used anyway.
24774
09fc77a7 247752005-08-30 Hollis Blanchard <hollis@penguinppc.org>
24776
24777 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
24778 `unused parameter' warning.
24779
003789c7 247802005-08-30 Hollis Blanchard <hollis@penguinppc.org>
24781
24782 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
24783 function.
24784 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
24785 getcharwidth.
24786
67f44c86 247872005-08-28 Marco Gerards <metgerards@student.han.nl>
24788
24789 * include/grub/normal.h (enum grub_completion_type): Added
24790 `GRUB_COMPLETION_TYPE_ARGUMENT'.
24791
24792 * normal/cmdline.c (print_completion): Handle
24793 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
24794 * normal/menu_entry.c (store_completion): Likewise.
24795
24796 * normal/completion.c (complete_arguments): New function.
24797 (grub_normal_do_completion): Call `complete_arguments' when the
24798 current words start with a dash.
24799
0b5abe02 248002005-08-27 Marco Gerards <metgerards@student.han.nl>
24801
24802 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
24803 `gzio.mod' instead of `io.mod').
24804
d9864ee1 248052005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
24806
24807 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
24808 (DISTDIRS): Added io and video.
24809 Rewrite the search routine to make an output consistently.
24810
24811 * DISTLIST: Added conf/sparc64-ieee1275.mk,
24812 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
24813 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
24814 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
24815 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
24816 util/powerpc/ieee1275/misc.c.
f19dbdb7 24817
d9864ee1 24818 * include/grub/gzio.h: New file.
24819 * io/gzio.c: Likewise.
f19dbdb7 24820
d9864ee1 24821 * kern/file.c (grub_file_close): Call grub_device_close only if
24822 FILE->DEVICE is not NULL.
24823
24824 * include/grub/mm.h [!NULL] (NULL): New macro.
24825
24826 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
24827
24828 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
24829 (pkgdata_MODULES): Added gzio.mod.
24830 (gzio_mod_SOURCES): New variable.
24831 (gzio_mod_CFLAGS): Likewise.
24832
24833 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
24834 (pkgdata_MODULES): Added gzio.mod.
24835 (gzio_mod_SOURCES): New variable.
24836 (gzio_mod_CFLAGS): Likewise.
24837
24838 * commands/cat.c: Include grub/gzio.h.
24839 (grub_cmd_cat): Use grub_gzfile_open instead of
24840 grub_file_open.
f19dbdb7 24841
d9864ee1 24842 * commands/cmp.c: Include grub/gzio.h.
24843 (grub_cmd_cmp): Use grub_gzfile_open instead of
24844 grub_file_open.
24845
24846 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
24847 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
24848 grub_file_open.
24849 (grub_rescue_cmd_module): Likewise.
24850
fa46f4b5 248512005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
24852
24853 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
24854 kern/sparc64/ieee1275/init.c because it contains _start.
24855 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
24856
e9211b5d 248572005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
24858
24859 * configure.ac: Add support for sparc64 host with ieee1275
24860 firmware.
24861 * configure: Generated from configure.ac.
24862 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
24863 instead of int.
24864 (grub_ofdisk_read): Likewise.
24865 (grub_ofdisk_open): Use %p to print pointer values, and cast the
24866 pointers as (void *) to remove a warning.
24867 (grub_ofdisk_close): Likewise.
24868 (grub_ofdisk_read): Likewise.
24869 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
24870 returns, so make it return void to remove a warning.
24871 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
24872 Corresponding prototype change.
24873 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
24874 values, and cast the pointers as (void *) to remove a warning.
24875 (grub_mm_dump): Likewise.
24876 * conf/sparc64-ieee1275.mk: New file.
24877 * conf/sparc64-ieee1275.rmk: Likewise.
24878 * include/grub/sparc64/setjmp.h: Likewise.
24879 * include/grub/sparc64/types.h: Likewise.
24880 * include/grub/sparc64/ieee1275/console.h: Likewise.
24881 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24882 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24883 * include/grub/sparc64/ieee1275/time.h: Likewise.
24884 * kern/sparc64/cache.c: Likewise.
24885 * kern/sparc64/dl.c: Likewise.
24886 * kern/sparc64/ieee1275/init.c: Likewise.
24887 * kern/sparc64/ieee1275/openfw.c: Likewise.
24888
385c6a92 248892005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
24890
24891 * util/console.c (grub_ncurses_putchar): If C is greater than
24892 0x7f, set C to a question mark.
24893 (grub_ncurses_getcharwidth): New function.
24894 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
24895 getcharwidth.
24896
24897 * normal/menu.c (print_entry): Made aware of Unicode. First,
24898 convert TITLE to UCS-4, and predict the cursor position by
24899 grub_getcharwidth.
24900
24901 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
24902 const to SRC.
24903 * kern/misc.c (grub_utf16_to_utf8): Likewise.
24904
16ccb8b1 249052005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24906
24907 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
24908 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24909 grub_strcat.
24910
24911 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
24912 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24913 grub_strcpy and grub_strlen. Take it into account that a space
24914 character is inserted as a delimiter.
24915
6a85ce79 249162005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24917
24918 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 24919 invalid magic in the error.
6a85ce79 24920
24921 * commands/search.c: New file.
f19dbdb7 24922
6a85ce79 24923 * util/grub-emu.c (main): Call grub_search_init and
24924 grub_search_fini.
24925
24926 * kern/rescue.c (grub_rescue_print_disks): Removed.
24927 (grub_rescue_print_devices): New function.
24928 (grub_rescue_cmd_ls): Use grub_device_iterate with
24929 grub_rescue_print_devices instead of grub_disk_dev_iterate with
24930 grub_rescue_print_disks.
24931
24932 * kern/partition.c (grub_partition_iterate): Return the result of
24933 PARTMAP->ITERATE instead of GRUB_ERRNO.
24934
24935 * kern/device.c: Include grub/partition.h.
24936 (grub_device_iterate): New function.
24937
24938 * include/grub/partition.h (grub_partition_iterate): Return int
24939 instead of grub_err_t.
24940
24941 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
24942 prototype.
24943 [GRUB_UTIL] (grub_search_fini): Likewise.
24944
24945 * include/grub/device.h (grub_device_iterate): New prototype.
24946
24947 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24948 commands/search.c.
24949 (pkgdata_MODULES): Added search.mod.
24950 (search_mod_SOURCES): New variable.
24951 (search_mod_CFLAGS): Likewise.
24952
24953 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
24954 (pkgdata_MODULES): Added search.mod.
24955 (search_mod_SOURCES): New variable.
24956 (search_mod_CFLAGS): Likewise.
24957
24958 * commands/ls.c (grub_ls_list_disks): Renamed to ...
24959 (grub_ls_list_devices): ... this, and use grub_device_iterate.
24960 All callers changed.
24961
24962 * DISTLIST: Added commands/search.c.
24963
ef095434 249642005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24965
24966 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
24967 conversion.
24968 (grub_getcharwidth): New function.
24969
24970 * kern/misc.c (grub_utf8_to_ucs4): New function.
24971
24972 * include/grub/term.h (struct grub_term): Added a new member
24973 "getcharwidth".
24974 (grub_getcharwidth): New prototype.
24975
24976 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
24977
24978 * term/i386/pc/console.c (map_char): New function. Segregated from
24979 grub_console_putchar.
24980 (grub_console_putchar): Use map_char.
24981 (grub_console_getcharwidth): New function.
24982 (grub_console_term): Specified grub_console_getcharwidth as
24983 getcharwidth.
24984
24985 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
24986 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
24987
24988 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
24989 GRUB_ERRNO.
24990 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
24991 on grub_strtoul completely.
24992 (write_char): Declare local variables in the beginning of the
24993 function.
24994 (grub_vesafb_getcharwidth): New function.
24995 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
24996 getcharwidth.
24997
1f0a95e4 249982005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
24999
25000 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
25001 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
25002 commands/i386/pc/vbetest.c.
25003
25004 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
25005 call grub_vbe_get_controller_info again, because the returned
25006 information is volatile.
25007 (grub_vbe_set_video_mode): Mostly rewritten.
25008 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
25009 grub_vbe_status_t correctly.
25010 (grub_vbe_get_video_mode_info): Likewise.
25011 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
25012 several if statements.
25013
25014 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
25015 * commands/i386/pc/vbeinfo.c: ... this.
25016
25017 * commands/i386/pc/vbe_test.c: Renamed to ...
25018 * commands/i386/pc/vbetest.c: ... this.
25019
25020 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
25021 ...
25022 (grub_cmd_vbeinfo): ... this. Save video modes before
25023 iterating. Skip a video mode, if it is not available, not enough
25024 information is given or it is monochrome. Show the memory
25025 model. Leave the interpretation of MODEVAR to grub_strtoul
25026 completely.
25027 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
25028 (GRUB_MOD_FINI): Likewise.
25029
25030 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
25031 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
25032 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
25033 duplicated grub_env_get. Leave the interpretation of MODEVAR to
25034 grub_strtoul completely.
25035 (real2pm): Removed.
25036 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
25037 (GRUB_MOD_FINI): Likewise.
25038
25039 * normal/misc.c: Include grub/mm.h.
25040
25041 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
25042 vbe_list_modes with vbetest.mod and vbeinfo.mod.
25043 (vbe_list_modes_mod_SOURCES): Removed.
25044 (vbe_list_modes_mod_CFLAGS): Likewise.
25045 (vbe_test_mod_SOURCES): Likewise.
25046 (vbe_test_mod_CFLAGS): Likewise.
25047 (vbeinfo_mod_SOURCES): New variable.
25048 (vbeinfo_mod_CFLAGS): Likewise.
25049 (vbetest_mod_SOURCES): Likewise.
25050 (vbetest_mod_CFLAGS): Likewise.
25051
992ffbbe 250522005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
25053
25054 * normal/misc.c: New file.
25055
25056 * DISTLIST: Added normal/misc.c.
f19dbdb7 25057
992ffbbe 25058 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
25059 DISK to HOOK. Call HOOK with DISK.
25060 * partmap/apple.c (apple_partition_map_iterate): Likewise.
25061 * partmap/pc.c (pc_partition_map_iterate): Likewise.
25062 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25063
25064 * normal/menu_entry.c (struct screen): Added a new member
25065 "completion_shown".
25066 (completion_buffer): New global variable.
25067 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
25068 (store_completion): New function.
25069 (complete): Likewise.
25070 (clear_completions): Likewise.
25071 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
25072 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
25073 a tab, call complete.
25074
25075 * normal/completion.c (disk_dev): Removed.
25076 (print_simple_completion): Likewise.
25077 (print_partition_completion): Likewise.
25078 (print_func): New global variable.
25079 (add_completion): Do not take the arguments WHAT or PRINT any
25080 longer. Added a new argument TYPE. Instead of printing directly,
25081 call PRINT_FUNC if not NULL.
25082 All callers changed.
25083 (complete_device): Use a local variable DEV instead of
25084 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
25085 (grub_normal_do_completion): Take a new argument HOOK. Do not
25086 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
25087 empty string, return NULL instead.
25088 All callers changed.
25089
25090 * normal/cmdline.c (print_completion): New function.
25091
25092 * kern/partition.c (grub_partition_iterate): Add an argument DISK
25093 to HOOK.
25094 All callers changed.
25095
25096 * kern/disk.c (grub_print_partinfo): Removed.
25097
25098 * include/grub/partition.h (struct grub_partition_map): Add a new
25099 argument DISK into HOOK of ITERATE.
25100 (grub_partition_iterate): Add a new argument DISK to HOOK.
25101
25102 * include/grub/normal.h (enum grub_completion_type): New enum.
25103 (grub_completion_type_t): New type.
25104 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
25105 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
25106 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
25107 (GRUB_COMPLETION_TYPE_FILE): Likewise.
25108 (grub_normal_do_completion): Added a new argument HOOK.
25109 (grub_normal_print_device_info): New prototype.
25110
25111 * include/grub/disk.h (grub_print_partinfo): Removed.
25112
25113 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
25114 (normal_mod_SOURCES): Likewise.
25115 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25116 (normal_mod_SOURCES): Likewise.
25117
25118 * commands/ls.c (grub_ls_list_disks): Use
25119 grub_normal_print_device_info instead of grub_print_partinfo. Free
25120 PNAME.
25121 (grub_ls_list_files): Use grub_normal_print_device_info instead of
25122 duplicating the code.
25123
0bd41162 251242005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
25125
25126 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 25127 follow GCS more precisely.
25128 * commands/i386/pc/vbe_test.c: Likewise.
25129 * include/grub/i386/pc/vbe.h: Likewise.
25130 * term/i386/pc/vesafb.c: Likewise.
25131 * video/i386/pc/vbe.c: Likewise.
0bd41162 25132
6323696a 251332005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
25134
25135 * DISTLIST: Added term/i386/pc/vesafb.c
25136 DISTLIST: Added video/i386/pc/vbe.c
25137 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
25138 DISTLIST: Added commands/i386/pc/vbe_test.c.
25139 * commands/i386/pc/vbe_list_modes.c: New file.
25140 * commands/i386/pc/vbe_test.c: Likewise.
25141 * term/i386/pc/vesafb.c: Likewise.
25142 * video/i386/pc/vbe.c: Likewise.
25143 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
25144 (grub_vbe_probe) Added prototype.
25145 (grub_vbe_set_video_mode) Likewise.
25146 (grub_vbe_get_video_mode) Likewise.
25147 (grub_vbe_get_video_mode_info) Likewise.
25148 (grub_vbe_set_pixel_rgb) Likewise.
25149 (grub_vbe_set_pixel_index) Likewise.
25150 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
25151 (pkgdata_MODULES): Added vesafb.mod.
25152 (pkgdata_MODULES): Added vbe_list_modes.mod.
25153 (pkgdata_MODULES): Added vbe_test.mod.
25154 (vbe_mod_SOURCES): Added.
25155 (vbe_mod_CFLAGS): Likewise.
25156 (vesafb_mod_SOURCES): Likewise.
25157 (vesafb_mod_CFLAGS): Likewise.
25158 (vbe_list_modes_mod_SOURCES): Likewise.
25159 (vbe_list_modes_mod_CFLAGS): Likewise.
25160 (vbe_test_mod_SOURCES): Likewise.
25161 (vbe_test_mod_CFLAGS): Likewise.
25162
0a74e62f 251632005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
25164
0a74e62f 25165 * normal/command.c (grub_command_execute): If INTERACTIVE is
25166 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
25167 CMDLINE. Disable the pager if INTERACTIVE is true.
25168 All callers are changed.
25169
25170 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
25171 before reading a config file.
25172 * normal/main.c (read_config_file): Even if a command is not
25173 found, register it if it is within an entry.
25174
25175 * util/grub-emu.c: Include sys/types.h and unistd.h.
25176 (options): Added --hold.
25177 (struct arguments): Added a new member "hold".
25178 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
25179 missing.
25180 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
25181 cleared by a debugger, if it is not zero.
25182
25183 * include/grub/normal.h (grub_command_execute): Add an argument
25184 INTERACTIVE.
25185
e51f85ae 251862005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
25187
25188 * DISTLIST: Added include/grub/i386/pc/vbe.h.
25189
e9c6f39b 251902005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
25191
25192 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
25193 program with another one, because the old one didn't detect a bug
25194 in gcc-3.4. Always use regparm 2, because the new test is still
25195 not enough for gcc-4.0. Someone must investigate a simple test
25196 case which detects a bug in gcc-4.0.
25197
8de3495c 251982005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
25199
25200 * DISTLIST: Added normal/completion.c.
25201
25202 * normal/completion.c: New file.
f19dbdb7 25203
8de3495c 25204 * term/i386/pc/console.c (grub_console_getwh): New function.
25205 (grub_console_term): Assign grub_console_getwh to getwh.
25206
25207 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
25208 function is defined in normal/completion.c as
25209 grub_normal_do_completion.
25210 (grub_cmdline_get): Use grub_normal_do_completion instead of
25211 grub_tab_complete.
25212
25213 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
25214 returns non-zero, otherwise return 0.
25215 (grub_partition_iterate): First, probe the partition map. Then,
25216 call ITERATE only for this partition map.
25217
25218 * kern/misc.c (grub_strncmp): Rewritten.
25219
25220 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
25221 returns non-zero. Otherwise return 0.
25222
25223 * include/grub/partition.h (grub_partition_map_iterate): Return
25224 int instead of void.
25225
25226 * include/grub/normal.h (grub_normal_do_completion): New prototype.
25227
25228 * include/grub/misc.h (grub_strncmp): Change the type of N to
25229 grub_size_t.
25230
25231 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
25232 of void.
25233
25234 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 25235 unsigned explicitly before comparing it with I.
8de3495c 25236
25237 * kern/main.c (grub_env_write_root): Add the attribute unused into
25238 VAR.
25239
25240 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25241 normal/completion.c.
25242 (normal_mod_SOURCES): Likewise.
25243 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25244 (normal_mod_SOURCES): Likewise.
25245
25246 * normal/command.c (grub_iterate_commands): If ITERATE returns
25247 non-zero, return one immediately.
25248
e85e144b 252492005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
25250
25251 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
25252 * kern/i386/pc/startup.S: Updated Global Descriptor table's
25253 descriptions.
25254 (grub_vbe_get_controller_info): New function.
25255 (grub_vbe_get_mode_info): Likewise.
25256 (grub_vbe_set_mode): Likewise.
25257 (grub_vbe_get_mode): Likewise.
25258 (grub_vbe_set_memory_window): Likewise.
25259 (grub_vbe_get_memory_window): Likewise.
25260 (grub_vbe_set_scanline_length): Likewise.
25261 (grub_vbe_get_scanline_length): Likewise.
25262 (grub_vbe_set_display_start): Likewise.
25263 (grub_vbe_get_display_start): Likewise.
25264 (grub_vbe_set_palette_data): Likewise.
25265 * include/grub/i386/pc/vbe.h: New file.
25266
c46153d2 252672005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25268
25269 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
25270 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
25271 * DISTLIST: Likewise.
25272 * kern/ieee1275/of.c: Moved to ...
25273 * kern/ieee1275/ieee1275.c: ... here.
25274
0cb90c45 252752005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25276
25277 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
25278 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
25279 Pass 0 as `end' parameter to grub_strtoul().
25280
a19fb360 252812005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25282
25283 * include/grub/powerpc/ieee1275/console.h: Do not include
25284 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
25285 ifdef.
25286 (grub_console_cur_color): Remove i386-specific prototype.
25287 (grub_console_real_putchar): Likewise.
25288 (grub_console_checkkey): Likewise.
25289 (grub_console_getkey): Likewise.
25290 (grub_console_getxy): Likewise.
25291 (grub_console_gotoxy): Likewise.
25292 (grub_console_cls): Likewise.
25293 (grub_console_setcursor): Likewise.
25294 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
25295 Include <grub/machine/console.h>.
25296 * term/ieee1275/ofconsole.c: Likewise.
25297
4ac9bd04 252982005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
25299
25300 * Makefile.in (LIBLZO): New variable.
25301
25302 * configure.ac: Check for LZO version 2.
25303
25304 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
25305 lzo/lzo1x.h instead of lzo1x.h.
25306
25307 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
25308 of -llzo.
25309
25310 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
25311 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
25312
25313 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
25314 copying the data from PARTITION to P.
25315
f4917dfd 253162005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25317
25318 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
25319 negative, unload the module.
25320
25321 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
25322 map is "pc_partition_map" but not "pc".
25323 (usage): Fix the description. The options are --boot-image and
25324 --core-image but not --boot-file or --core-file.
25325 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
25326 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
25327 DEFAULT_DIRECTORY.
25328
25329 * util/i386/pc/grub-install.in: Do not specify --boot-file or
25330 --core-file. Specify INSTALL_DEVICE as an argument.
25331
25332 * util/console.c: Include config.h.
25333 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
25334 [HAVE_NCURSES_H]: Include ncurses.h.
25335 [HAVE_CURSES_H]: Include curses.h.
25336 [!A_NORMAL] (A_NORMAL): Defined as zero.
25337 [!A_STANDOUT] (A_STANDOUT): Likewise.
25338
25339 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
25340 -lncurses.
25341 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
25342
25343 * configure.ac: Check for curses libraries and headers.
25344
25345 * Makefile.in (LIBCURSES): New variable.
25346
25347 * genmk.rb (Script::rule): Set the executable bits.
25348
25349 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
25350 name of the PC partition map is "pc_partition_map" but not "pc".
25351
0e143073 253522005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25353
25354 * util/i386/pc/grub-install.in (grub_probefs): New variable.
25355 (modules): Likewise.
25356 (usage): Added descriptions for --modules and --grub-probefs.
25357 Handle --modules and --grub-probefs. Save the arguments in MODULES
25358 and GRUB_PROBEFS, respectively.
25359 Auto-detect a filesystem module against GRUBDIR. If the result is
25360 empty and modules are not specified explicitly, abort the
25361 installation. Add the result to MODULES.
25362
25363 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
25364 disk/powerpc/ieee1275/ofdisk.c,
25365 include/grub/powerpc/ieee1275/init.h and
25366 term/powerpc/ieee1275/ofconsole.c.
25367 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
25368 term/ieee1275/ofconsole.c.
25369
25370 * include/grub/powerpc/ieee1275/console.h: Resurrected.
25371
25372 * COPYING: Upgraded to the latest version. Only the address of the
25373 FSF office has changed.
f19dbdb7 25374
efd6e6d5 253752005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25376
25377 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
25378 kern/ieee1275.c with kern/ieee1275/of.c.
25379
25380 * kern/ieee1275.c: Moved to ...
25381 * kern/ieee1275/of.c: ... here.
25382
8ceafda2 253832005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
25384
25385 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 25386 readability.
8ceafda2 25387
25388 * config.guess: Updated to the latest version from gnulib.
25389 * config.sub: Likewise.
25390 * install.sh: Likewise.
25391 * mkinstalldirs: Likewise.
25392
25393 * include/grub/console.h: Removed. This file is arch-specific. Do
25394 not put this in include/grub.
25395
25396 * include/grub/i386/pc/console.h: Resurrected.
25397
25398 * util/console.c: Include grub/machine/console.h instead of
25399 grub/console.h.
25400 * util/grub-emu.c: Likewise.
25401
267f6cd9 254022005-08-04 Marco Gerards <metgerards@student.han.nl>
25403
25404 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
25405 hardcoded value.
f19dbdb7 25406
267f6cd9 25407 From Vincent Pelletier <subdino2004@yahoo.fr>
25408 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
25409 Redefined to use grub_getwh.
25410 (grub_term): New member named getwh.
25411 (grub_getwh): New prototype.
25412 * kern/term.c (grub_getwh): New function.
25413 * term/i386/pc/console.c (grub_console_getwh): New function.
25414 (grub_console_term): New member `getwh'.
25415 * term/i386/pc/vga.c (grub_vga_getwh): New function.
25416 (grub_vga_term): New member `getwh'.
0b5abe02 25417 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 25418 grub_ssize_t.
25419 (grub_ofconsole_getw): New function.
25420 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
25421 (grub_ofconsole_term): New field named getwh and new initial
25422 value.
25423
3be7266d 254242005-08-03 Hollis Blanchard <hollis@penguinppc.org>
25425
25426 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
25427 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
25428 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
25429 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
25430 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
25431 of <grub/machine/ieee1275.h>.
25432 * commands/ieee1275/reboot.c: Likewise.
25433 * boot/powerpc/ieee1275/ieee1275.c: Move ...
25434 * kern/ieee1275.c: ... to here. All users updated. Change all
25435 parameter structs to use new type `grub_ieee1275_cell_t'.
25436 * term/powerpc/ieee1275/ofconsole.c: Move ...
25437 * term/ieee1275/ofconsole.c: ... to here. All users updated.
25438 * disk/powerpc/ieee1275/ofdisk.c: Move ...
25439 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
25440 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
25441 to return int.
25442 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
25443 Remove unused prototypes. All users updated.
25444 * include/grub/powerpc/ieee1275/console.h: Removed.
25445 * include/grub/powerpc/ieee1275/ieee1275.h: Define
25446 `grub_ieee1275_cell_t'.
25447 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
25448 Cast comparisons with -1 to the correct type.
25449 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
25450 type to match `grub_ieee1275_entry_fn'.
25451
8b5f3938 254522005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
25453
25454 * DISTLIST: Added util/i386/pc/grub-probefs.c.
25455
25456 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
25457 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
25458 partmap/sun.c.
25459 (grub_probefs_SOURCES): New variable.
25460
25461 * util/i386/pc/grub-probefs.c: New file.
25462
25463 * util/i386/pc/grub-setup.c (main): Call
25464 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
25465 grub_hfs_init and grub_jfs_init to initialize the system. Call
25466 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
25467 grub_pc_partition_map_fini to finish the system.
25468
ea409713 254692005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
25470
25471 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
25472 function.
25473 (grub_multiboot_load_elf32): Likewise.
25474 (grub_multiboot_is_elf64): Likewise.
25475 (grub_multiboot_load_elf64): Likewise.
25476 (grub_multiboot_load_elf): Likewise.
25477 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
25478 an ELF32 or ELF64 file.
25479 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
25480
25481 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
25482 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
25483 NULL before calling FS->LABEL.
25484 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
25485 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
25486 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
25487 before calling FS->LABEL.
25488
141a288b 254892005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
25490
25491 * util/i386/pc/grub-install.in (datadir): New variable.
25492 (libdir): Removed.
25493 (pkgdatadir): New variable.
25494 (pkglibdir): Removed.
25495
0d5f8a54 254962005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
25497
25498 * DISTLIST: Added util/i386/pc/grub-install.in.
25499
25500 * util/i386/pc/grub-install.in: New file.
25501
25502 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
25503 (grub_install_SOURCES): Likewise.
25504
25505 * genmk.rb: Added support for scripts.
25506 (Script): New class.
25507 (scripts): New variable.
25508
25509 * Makefile.in (install-local): Install sbin_SCRIPTS by
25510 INSTALL_SCRIPT.
25511 (uninstall): Remove sbin_SCRIPTS.
25512
25513 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
25514 device, try to get a GRUB device by
25515 grub_util_biosdisk_get_grub_dev.
25516 Free DEST_DEV.
25517
25518 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
25519 description for --device-map.
25520
5f968e1e 255212005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
25522
25523 Change the semantics of variable hooks. They now return strings
25524 instead of error values.
f19dbdb7 25525
5f968e1e 25526 * util/i386/pc/grub-setup.c: Include grub/env.h.
25527 (setup): Use grub_device_set_root instead of grub_env_set.
25528
25529 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
25530 grub_env_get instead of grub_device_set_root and
25531 grub_device_get_root, respectively.
25532
25533 * kern/main.c (grub_env_write_root): New function.
25534 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
25535 grub_env_set instead of grub_device_set_root.
25536
25537 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
25538 many variables.
25539 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
25540 rather than calling ENV->WRITE_HOOK afterwards.
25541 (grub_env_get): Return the result of ENV->READ_HOOK rather than
25542 passing a pointer of a pointer.
25543 (grub_register_variable_hook): Change the types of "read_hook" and
25544 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
25545 respectively.
25546 Allocate the default empty string on the heap, because this string
25547 may be freed later.
25548
25549 * kern/device.c: Include grub/env.h.
25550 (grub_device_set_root): Removed.
25551 (grub_device_get_root): Likewise.
25552 (grub_device_open): Use grub_env_get instead of
25553 grub_device_get_root.
25554
25555 * include/grub/env.h (grub_env_read_hook_t): New type.
25556 (grub_env_write_hook_t): Likewise.
25557 (grub_env_var): Change the types of "read_hook" and "write_hook"
25558 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
25559 (grub_register_variable_hook): Likewise.
25560
25561 * include/grub/device.h (grub_device_set_root): Removed.
25562 (grub_device_set_root): Likewise.
25563
25564 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
25565 make sure that DIRNAME terminates with '/', so that
25566 grub_fat_find_dir will fail if PATH is not a directory.
25567
25568 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
25569 from DIRNAME.
25570 Use the qualifier auto for print_files and print_files_long.
25571 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
25572 as a regular file.
25573 Put a newline only if there is no error.
25574 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
25575 used.
25576
896f0afd 255772005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
25578
25579 * kern/partition.c (grub_partition_probe): Initialize PART to
25580 NULL. Otherwise, when no partition map is registered, this returns
25581 a garbage.
25582
b28b81b2 255832005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
25584
25585 * partmap/apple.c (apple_partition_map_iterate): Check if POS
25586 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
25587 valid.
25588
5f3607e0 255892005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
25590
25591 * commands/ls.c (grub_ls_list_disks): Print the filesystem
25592 information on each device, if it does not have partitions. Print
25593 "Device" instead of "Disk", because this function is not specific
25594 to disk devices.
25595
25596 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
25597 static to ensure that it is put on the memory rather than a
25598 register.
25599
502c87e8 256002005-07-17 Yoshinori Okuji <okuji@enbug.org>
25601
25602 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
25603 (grub_cat_init): Likewise.
25604 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
25605 (options): Likewise.
25606 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
25607 (grub_configfile_init): Likewise.
25608 * font/manager.c (GRUB_MOD_INIT): Likewise.
25609 * commands/help.c (GRUB_MOD_INIT): Likewise.
25610 (grub_help_init): Likewise.
25611 * normal/command.c (grub_command_init): Likewise.
25612 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
25613 * disk/loopback.c (grub_loop_init): Likewise.
25614 (GRUB_MOD_INIT): Likewise.
25615 * commands/ls.c (grub_ls_init): Likewise.
25616 (GRUB_MOD_INIT): Likewise.
25617 (options): Likewise.
25618 * commands/boot.c (grub_boot_init): Likewise.
25619 (GRUB_MOD_INIT): Likewise.
25620 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
25621 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
25622 (GRUB_MOD_INIT): Likewise.
25623 * commands/cmp.c (grub_cmp_init): Likewise.
25624 (GRUB_MOD_INIT): Likewise.
25625
25626 * normal/arg.c: Use <> instead of "" to include header files.
25627 (SHORT_ARG_HELP): New macro.
25628 (SHORT_ARG_USAGE): Likewise.
25629 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
25630 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
25631 descriptions.
25632 (find_short): Check if C is 'h' or 'u' explicitly.
25633 (grub_arg_show_help): Use space characters instead of tabs. Treat
25634 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
25635 are shown with --help and --usage only if they are not used for
25636 the command itself.
25637 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
25638 'h' and 'u'.
25639
25640 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
25641 const into "longarg". Change the type of "shortarg" to int.
25642
f806d18e 256432005-07-17 Yoshinori Okuji <okuji@enbug.org>
25644
25645 * boot/i386/pc/boot.S (boot_drive_check): New label.
25646
25647 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
25648 macro.
25649
25650 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
25651 which do not pass a boot drive correctly. Copied from GRUB Legacy.
25652
e293232b 256532005-07-17 Yoshinori Okuji <okuji@enbug.org>
25654
25655 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
25656 When turning off Gate A20, skip the check and return immediately,
25657 because this is not fatal usually.
25658
ebedfd00 256592005-07-17 Yoshinori Okuji <okuji@enbug.org>
25660
25661 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
25662 be 0x7C00 instead of 0x8000.
25663
25664 * boot/i386/pc/pxeboot.S: Rewritten.
25665
25666 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
25667 EXT_C.
25668 (gate_a20_check_state): Read a byte from 0x108000. Invert the
25669 result.
25670
654fc59f 256712005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
25672
25673 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
25674 robustness. This routine now supports a BIOS call and System
25675 Control Port A to modify the gate A20.
25676
25677 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25678 Increased to 0x440.
25679
09f9923f 256802005-07-12 Hollis Blanchard <hollis@penguinppc.org>
25681
25682 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
25683 device path and resulting ihandle.
25684 (grub_ofdisk_close): dprintf the ihandle being closed.
25685 (grub_ofdisk_read): dprintf function parameters.
25686 * kern/mm.c (grub_mm_init_region): Likewise.
25687 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
25688 (grub_linux_boot): dprintf the Linux entry point, initrd address and
25689 size, and boot arguments.
25690 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
25691 before loading into memory.
25692 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
25693 before loading into memory.
25694
7ef504d8 256952005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
25696
25697 * kern/mm.c: Added much documentation.
25698 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
25699 8, set to 5 instead of 8.
25700
e0f050c2 257012005-07-10 Yoshinori Okuji <okuji@enbug.org>
25702
25703 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
25704
25705 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
25706 (grub_mkdevicemap_SOURCES): New variable.
25707
25708 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
25709 lib/device.c of GRUB Legacy.
25710
7224189a 257112005-07-10 Yoshinori Okuji <okuji@enbug.org>
25712
25713 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
25714 instead of PATH is NULL.
25715
68c864eb 257162005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
25717
25718 * commands/cmp.c (BUFFER_SIZE): New macro.
25719 (grub_cmd_cmp): Close the right file at the right time. Compare
25720 only data just read. Don't report files of different size as
25721 identical. Dynamically allocate buffers. Move variable
25722 declarations at the beginning of function.
25723
e6f3e614 257242005-07-09 Yoshinori Okuji <okuji@enbug.org>
25725
25726 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
25727 reverse.
25728
f8f1559a 257292004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
25730
25731 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
25732 when backspace is pressed at beginning of line.
25733
39c9d41d 257342005-07-03 Yoshinori Okuji <okuji@enbug.org>
25735
25736 * DISTLIST: Added genfslist.sh.
25737
25738 * normal/main.c (fs_module_list): New variable.
25739 (autoload_fs_module): New function.
25740 (read_fs_list): Likewise.
25741 (grub_normal_execute): Call read_fs_list.
25742
25743 * kern/fs.c (grub_fs_autoload_hook): New variable.
25744 (grub_fs_probe): Added support for auto-loading.
25745
25746 * include/grub/normal.h (struct grub_fs_module_list): New struct.
25747 (grub_fs_module_list_t): New type.
25748
25749 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
25750 (grub_fs_autoload_hook): New prototype.
25751
25752 * genfslist.sh: New file.
f19dbdb7 25753
39c9d41d 25754 * genmk.rb: Added a rule to generate a filesystem list.
25755
121c1d83 257562005-06-30 Marco Gerards <metgerards@student.han.nl>
25757
25758 * configure.ac: Fix the test for cross-compiling.
25759
25760 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
25761 define GRUB_UTIL anymore.
25762
25763 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
25764 so this function works on other systems than just big endian.
25765 (load_modules): Likewise.
25766 (add_segments): Likewise.
25767
e75d76e1 257682005-06-23 Hollis Blanchard <hollis@penguinppc.org>
25769
25770 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
25771 contains `l' modifier, get a long from va_arg().
25772
50b5a0a7 257732005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
25774
25775 * kern/mm.c (grub_free): If the next free block which is being
25776 merged is the first free block, set the first block to the block
25777 being freed.
25778 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
25779
89371b20 257802005-05-08 Hollis Blanchard <hollis@penguinppc.org>
25781
25782 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
25783 `grub_ieee1275_chosen'.
25784
168d6e58 257852005-05-08 Hollis Blanchard <hollis@penguinppc.org>
25786
25787 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
25788 (grub_ieee1275_chosen): New variable.
25789 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
25790 `chosen'.
25791 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
25792 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
25793 Rename first argument to `phandle' for consistency.
25794 (grub_ieee1275_get_property_length): Likewise.
25795 (grub_ieee1275_next_property): Likewise. Change type of first argument
25796 to grub_ieee1275_phandle_t.
25797 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
25798 Move export next to declaration.
25799 (grub_ieee1275_chosen): New variable.
25800 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
25801 Correct cosmetic typo.
25802 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
25803 `grub_ieee1275_chosen'.
25804 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
25805 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
25806 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
25807 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
25808 `grub_ieee1275_chosen'.
25809
ca5baa3f 258102005-05-10 Hollis Blanchard <hollis@penguinppc.org>
25811
25812 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
25813 /chosen/bootargs.
25814 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
25815 /chosen/bootargs as "variable=value" pairs.
25816
708b345f 258172005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
25818
25819 * include/grub/misc.h (grub_dprintf): New macro.
25820 (grub_real_dprintf): New prototype.
25821 (grub_strword): Likewise.
25822 (grub_iswordseparator): Likewise.
25823 * kern/misc.c (grub_real_dprintf): New function.
25824 (grub_strword): Likewise.
25825 (grub_iswordseparator): Likewise.
25826
f4c5e67c 258272005-04-30 Hollis Blanchard <hollis@penguinppc.org>
25828
25829 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
25830 (roundup): Remove macro.
25831 (grub_ieee1275_flags): Make static.
25832 (grub_ieee1275_realmode): Remove.
25833 (grub_ieee1275_test_flag): New function.
25834 (grub_ieee1275_set_flag): Likewise.
25835 (find_options): Rename to `grub_ieee1275_find_options'; update
25836 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
25837 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
25838 (cmain): New prototype.
25839 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
25840 `grub_ieee1275_flags' directly.
25841 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
25842 machine/biosdisk.h.
25843 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
25844 Don't include grub/machine/init.h.
25845 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
25846 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
25847 Remove prototype.
25848 (grub_ieee1275_realmode): Likewise.
25849 (grub_ieee1275_flag): New enum.
25850 (grub_ieee1275_test_flag): New prototype.
25851 (grub_ieee1275_set_flag): New prototype.
25852 * include/grub/powerpc/ieee1275/init.h: Remove file.
25853 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
25854 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
25855 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
25856 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
25857 comment.
25858 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
25859 `grub_ieee1275_test_flag'.
25860 (grub_ieee1275_encode_devname): Likewise.
25861
ed16607e 258622005-04-21 Hollis Blanchard <hollis@penguinppc.org>
25863
25864 * include/grub/powerpc/ieee1275/ieee1275.h
25865 (grub_ieee1275_encode_devname): New prototype.
25866 (grub_ieee1275_get_filename): Likewise.
25867 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
25868 function.
25869 (grub_set_prefix): Likewise.
25870 (grub_machine_init): Call grub_set_prefix.
25871 * kern/powerpc/ieee1275/openfw.c: Fix typos.
25872 (grub_parse_type): New enum.
25873 (grub_ieee1275_get_devargs): New function.
25874 (grub_ieee1275_get_devname): Likewise.
25875 (grub_ieee1275_parse_args): Likewise.
25876 (grub_ieee1275_get_filename): Likewise.
25877 (grub_ieee1275_encode_devname): Likewise.
25878
be369920 258792005-03-30 Marco Gerards <metgerards@student.han.nl>
25880
25881 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
25882 `grub_loader_unset'.
25883
a5ce3a4a 258842005-03-26 Hollis Blanchard <hollis@penguinppc.org>
25885
25886 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
25887 instead of grub_ieee1275_interpret.
25888 (grub_halt_init): New function.
25889 (grub_halt_fini): Likewise.
25890 (GRUB_MOD_INIT): Correct message grammar.
25891 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
25892 instead of grub_ieee1275_interpret.
25893 (grub_reboot_init): New function.
25894 (grub_reboot_fini): Likewise.
25895 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
25896 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
25897 util/i386/pc/misc.c with commands/ieee1275/halt.c,
25898 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
25899 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
25900 function.
25901 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
25902 Add prototype.
25903 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
25904 prototype.
25905 (grub_halt): Likewise.
25906 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
25907 (cmain): Remove __attribute__((unused)).
25908 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
25909 (grub_heap_len): Likewise.
25910 (grub_machine_fini): New function.
25911 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
25912 (grub_halt): Likewise.
25913 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
25914 function.
25915 * util/powerpc/ieee1275/misc.c: New file.
25916
0058f771 259172005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
25918
25919 * DISTLIST: New file.
25920 * gendistlist.sh: Likewise.
f19dbdb7 25921
0058f771 25922 * Makefile.in (COMMON_DISTFILES): Removed.
25923 (BOOT_DISTFILES): Likewise.
25924 (CONF_DISTFILES): Likewise.
25925 (DISK_DISTFILES): Likewise.
25926 (FS_DISTFILES): Likewise.
25927 (INCLUDE_DISTFILES): Likewise.
25928 (KERN_DISTFILES): Likewise.
25929 (LOADER_DISTFILES): Likewise.
25930 (TERM_DISTFILES): Likewise.
25931 (UTIL_DISTFILES): Likewise.
25932 (DISTFILES): Likewise.
25933 (uninstall): Uninstall files in $(pkgdata_DATA).
25934 (DISTLIST): New target.
25935 (distdir): Use the contents of the file DISTLIST to get a list of
25936 distributed files.
25937
46b3b8a5 259382005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
25939
25940 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
25941 descriptor. This is ported from GRUB Legacy.
25942
25943 * gencmdlist.sh: Added an extra semicolon to make it work with
25944 old sed versions. Reported by Robert Bihlmeyer
25945 <robbe@orcus.priv.at>.
25946
5822ff87 259472005-03-08 Yoshinori Okuji <okuji@enbug.org>
25948
25949 Automatic loading of commands is supported.
f19dbdb7 25950
5822ff87 25951 * normal/main.c (read_command_list): New function.
25952 (grub_normal_execute): Call read_command_list.
25953
25954 * normal/command.c (grub_register_command): Return zero or CMD.
25955 Allocate CMD->NAME from the heap.
25956 Initialize CMD->MODULE_NAME to zero.
25957 Find the same name as well. If the same command is found and it is
25958 a dummy command, overwrite members. If it is not a dummy command,
25959 return zero.
25960 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
25961 (grub_command_find): If a dummy command is found, load a module
25962 and retry to find a command only once.
25963
25964 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
25965 make sure that each command is loaded.
25966
25967 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
25968 macro.
25969 (struct grub_command): Remove const from the member `name'.
25970 Add a new member `module_name'.
25971 (grub_register_command): Return grub_command_t.
25972
25973 * commands/help.c (grub_cmd_help): Call grub_command_find to make
25974 sure that each command is loaded.
25975
25976 * genmk.rb (PModule::rule): Specify a module name without the
25977 suffix ".mod" to gencmdlist.sh.
25978
7b1f4b57 259792005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25980
25981 * gencmdlist.sh: New file.
f19dbdb7 25982
7b1f4b57 25983 * genmk.rb (PModule::rule): Generate a rule for a command list.
25984 Clean command.lst.
25985 Generate command.lst from $(COMMANDFILES).
25986
25987 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
25988 (DATA): Added $(pkgdata_DATA).
25989 (install-local): Install files in $(pkgdata_DATA).
25990
062aaf39 259912005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25992
25993 * term/i386/pc/vga.c (debug_command): Removed.
25994 (GRUB_MOD_INIT): Do not register the command "debug".
25995
25996 From Hollis Blanchard:
25997 * commands/configfile.c: New file.
25998 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25999 commands/configfile.c.
26000 (pkgdata_MODULES): Added configfile.mod.
26001 (configfile_mod_SOURCES): New variable.
26002 (configfile_mod_CFLAGS): Likewise.
26003 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26004 commands/configfile.c.
26005 (pkgdata_MODULES): Added configfile.mod.
26006 (configfile_mod_SOURCES): New variable.
26007 (configfile_mod_CFLAGS): Likewise.
26008 * util/grub-emu.c (main): Call grub_configfile_init and
26009 grub_configfile_fini.
26010 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
26011 prototype.
26012 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 26013
cee01aa6 260142005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26015
26016 * normal/arg.c (grub_arg_show_help): Do not show the bug report
26017 address.
26018
26019 * commands/help.c (grub_cmd_help): Do not print newlines after
26020 the last command in print_command_help.
26021
93f3a1d8 260222005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26023
26024 * commands/default.h: New file.
26025 * commands/timeout.h: Likewise.
26026 * normal/context.c: Likewise.
f19dbdb7 26027
93f3a1d8 26028 * util/misc.c: Do not include sys/times.h.
26029 Include sys/time.h and grub/machine/time.h.
26030 (grub_get_rtc): Rewritten with gettimeofday.
26031
26032 * util/grub-emu.c (main): Call grub_default_init and
26033 grub_timeout_init before grub_normal_init, and call
26034 grub_timeout_fini and grub_default_fini after grub_main.
26035
26036 * util/console.c (grub_ncurses_checkkey): Return the read
26037 character or -1.
26038
26039 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
26040 timeouts.
26041
26042 * normal/main.c (read_config_file): Push MENU. If this fails,
26043 print an error and wait for a user input.
26044 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
26045 If a menu is empty or an error occurs, pop MENU.
26046 (grub_normal_execute): Pop and free MENU after grub_menu_run
26047 returns.
26048
26049 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
26050
26051 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
26052 include time.h.
26053 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26054 without GRUB_UTIL.
26055 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
26056 time.h.
26057 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26058 without GRUB_UTIL.
26059
26060 * include/grub/normal.h (struct grub_menu_list): New struct.
26061 (grub_menu_list_t): New type.
26062 (struct grub_context): New struct.
26063 (grub_context_t): New type.
26064 (grub_register_command): Got rid of EXPORT_FUNC.
26065 (grub_unregister_command): Likewise.
26066 (grub_context_get): New prototype.
26067 (grub_context_get_current_menu): Likewise.
26068 (grub_context_push_menu): Likewise.
26069 (grub_context_pop_menu): Likewise.
26070 [GRUB_UTIL] (grub_default_init): Likewise.
26071 [GRUB_UTIL] (grub_default_fini): Likewise.
26072 [GRUB_UTIL] (grub_timeout_init): Likewise.
26073 [GRUB_UTIL] (grub_timeout_fini): Likewise.
26074
26075 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
26076 commands/timeout.c and normal/context.c.
26077 (pkgdata_MODULES): Added default.mod and timeout.mod.
26078 (normal_mod_SOURCES): Added normal/context.c.
26079 (default_mod_SOURCES): New variable.
26080 (default_mod_CFLAGS): Likewise.
26081 (timeout_mod_SOURCES): Likewise.
26082 (timeout_mod_CFLAGS): Likewise.
26083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
26084 conf/i386-pc.rmk.
26085 (pkgdata_MODULES): Added default.mod and timeout.mod.
26086 (normal_mod_SOURCES): Added normal/context.c.
26087 (default_mod_SOURCES): New variable.
26088 (default_mod_CFLAGS): Likewise.
26089 (timeout_mod_SOURCES): Likewise.
26090 (timeout_mod_CFLAGS): Likewise.
26091
26092 * Makefile.in (all-local): Added $(MKFILES).
26093
4ed2e1dd 260942005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
26095
26096 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
26097 (grub_emu_SOURCES): Likewise.
26098 (pkgdata_MODULES): Add `sun.mod'.
26099 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
26100 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26101 `partmap/sun.c'.
26102 (pkgdata_MODULES): Add `sun.mod'.
26103 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
26104 * include/grub/partition.h (grub_sun_partition_map_init): New
26105 prototype.
26106 (grub_sun_partition_map_fini): Likewise.
26107 * partmap/sun.c: New file.
26108 * util/grub-emu.c (main): Initialize and de-initialize the sun
26109 partitionmap support.
26110
4d4e372e 261112005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
26112
26113 This implements an Emacs-like menu entry editor.
f19dbdb7 26114
4d4e372e 26115 * normal/menu_entry.c: New file.
f19dbdb7 26116
4d4e372e 26117 * util/console.c (grub_ncurses_putchar): Translate some Unicode
26118 characters to ASCII.
26119 (saved_char): New variable.
26120 (grub_ncurses_checkkey): Rewritten completely.
26121 (grub_ncurses_getkey): Likewise.
26122 (grub_ncurses_init): Call raw instead of cbreak.
26123
26124 * normal/menu.c (print_entry): Do not put a space.
26125 (init_page): Renamed to ...
26126 (grub_menu_init_page): ... this. All callers changed.
26127 (edit_menu_entry): Removed.
26128 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
26129
26130 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
26131
26132 * kern/misc.c (grub_vprintf): Call grub_refresh.
26133
26134 * normal/menu.c (DISP_LEFT): Renamed to ...
26135 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
26136 * normal/menu.c (DISP_UP): Renamed to ...
26137 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
26138 * normal/menu.c (DISP_RIGHT): Renamed to ...
26139 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
26140 * normal/menu.c (DISP_DOWN): Renamed to ...
26141 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
26142 * normal/menu.c (DISP_HLINE): Renamed to ...
26143 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
26144 * normal/menu.c (DISP_VLINE): Renamed to ...
26145 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
26146 * normal/menu.c (DISP_UL): Renamed to ...
26147 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
26148 * normal/menu.c (DISP_UR): Renamed to ...
26149 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
26150 * normal/menu.c (DISP_LL): Renamed to ...
26151 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
26152 * normal/menu.c (DISP_LR): Renamed to ...
26153 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
26154 * normal/menu.c (TERM_WIDTH): Renamed to ...
26155 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
26156 * normal/menu.c (TERM_HEIGHT): Renamed to ...
26157 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
26158 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
26159 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
26160 * normal/menu.c (TERM_MARGIN): Renamed to ...
26161 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
26162 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
26163 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
26164 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
26165 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
26166 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
26167 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
26168 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
26169 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
26170 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
26171 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
26172 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
26173 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
26174 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
26175 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
26176 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
26177 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
26178 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
26179 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
26180 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
26181 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
26182 All callers changed.
26183
26184 * include/grub/normal.h: New prototype.
26185
26186 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26187 normal/menu_entry.c.
26188 (normal_mod_SOURCES): Likewise.
26189 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26190 (normal_mod_SOURCES): Likewise.
26191
e6b92c8a 261922005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
26193
26194 * include/grub/normal.h (grub_halt_init): New prototype.
26195 (grub_halt_fini): Likewise.
26196 (grub_reboot_init): Likewise.
26197 (grub_reboot_fini): Likewise.
26198
26199 * util/grub-emu.c: Include signal.h.
26200 (main_env): New global variable.
26201 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
26202 catch C-c.
26203 (grub_machine_fini): New function.
26204 (main): Call grub_halt_init and grub_reboot_init before
26205 grub_main, and grub_reboot_fini and grub_halt_fini after it.
26206 Call setjmp with MAIN_ENV to go back afterwards.
26207 Call grub_machine_fini right before return.
26208
26209 * include/grub/util/misc.h: Include setjmp.h.
26210 (main_env): New prototype.
26211
26212 * include/grub/kernel.h (grub_machine_fini): New prototype.
26213 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
26214 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
26215
26216 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
26217 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
26218 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 26219
e6b92c8a 26220 * util/i386/pc/misc.c: New file.
f19dbdb7 26221
e6b92c8a 26222 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26223 util/i386/pc/misc.c, commands/i386/pc/halt.c and
26224 commands/i386/pc/reboot.c.
26225
c642636f 262262005-02-14 Guillem Jover <guillem@hadrons.org>
26227
26228 * include/grub/dl.h (grub_dl_check_header): New prototype.
26229 (grub_arch_dl_check_header): Change return type to grub_err_t,
26230 remove size parameter and export function. Update all callers.
26231 * kern/dl.c (grub_dl_check_header): New function.
26232 (grub_dl_load_core): Use `grub_dl_check_header' instead of
26233 `grub_arch_dl_check_header'. Check ELF type. Check if sections
26234 are inside the core.
26235 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
26236 independent ELF header checks.
26237 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
26238 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
26239 `grub_dl_check_header' instead of explicit checks. Check for the
26240 ELF type.
26241 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
26242 `grub_dl_check_header' instead of explicit checks. Remove arch
26243 specific ELF header checks.
26244
e6b92c8a 26245 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
26246 argument SIZE.
26247
5eabe94b 262482005-02-13 Hollis Blanchard <hollis@penguinppc.org>
26249
26250 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
26251 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
26252
1b14a681 262532005-02-12 Hollis Blanchard <hollis@penguinppc.org>
26254
26255 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 26256 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 26257 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 26258 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 26259 * partmap/amiga.c (amiga_partition_map_iterate): Return
26260 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
26261 * partmap/apple.c (apple_partition_map_iterate): Likewise.
26262
aca108aa 262632005-02-01 Guillem Jover <guillem@hadrons.org>
26264
26265 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
26266 help info.
26267
c9f9c556 262682005-01-31 Marco Gerards <metgerards@student.han.nl>
26269
26270 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
26271 Removed prototype.
26272 (grub_rescue_cmd_linux): New prototype.
26273 (grub_rescue_cmd_initrd): Likewise.
26274 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
26275 `bi_rec'.
26276 (grub_linux_release_mem): Release the memory for the initrd.
26277 (grub_load_linux): Renamed from this...
26278 (grub_rescue_cmd_linux): ...To this. Changed all callers.
26279 Changed `entry' not to be static. Loop over memory regions to
26280 find another one when the default fails.
26281 (grub_rescue_cmd_initrd): New function.
26282 (grub_linux_init): Remove function.
26283 (grub_linux_fini): Likewise.
26284 (GRUB_MOD_INIT): Register `initrd'.
26285 (GRUB_MOD_FINI): Unregister `initrd'.
26286 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
26287 Function removed.
26288 (grub_linux_normal_fini): Likewise.
26289 (GRUB_MOD_INIT): Register `initrd'.
26290 (GRUB_MOD_FINI): Unregister `initrd'.
26291
990cf3aa 262922005-01-31 Marco Gerards <metgerards@student.han.nl>
26293
26294 * commands/help.c: New file.
26295 * normal/arg.c (show_help): Renamed to...
26296 (grub_arg_show_help): ... this.
26297 * commands/i386/pc/halt.c: New file.
26298 * commands/i386/pc/reboot.c: Likewise.
26299 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
26300 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
26301 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
26302 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
26303 variables.
26304 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26305 `commands/help.c'.
26306 (pkgdata_MODULES): Add `help.mod'.
26307 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
26308 * grub/i386/pc/init.h (grub_reboot): New prototype.
26309 (grub_halt): Likewise.
26310 * include/grub/normal.h (grub_arg_show_help): New prototype.
26311 (grub_help_init): Likewise.
26312 (grub_help_fini): Likewise.
26313 * util/grub-emu.c (main): Initialize and deinitialize the help
26314 command.
26315
26316 * normal/cmdline.c (grub_cmdline_get): Doc fix.
26317
26318 * normal/command.c (grub_command_init): Fixed the description of
26319 the `set' and `unset' commands.
26320
263212005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 26322
26323 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
26324 function.
26325 * commands/ieee1275/halt.c: New file.
26326 * commands/ieee1275/reboot.c: Likewise.
26327 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
26328 `__attribute__ ((unused))'. Some GCS related fixed.
26329 (grub_suspend_init) [GRUB_UTIL]: Function removed.
26330 (grub_suspend_fini): Likewise.
26331 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
26332 and `halt.mod'.
26333 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
26334 (halt_mod_CFLAGS): New variables.
26335 * include/grub/powerpc/ieee1275/ieee1275.h
26336 (grub_ieee1275_interpret): New prototype.
26337
1ab09cc7 263382005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
26339
26340 * include/grub/misc.h (memmove): New prototype.
26341 (memcpy): Likewise.
26342
8b8cbdb2 263432005-01-22 Hollis Blanchard <hollis@penguinppc.org>
26344
26345 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
26346 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
26347
e3741a27 263482005-01-22 Marco Gerards <metgerards@student.han.nl>
26349
26350 * kern/misc.c (grub_strndup): Function rewritten.
26351
776bd780 263522005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
26353
26354 * normal/menu.c (TERM_WIDTH): Macro redefined.
26355 (TERM_TOP_BORDER_Y): Likewise.
26356 (draw_border): Replaced while-loop by a for-loop. Make the number
26357 of lines consistent with the number of lines displayed in
26358 print_entries. Added a margin below the rectangle.
26359 (print_entry): Make the entry fit in the rectangle.
26360 (print_entries): Display the scroll arrows next to the right
26361 border.
26362
78026bce 263632005-01-21 Marco Gerards <metgerards@student.han.nl>
26364
26365 * fs/minix.c (grub_minix_find_file): Reserve more space for
26366 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
26367 `grub_strncpy' to copy `path' into it.
26368
67bbaf0f 263692005-01-21 Marco Gerards <metgerards@student.han.nl>
26370
26371 Add the loopback device, a device via which files can be accessed
26372 as devices.
f19dbdb7 26373
67bbaf0f 26374 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
26375 (pkgdata_MODULES): Add loopback.mod.
26376 (loopback_mod_SOURCES): New variable.
26377 (loopback_mod_CFLAGS): Likewise.
26378 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26379 `disk/loopback.c'.
26380 (pkgdata_MODULES): Add loopback.mod.
26381 (loopback_mod_SOURCES): New variable.
26382 (loopback_mod_CFLAGS): Likewise.
26383 * disk/loopback.c: new file.
26384 * include/grub/normal.h (grub_loop_init): New prototype.
26385 (grub_loop_fini): New prototype.
26386 * util/grub-emu.c (main): Initialize and de-initialize loopback
26387 support.
26388 * include/grub/disk.h (grub_disk_dev_id): Add
26389 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
26390
6f1c18bd 263912005-01-20 Hollis Blanchard <hollis@penguinppc.org>
26392
26393 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
26394 function.
26395 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
26396 (suspend_mod_SOURCES): New variable.
26397 (suspend_mod_CFLAGS): Likewise.
26398 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
26399 New prototype.
26400 * commands/ieee1275/suspend.c: New file.
26401
b38551da 264022005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
26403
26404 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 26405 ((unused))' to `__attribute__ ((used))'.
b38551da 26406 (GRUB_MOD_FINI): Likewise.
26407 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
26408 * genmk.rb (PModule): Assign space to common symbols when linking
26409 modules.
26410
777aff39 264112005-01-20 Marco Gerards <metgerards@student.han.nl>
26412
26413 * include/grub/mm.h (grub_mm_init_region): Change the type of the
26414 `unsigned' arguments to `grub_size_t'.
26415 (grub_malloc): Likewise.
26416 (grub_realloc): Likewise.
26417 (grub_memalign): Likewise.
26418 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
26419 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
26420 * util/misc.c (grub_malloc): Likewise.
26421 (grub_realloc): Likewise.
26422 * kern/mm.c (get_header_from_pointer): Change the casts to
26423 `unsigned' into a cast to `grub_size_t'.
26424
26425 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
26426 point to `currnode' when `currnode' is changed.
26427
26428 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
26429 Schottelius <nico-linux@schottelius.org>.
26430
d0ff18e1 264312005-01-09 Hollis Blanchard <hollis@penguinppc.org>
26432
26433 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
26434 (note_path): Remove variable.
26435 (GRUB_IEEE1275_NOTE_NAME): New macro.
26436 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
26437 (grub_ieee1275_note_hdr): New structure.
26438 (grub_ieee1275_note_desc): Likewise.
26439 (grub_ieee1275_note): Likewise.
26440 (load_note): Remove `dir' argument. All callers updated. Remove
26441 `note_img' and `path'. Do not load a file from `note_path'.
26442 Initialize a struct grub_ieee1275_note and write that to `out'.
26443 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
26444
4ca7004c 264452005-01-05 Marco Gerards <metgerards@student.han.nl>
26446
26447 * util/misc.c (grub_util_read_image): Revert last change. It
26448 called `grub_util_read_at', which seeks from the beginning of the
26449 file.
26450
0b412211 264512005-01-04 Hollis Blanchard <hollis@penguinppc.org>
26452
26453 * TODO: Add note about endianness in grub-mkimage.
26454 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
26455 section.
26456 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
26457 (grub_mkimage_SOURCES): New target.
26458 * include/grub/kernel.h (grub_start_addr): Remove variable.
26459 (grub_end_addr): Likewise.
26460 (grub_total_module_size): Likewise.
26461 (grub_kernel_image_size): Likewise.
26462 (GRUB_MODULE_MAGIC): New constant.
26463 (grub_module_info): New structure.
26464 (grub_arch_modules_addr): New prototype.
26465 (grub_get_end_addr): Remove prototype.
26466 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
26467 * include/grub/powerpc/ieee1275/kernel.h: New file.
26468 * include/grub/util/misc.h (grub_util_get_fp_size): New
26469 prototype.
26470 (grub_util_read_at): Likewise.
26471 (grub_util_write_image_at): Likewise.
26472 * kern/main.c (grub_get_end_addr): Remove function.
26473 (grub_load_modules): Call grub_arch_modules_addr instead of using
26474 grub_end_addr. Look for a grub_module_info struct in memory. Use
26475 the grub_module_info fields instead of calling grub_get_end_addr
26476 as loop conditions. Move grub_add_unused_region code here.
26477 (grub_add_unused_region): Remove function.
26478 * kern/i386/pc/init.c: Include grub/cache.h.
26479 (grub_machine_init): Remove call to grub_get_end_addr. Remove
26480 one call to add_mem_region.
26481 (grub_arch_modules_addr): New function.
26482 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
26483 (grub_total_module_size): Likewise.
26484 Include grub/machine/kernel.h.
26485 (grub_arch_modules_addr): New function.
26486 * util/grub-emu.c (grub_end_addr): Remove variable.
26487 (grub_total_module_size): Likewise.
26488 (grub_arch_modules_addr): New function.
26489 * util/misc.c: Include unistd.h.
26490 (grub_util_get_fp_size): New function.
26491 (grub_util_read_at): Likewise.
26492 (grub_util_write_image_at): Likewise.
26493 (grub_util_read_image): Call grub_util_read_at.
26494 (grub_util_write_image): Call grub_util_write_image_at.
26495 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
26496 additional memory in kernel_img for a struct grub_module_info.
26497 Fill in that grub_module_info.
26498 * util/powerpc/ieee1275/grub-mkimage.c: New file.
26499
458786f8 265002005-01-03 Hollis Blanchard <hollis@penguinppc.org>
26501
26502 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
26503 New function.
26504 * include/grub/powerpc/ieee1275/ieee1275.h
26505 (grub_ieee1275_milliseconds): New prototype.
26506 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
26507 Change to 1000.
26508 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
26509 grub_ieee1275_milliseconds.
26510
ac507d1b 265112005-01-03 Hollis Blanchard <hollis@penguinppc.org>
26512
26513 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
26514 variable.
26515 (find_options): New function.
26516 (cmain): Call find_options.
26517 * include/grub/powerpc/ieee1275/ieee1275.h
26518 (grub_ieee1275_realmode): New extern variable.
26519 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
26520 grub_map if grub_ieee1275_realmode is false.
26521
6b8fd1c4 265222004-12-29 Marco Gerards <metgerards@student.han.nl>
26523
26524 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
26525 lines are inserted and make it work like readline. Reported by
26526 Vincent Pelletier <subdino2004@yahoo.fr>.
26527
8514a1e0 265282004-12-28 Marco Gerards <metgerards@student.han.nl>
26529
26530 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
26531
26532 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
26533 `kern/powerpc/cache.S'.
26534
924b6140 265352004-12-27 Marco Gerards <metgerards@student.han.nl>
26536
26537 * genmk.rb: Handle the `Program' class in the main loop. Written
26538 by Johan Rydberg <jrydberg@gnu.org>.
26539 (Program): New class.
26540 (programs): New variable.
26541 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
26542 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
26543 instead of "grub/kernel.h". Include <grub/machine/init.h>.
26544 (help_arch): Function removed.
26545 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
26546 `powerpc/libgcc.h' and `loader.h'.
26547 (pkgdata_PROGRAMS): New variable.
26548 (sbin_UTILITIES): Variable removed.
26549 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
26550 (grubof_SOURCES): Variable re-defined so it only includes the
26551 core functionality.
26552 (grubof_CFLAGS): Remove `-DGRUBOF'.
26553 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
26554 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
26555 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
26556 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
26557 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
26558 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
26559 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
26560 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
26561 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
26562 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
26563 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
26564 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
26565 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
26566 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
26567 (pc_mod_CFLAGS): New variables.
26568 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
26569 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
26570 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
26571 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
26572 Moved from here...
26573 * include/grub/i386/pc/init.h (grub_os_area_addr)
26574 (rub_os_area_size): ... to here.
26575 * include/grub/powerpc/ieee1275/ieee1275.h
26576 (grub_ieee1275_entry_fn): Export symbol.
26577 * include/grub/powerpc/ieee1275/init.h: New file.
26578 * include/grub/powerpc/libgcc.h: Likewise.
26579 * include/grub/cache.h: Likewise.
26580 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
26581 <hollis@penguinppc.org>.
26582 * kern/dl.c: Include <grub/cache.h>.
26583 (grub_dl_flush_cache): New function.
26584 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
26585 for this module.
26586 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
26587 (grub_console_init): Removed prototypes.
26588 (grub_machine_init): Don't initialize the modules anymore.
26589 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
26590 static.
26591 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
26592 Macro undef removed.
26593 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
26594 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
26595 relocation `R_PPC_REL32'. Return an error when the relocation is
26596 unknown.
26597 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
26598 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
26599 * util/misc.c (grub_arch_sync_caches): Likewise.
26600
e4b47e0c 266012004-12-19 Marco Gerards <metgerards@student.han.nl>
26602
26603 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
26604 `symlist.c', add `grubof_symlist.c'.
26605 (symlist.c): Variable removed.
26606 (grubof_HEADERS): Variable added.
26607 (grubof_symlist.c): New target.
26608 (kernel_syms.lst): Use `grubof_HEADERS' instead of
26609 `kernel_img_HEADERS'.
26610 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
26611 * kern/powerpc/dl.c: New file.
26612 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
26613 Function removed.
26614 (grub_arch_dl_relocate_symbols): Likewise.
26615 (grub_register_exported_symbols): Likewise.
26616
4ceb3636 266172004-12-13 Marco Gerards <metgerards@student.han.nl>
26618
26619 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
26620 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
26621 to fail instead. Reported by Vincent Pelletier
26622 <subdino2004@yahoo.fr>.
26623
26624 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
26625 it is not allocated. Reported by Vincent Pelletier
26626 <subdino2004@yahoo.fr>.
26627
26628 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
26629 output so the output looks better.
f19dbdb7 26630
3f1578fe 266312004-12-04 Marco Gerards <metgerards@student.han.nl>
26632
26633 Modulize the partition map support and add support for the amiga
26634 partition map.
f19dbdb7 26635
3f1578fe 26636 * commands/ls.c: Include <grub/partition.h> instead of
26637 <grub/machine/partition.h>.
26638 * kern/disk.c: Likewise.
26639 * kern/rescue.c: Likewise.
26640 * loader/i386/pc/chainloader.c: Likewise.
26641 * normal/cmdline.c: Likewise.
26642 * kern/powerpc/ieee1275/init.c: Likewise.
26643 (grub_machine_init): Call `grub_pc_partition_map_init',
26644 `grub_amiga_partition_map_init' and
26645 `grub_apple_partition_map_init'.
26646 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
26647 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
26648 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
26649 `partition.h' and `pc_partition.h'.
26650 (grub_setup_SOURCES): Remove
26651 `disk/i386/pc/partition.c'. Add `kern/partition.c',
26652 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
26653 (grub_emu_SOURCES): Likewise.
26654 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
26655 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
26656 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
26657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
26658 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
26659 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
26660 (grubof_SOURCES): Likewise.
26661 * disk/i386/pc/partition.c: File removed.
26662 * disk/powerpc/ieee1275/partition.c: Likewise.
26663 * include/grub/powerpc/ieee1275/partition.h: Likewise.
26664 * include/grub/i386/pc/partition.h: Likewise.
26665 * kern/partition.c: New file.
26666 * partmap/amiga.c: Likewise.
26667 * partmap/apple.c: Likewise.
26668 * partmap/pc.c: Likewise.
26669 * include/grub/partition.h: Likewise..
26670 * include/grub/pc_partition.h: Likewise.
26671 * util/grub-emu.c: Include <grub/partition.h> instead of
26672 <grub/machine/partition.h>.
26673 (main): Call `grub_pc_partition_map_init',
26674 `grub_amiga_partition_map_init' and
26675 `grub_apple_partition_map_init' and deinitialize afterwards.
26676 * util/i386/pc/biosdisk.c: Include `#include
26677 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
26678 `<grub/machine/partition.h>'.
26679 * util/i386/pc/grub-setup.c: Likewise.
26680 * util/i386/pc/biosdisk.c: Likewise.
26681 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
26682 partition information in case of a PC partition.
26683 * util/i386/pc/grub-setup.c: Include `#include
26684 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
26685 `<grub/machine/partition.h>'.
26686 (setup): Only access the PC specific partition information in case
26687 of a PC partition.
26688
0ef4ced9 266892004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 26690
0ef4ced9 26691 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
26692 (grub_longjmp): Likewise.
26693 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
26694 20.
26695 * normal/powerpc/setjmp.S: New file.
26696 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
26697 `normal/powerpc/setjmp.S'.
26698 (grubof_CFLAGS): Add `-DGRUBOF'.
26699 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
26700 [GRUB_UTIL && !GRUBOF].
f19dbdb7 26701
19950e29 267022004-11-16 Marco Gerards <metgerards@student.han.nl>
26703
26704 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
26705 property named `name'. Correctly handle the error returned by
26706 `grub_ieee1275_finddevice' if a device can not be opened.
26707
a2fea427 267082004-11-02 Hollis Blanchard <hollis@penguinppc.org>
26709
26710 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
26711 `actual' for negativity.
26712 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
26713 kern/fshelp.c.
26714
41ea0ea3 267152004-11-01 Marco Gerards <metgerards@student.han.nl>
26716
26717 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
26718 (PAGE_OFFSET): New macro.
26719 (CRTC_ADDR_PORT): Likewise.
26720 (CRTC_DATA_PORT): Likewise.
26721 (START_ADDR_HIGH_REGISTER): Likewise.
26722 (START_ADDR_LOW_REGISTER): Likewise.
26723 (GRAPHICS_ADDR_PORT): Likewise.
26724 (GRAPHICS_DATA_PORT): Likewise.
26725 (READ_MAP_REGISTER): Likewise.
26726 (INPUT_STATUS1_REGISTER): Likewise.
26727 (INPUT_STATUS1_VERTR_BIT): Likewise.
26728 (page): New variable.
26729 (wait_vretrace): New function.
26730 (set_read_map): Likewise.
26731 (set_start_address): Likewise.
26732 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
26733 the right page.
26734 (check_vga_mem): Take the page into account.
26735 (write_char): Likewise.
26736 (write_cursor): Likewise.
26737 (scroll_up): Likewise. Copy the page to the page that is not
26738 shown and switch between both pages.
26739 (grub_vga_putchar): Fix off by one error.
26740 (grub_vga_cls): Wait for the vertical retrace. Take the page into
26741 account.
26742
ad0bd20b 267432004-11-01 Marco Gerards <metgerards@student.han.nl>
26744
26745 Add support for iso9660 (including rockridge).
f19dbdb7 26746
ad0bd20b 26747 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
26748 (iso9660_mod_SOURCES): New variable.
26749 (iso9660_mod_CFLAGS): Likewise.
26750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
26751 * include/grub/fs.h (grub_iso9660_init): New prototype.
26752 * util/grub-emu.c (main): Call `grub_iso9660_init'.
26753 * fs/iso9660.c: New file.
26754
26755 * include/grub/misc.h (grub_strncat): New prototype.
26756 * kern/misc.c (grub_strncat): New function.
f19dbdb7 26757
ad0bd20b 26758 * fs/hfs.c (grub_hfs_mount): Translate the error
26759 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
26760 * fs/jfs.c (grub_jfs_mount): Likewise.
26761 * fs/ufs.c (grub_ufs_mount): Likewise.
26762
a5477a59 267632004-10-28 Hollis Blanchard <hollis@penguinppc.org>
26764
26765 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
26766 which initialized BAT registers.
26767 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
26768 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
26769 Move from here...
26770 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
26771 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
26772 ... to here.
26773 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
26774 (grub_mapclaim): Likewise.
26775 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
26776 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
26777 hand.
26778
9304c1f8 267792004-10-19 Hollis Blanchard <hollis@penguinppc.org>
26780
26781 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
26782 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
26783 -ffreestanding and -msoft-float.
26784
86f4ae25 267852004-10-15 Hollis Blanchard <hollis@penguinppc.org>
26786
26787 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
26788 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
26789 set in grub_ieee1275_flags.
26790
38912228 267912004-10-14 Hollis Blanchard <hollis@penguinppc.org>
26792
26793 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
26794 prototype.
26795 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
26796 grub_console_init first.
26797 Change the memory range used for grub_ieee1275_claim and
26798 grub_mm_init_region.
26799 Print an error message if the claim fails.
26800 Include <grub/misc.h>.
26801
d1923dc8 268022004-10-13 Hollis Blanchard <hollis@penguinppc.org>
26803
26804 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
26805 Call grub_children_iterate for device nodes of type `scsi',
26806 `ide', or `ata'.
26807 (grub_ofdisk_open): Remove manual device alias resolution.
26808 Fix memory leak when device cannot be opened.
f19dbdb7 26809 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 26810 (grub_children_iterate): New prototype.
26811 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
26812 New function.
26813 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26814 Return -1 if args.size was -1.
26815
4512e4f3 268162004-10-11 Hollis Blanchard <hollis@penguinppc.org>
26817
26818 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
26819 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
26820 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
26821 Open Firmware's memory for it; claim memory from _start to _end.
26822 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
26823 (_end): New extern.
26824 (_start): Zero BSS from __bss_start to _end.
26825 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
26826 New extern.
26827 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
26828
4d61feb0 268292004-10-11 Hollis Blanchard <hollis@penguinppc.org>
26830
ad0bd20b 26831 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
26832 -1 if args.base was -1.
4d61feb0 26833
026fa2f9 268342004-10-08 Hollis Blanchard <hollis@penguinppc.org>
26835
26836 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
26837 escape sequence instead of a literal ^L. Also call
26838 grub_ofconsole_gotoxy.
26839
9f2220ef 268402004-10-03 Hollis Blanchard <hollis@penguinppc.org>
26841
26842 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
26843 void * arguments to grub_addr_t. All callers updated. Also make
26844 the `result' argument optional.
26845 (grub_ieee1275_release): change void * arguments to grub_addr_t.
26846 All callers updated.
26847
8a572cd7 268482004-09-22 Hollis Blanchard <hollis@penguinppc.org>
26849
26850 * commands/ls.c (grub_ls_list_files): Use the string following the
26851 initial ')', if present, as the filesystem path.
26852 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
26853
26854 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
26855
18aa81f2 268562004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
26857
26858 Make the source code of the menu interface more readable.
f19dbdb7 26859
18aa81f2 26860 * normal/menu.c: Include grub/mm.h.
26861 (TERM_WIDTH): New macro.
26862 (TERM_HEIGHT): Likewise.
26863 (TERM_INFO_HEIGHT): Likewise.
26864 (TERM_MARGIN): Likewise.
26865 (TERM_SCROLL_WIDTH): Likewise.
26866 (TERM_TOP_BORDER_Y): Likewise.
26867 (TERM_LEFT_BORDER_X): Likewise.
26868 (TERM_BORDER_WIDTH): Likewise.
26869 (TERM_MESSAGE_HEIGHT): Likewise.
26870 (TERM_BORDER_HEIGHT): Likewise.
26871 (TERM_NUM_ENTRIES): Likewise.
26872 (TERM_FIRST_ENTRY_Y): Likewise.
26873 (TERM_ENTRY_WIDTH): Likewise.
26874 (TERM_CURSOR_X): Likewise.
26875 (draw_border): Use macros instead of magic numbers.
26876 (print_entry): Likewise.
26877 (print_entries): Likewise.
26878 (run_menu): Likewise. Also, handle the key 'e'.
26879 (run_menu_entry): Ignore empty command lines.
26880 (print_message): Added a new argument EDIT. If EDIT is true,
26881 print a different message.
26882 (init_page): Likewise.
26883 (edit_menu_entry): New function. Not implemented yet.
26884
b47efe30 268852004-09-17 Marco Gerards <metgerards@student.han.nl>
26886
26887 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
26888 can be loaded from normal mode.
f19dbdb7 26889
b47efe30 26890 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
26891 `multiboot.mod'.
26892 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
26893 (multiboot_mod_CFLAGS): New variables.
26894 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 26895 * loader/i386/pc/multiboot_normal.c: Likewise.
26896
b47efe30 26897 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
26898 attribute `unused'.
f19dbdb7 26899
b47efe30 26900 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
26901 `fdiro' to read the mode information from instead of `diro'.
26902
26903 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
26904 looking up a symlink.
26905
26906 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
26907 macro.
26908 * normal/command.c (grub_command_execute): Don't parse the
26909 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
26910 flags of the command.
26911
26912 * normal/menu.c (grub_menu_run): Fix typo.
26913
da75ac71 269142004-09-14 Hollis Blanchard <hollis@penguinppc.org>
26915
26916 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
26917
26918 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
26919 `y + 1' instead of `y - 1'.
26920
26921 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 26922
062b24c2 269232004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
26924
26925 From Hollis Blanchard <hollis@penguinppc.org>:
26926 * kern/misc.c (memmove): New alias for grub_memmove.
26927 (memcmp): New alias for grub_memcmp.
26928 (memset): New alias for grub_memset.
f19dbdb7 26929 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 26930 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 26931 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 26932 (grub_ieee1275_get_property): Likewise.
f19dbdb7 26933
8ddad845 269342004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
26935
26936 Added normal mode command `chainloader' as module chain.mod, which
26937 depends on normal.mod and _chain.mod.
f19dbdb7 26938
8ddad845 26939 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
26940 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
26941 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
26942 Deleted prototype.
26943 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
26944 but arguments parsing moved to ...
26945 (grub_chainloader_cmd): ... here. New function.
26946 * include/grub/i386/pc/chainloader.h: New file.
26947 * loader/i386/pc/chainloader_normal.c: Likewise.
26948
2c1f4ce3 269492004-09-11 Marco Gerards <metgerards@student.han.nl>
26950
26951 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
26952 (grub_mkimage_LDFLAGS): Likewise.
26953 (grub_emu_SOURCES): Likewise.
26954 (kernel_img_HEADERS): Added fshelp.h.
26955 * fs/ext2.c: Include <grub/fshelp.h>.
26956 (FILETYPE_REG): New macro.
26957 (FILETYPE_INO_REG): Likewise.
26958 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
26959 Changed all users.
26960 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
26961 all users.
26962 (grub_fshelp_node): New struct.
26963 (grub_ext2_data): Added member `diropen'. Changed member `inode'
26964 to a pointer.
26965 (grub_ext2_get_file_block): Removed function.
26966 (grub_ext2_read_block): New function.
26967 (grub_ext2_read_file): Replaced parameter `data' by `node'.
26968 This function was written.
26969 (grub_ext2_mount): Read the root inode. Create a diropen struct.
26970 (grub_ext2_find_file): Removed function.
26971 (grub_ext2_read_symlink): New function.
26972 (grub_ext2_iterate_dir): Likewise.
26973 (grub_ext2_open): Rewritten.
26974 (grub_ext2_dir): Rewritten.
26975 * include/grub/fshelp.h: New file.
26976 * fs/fshelp.c: Likewise.
26977
3c52136a 269782004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
26979
26980 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
26981 (print_message): Add a missing newline.
26982 (run_menu): Added timeout support.
26983 (run_menu_entry): New local function.
26984 (grub_menu_run): Added support for booting.
26985
26986 * kern/loader.c (grub_loader_is_loaded): New function.
26987
26988 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
26989 (grub_get_rtc): Exported.
26990
26991 * include/grub/i386/pc/time.h: Include grub/symbol.h.
26992 (grub_get_rtc): Exported.
26993
26994 * include/grub/normal.h (struct grub_command_list): Remove
26995 constant from the member `command'.
26996
26997 * include/grub/loader.h (grub_loader_is_loaded): Declared.
26998
26999 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
27000
27001 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
27002
aa033560 270032004-08-28 Marco Gerards <metgerards@student.han.nl>
27004
27005 Add support for the JFS filesystem.
27006
27007 * fs/jfs.c: New file.
27008 * include/grub/fs.h (grub_jfs_init): New prototype.
27009 (grub_jfs_fini): New prototype.
27010 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
27011 (grub_emu_SOURCES): Likewise.
27012 (pkgdata_MODULES): Add jfs.mod.
27013 (jfs_mod_SOURCES): New variable.
27014 (jfs_mod_CFLAGS): Likewise.
27015 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
27016 (grubof_SOURCES): Likewise.
27017 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
27018
27019 * fs/fat.c (grub_fat_find_dir): Convert the filename little
27020 endian to the host endian.
27021 (grub_fat_utf16_to_utf8): Move function from there...
27022 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 27023 the endianness of the source string anymore.
aa033560 27024 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
27025
94bc45af 270262004-08-24 Marco Gerards <metgerards@student.han.nl>
27027
27028 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
27029 (grub_boot_fini) [GRUB_UTIL]: Likewise.
27030 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
27031 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 27032
94bc45af 27033 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
27034 (grub_hfs_iterate_dir): Make the function static. Add prototypes
27035 for `node_found' and `it_dir'.
27036 (grub_hfs_dir): Add prototype for `dir_hook'.
27037
27038 * fs/minix.c (grub_minix_get_file_block): Add prototype for
27039 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
27040 and `indir32' to silence a gcc warning.
27041
27042 * include/grub/fs.h (grub_hfs_init): New prototype.
27043 (grub_hfs_fini): Likewise.
f19dbdb7 27044
27045
97543f08 270462004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
27047
27048 Each disk device has its own id now. This is useful to make use
27049 of multiple disk devices.
f19dbdb7 27050
97543f08 27051 * include/grub/disk.h (grub_disk_dev_id): New enum.
27052 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
27053 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
27054
27055 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
27056 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27057
27058 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
27059 GRUB_DISK_DEVICE_OFDISK_ID as an id.
27060
27061 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
27062 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27063
27064 * include/grub/disk.h (struct grub_disk_dev): Added a new member
27065 "id" which is used by the cache manager.
27066
27067 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
27068 of just "GRUB".
27069
64372eb4 270702004-08-18 Marco Gerards <metgerards@student.han.nl>
27071
27072 * fs/hfs.c: New file.
27073 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
27074 (grub_emu_SOURCES): Likewise.
27075 (pkgdata_MODULES): Add hfs.mod.
27076 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
27077 (grubof_SOURCES): Likewise.
27078 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
27079
27080 * include/grub/misc.h (grub_strncasecmp): Add prototype.
27081 * kern/misc.c (grub_strncasecmp): Add function.
27082
cc61b58f 270832004-08-14 Marco Gerards <metgerards@student.han.nl>
27084
27085 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
27086 with parentheses.
27087
27088 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
27089 (grub_ext2_dir): In case the directory entry type is unknown, read
27090 it from the inode.
27091
0ef123f6 270922004-08-02 Peter Bruin <pjbruin@dds.nl>
27093
27094 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
27095 grub_load_linux instead of grub_rescue_cmd_linux as second
27096 argument of grub_rescue_register_command.
27097
27098 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
27099
a447c5df 271002004-07-27 Marco Gerards <metgerards@student.han.nl>
27101
27102 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
27103 function.
27104 * commands/boot.c: Remove the check for `GRUB_UTIL'.
27105 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27106 `loader/powerpc/ieee1275/linux.c',
27107 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
27108 * include/grub/powerpc/ieee1275/ieee1275.h
27109 (grub_ieee1275_release): New prototype.
27110 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
27111 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
27112 normal, boot, linux and linux_normal.
27113 * loader/powerpc/ieee1275/linux.c: New file.
27114 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27115
5a9e3546 271162004-07-12 Marco Gerards <metgerards@student.han.nl>
27117
27118 * normal/arg.c (grub_arg_parse): Correct error handling after
27119 reallocating the argumentlist (check if `argl' is not null instead
27120 of checking if `args' is not null).
27121 * kern/mm.c (grub_realloc): Return the same pointer when using the
27122 same region, instead of returning the header address.
27123
e15199cb 271242004-07-11 Marco Gerards <metgerards@student.han.nl>
27125
27126 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
27127 one block instead of two when looking for the initial partition.
27128 (grub_partition_probe): Initialize the local variable `p' with 0.
27129 Use base 10 for the grub_strtoul call.
27130 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
27131 need for one local variable.
27132 (grub_strtoul): Don't add the new value to `num', instead of that
27133 just assign it.
27134
020616c2 271352004-07-11 Marco Gerards <metgerards@student.han.nl>
27136
27137 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
27138 (pxeboot_img_SOURCES): New variable.
27139 (pxeboot_img_ASFLAGS): Likewise.
27140 (pxeboot_img_LDFLAGS): Likewise.
27141 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
27142 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
27143 <lode_leroy@hotmail.com>.
27144
6c51eb64 271452004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27146
27147 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
27148 there was no input.
27149
cfb12aff 271502004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27151
27152 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
27153 the history buffer logic.
27154
6eabba74 271552004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27156
27157 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
27158 (FILETYPE_INO_SYMLINK): New macros.
27159 (grub_ext2_find_file): Check if the node is a directory using the
27160 inode stat information instead of using the filetype in the
27161 dirent. Exclude the first character of an absolute symlink.
27162 (grub_ext2_dir): Mask out the filetype part of the mode member of
27163 the inode.
27164
66e19ef8 271652004-05-24 Marco Gerards <metgerards@student.han.nl>
27166
27167 Add support for UFS version 1 and 2. Add support for the minix
27168 filesystem version 1 and 2, both the variants with 14 and 30 long
27169 filenames.
f19dbdb7 27170
66e19ef8 27171 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
27172 fs/minix.c.
27173 (grub_emu_SOURCES): Likewise.
27174 (pkgdata_MODULES): Add ufs.mod and minix.mod.
27175 (ufs_mod_SOURCES): New variable.
27176 (ufs_mod_CFLAGS): Likewise.
27177 (minix_mod_SOURCES): Likewise.
27178 (minix_mod_CFLAGS): Likewise.
27179 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
27180 fs/minix.c.
27181 (grubof_SOURCES): Likewise.
27182 * fs/ufs.c: New file.
27183 * fs/minix.c: New file.
27184 * include/grub/fs.h (grub_ufs_init): New prototype.
27185 (grub_ufs_fini): Likewise.
27186 (grub_minix_init): Likewise.
27187 (grub_minix_fini): Likewise.
27188 * util/grub-emu.c (main): Initialize and deinitialize UFS and
27189 minix fs.
27190
cc2e748a 271912004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
27192
27193 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
27194 commands/ls.c, commands/terminal.c, commands/boot.c,
27195 commands/cmp.c and commands/cat.c.
27196 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
27197
27198 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
27199 "env.h"
27200
4b13b216 272012004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27202
27203 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
27204 and grub_, respectively. Because the conversion is trivial and
27205 mechanical, I omit the details here. Please refer to the CVS
27206 if you need more information.
27207
6a142551 272082004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27209
27210 * include/pupa: Renamed to ...
27211 * include/grub: ... this.
27212 * util/i386/pc/pupa-mkimage.c: Renamed to ...
27213 * util/i386/pc/grub-mkimage.c: ... this.
27214 * util/i386/pc/pupa-setup.c: Renamed to ...
27215 * util/i386/pc/grub-setup.c: ... this.
27216 * util/pupa-emu.c: Renamed to ...
27217 * util/grub-emu.c: ... this.
27218
e56cdf21 272192004-03-29 Marco Gerards <metgerards@student.han.nl>
27220
27221 Add support for the newworld apple macintosh (PPC). This has been
27222 tested on the powerbook 2000 only. It only adds support for
27223 generic ieee1275 functions, console and disk support. This should
27224 be easy to port to other architectures with support for Open
27225 Firmware.
f19dbdb7 27226
e56cdf21 27227 * configure.ac: Accept the powerpc as host_cpu. In the case of
27228 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
27229 specific tests are only executed while building for the i386.
27230 Inverse test for crosscompile.
27231 * genmk.rb (Utility): Allow assembler files.
27232 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
27233 * conf/powerpc-ieee1275.rmk: New file.
27234 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
27235 * disk/powerpc/ieee1275/partition.c: Likewise.
27236 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
27237 * include/pupa/powerpc/ieee1275/console.h: Likewise.
27238 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
27239 * include/pupa/powerpc/ieee1275/time.h: Likewise.
27240 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
27241 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
27242 * include/pupa/powerpc/ieee1275/loader.h
27243 * include/pupa/powerpc/setjmp.h: Likewise.
27244 * include/pupa/powerpc/types.h: Likewise.
27245 * kern/powerpc/ieee1275/init.c: Likewise.
27246 * kern/powerpc/ieee1275/openfw.c: Likewise.
27247 * term/powerpc/ieee1275/ofconsole.c: Likewise.
27248
27249 These files were written by Johan Rydberg
27250 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 27251
e56cdf21 27252 * boot/powerpc/ieee1275/cmain.c: New file.
27253 * boot/powerpc/ieee1275/crt0.S: Likewise.
27254 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
27255 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
27256
8c8cc205 272572004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
27258
27259 * Makefile.in: Update copyright.
27260 * genmodsrc.sh: Likewise.
27261 * gensymlist.sh: Likewise.
27262 * term/i386/pc/vga.c: Indent correctly.
27263
27264 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
27265 bugreporting address.
27266 * util/i386/pc/pupa-setup.c (usage): Likewise,
27267 (main): Call pupa_ext2_init and pupa_ext2_fini.
27268
f19dbdb7 27269 * fs/fat.c (log2): Renamed to ...
8c8cc205 27270 (fat_log2): ... this.
27271 All callers changed.
27272 * kern/misc.c (memcpy): Alias to pupa_memmove.
27273 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
27274 lvalue cast.
27275 * util/console.c (pupa_ncurses_fini): Return 0.
27276
27277 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
27278 Move fail label here.
27279 [__GNU__]: Don't warn when using stat.
27280 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
27281 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
27282 long int. Use strtol instead of strtoul.
f19dbdb7 27283
db1771cf 272842004-03-14 Marco Gerards <metgerards@student.han.nl>
27285
27286 * commands/boot.c: New file.
27287 * commands/cat.c: Likewise.
27288 * commands/cmp.c: Likewise.
27289 * commands/ls.c: Likewise.
27290 * commands/terminal.c: Likewise.
27291 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
27292 (pupa_register_command): Changed interface to match the new
27293 argument parser.
27294 (pupa_command_execute): Changed (almost rewritten) so it uses
27295 pupa_split_command. Added support for setting variables using the
27296 syntax `foo=bar'.
27297 (rescue_command): Changed to work with the new argument parser.
27298 (terminal_command): Moved from here to commands/terminal.c.
27299 (set_command): New function.
27300 (unset_command): New function.
27301 (insmod_command): New function.
27302 (rmmod_command): New function.
27303 (lsmod_command): New function.
27304 (pupa_command_init): Don't initialize the command terminal
27305 anymore. Initialize the commands set, unset, insmod, rmmod and
27306 lsmod.
27307 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
27308 (kernel_img_HEADERS): Add arg.h and env.h.
27309 (pupa_mkimage_LDFLAGS): Add kern/env.c.
27310 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
27311 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
27312 normal/arg.c.
27313 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
27314 terminal.mod.
27315 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
27316 (boot_mod_SOURCES): New variable.
27317 (terminal_mod_SOURCES): Likewise.
27318 (ls_mod_SOURCES): Likewise.
27319 (cmp_mod_SOURCES): Likewise.
27320 (cat_mod_SOURCES): Likewise.
27321
27322 * normal/arg.c: New file.
27323 * kern/env.c: Likewise.
27324 * include/pupa/arg.h: Likewise.
27325 * include/pupa/env.h: Likewise.
27326 * font/manager.c (font_command): Changed to match argument parsing
27327 interface changes.
27328 (PUPA_MOD_INIT): Likewise.
27329 * hello/hello.c (pupa_cmd_hello): Likewise.
27330 (PUPA_MOD_INIT): Likewise.
27331 * include/pupa/disk.h: Include <pupa/device.h>.
27332 (pupa_print_partinfo): New prototype.
27333 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
27334 (pupa_dl_get_prefix): Likewise.
27335 * include/pupa/misc.h: Include <pupa/err.h>.
27336 (pupa_isgraph): New prototype.
27337 (pupa_isdigit): Likewise.
27338 (pupa_split_cmdline): Likewise.
27339 * include/pupa/normal.h: Include <pupa/arg.h>.
27340 (pupa_command): Changed the prototype of the member `func' to
27341 match the argument parsing interface. Added member `options'.
27342 (pupa_register_command): Updated to match function.
27343 (pupa_arg_parse): New prototype.
27344 (pupa_hello_init) [PUPA_UTIL]: New prototype.
27345 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
27346 (pupa_ls_init) [PUPA_UTIL]: Likewise.
27347 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
27348 (pupa_cat_init) [PUPA_UTIL]: Likewise.
27349 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
27350 (pupa_boot_init) [PUPA_UTIL]: Likewise.
27351 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
27352 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
27353 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
27354 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
27355 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
27356 * kern/disk.c: Include <pupa/file.h>.
27357 (pupa_print_partinfo): New function.
27358 * kern/dl.c: Include <pupa/env.h>.
27359 (pupa_dl_dir): Variable removed.
27360 (pupa_dl_load): Use the environment variable `prefix' instead of
27361 the variable pupa_dl_dir.
27362 (pupa_dl_set_prefix): Function removed.
27363 (pupa_dl_get_prefix): Likewise.
27364 * kern/i386/pc/init.c: Include <pupa/env.h>.
27365 (pupa_machine_init): Use the environment variable `prefix' instead of
27366 using pupa_dl_set_prefix to set the prefix.
27367 * kern/main.c: Include <pupa/env.h>.
27368 (pupa_set_root_dev): Use the environment variable `prefix' instead of
27369 using pupa_dl_get_prefix to get the prefix.
27370 * kern/misc.c: Include <pupa/env.h>.
27371 (pupa_isdigit): New function.
27372 (pupa_isgraph): Likewise.
27373 (pupa_ftoa): Likewise.
27374 (pupa_vsprintf): Added support for printing values of the type
27375 `double'. Make it possible to format variable output when using
27376 formatting like `%1.2%f'.
27377 (pupa_split_cmdline): New function.
27378 * kern/rescue.c: Include <pupa/env.h>.
27379 (next_word): Removed function.
27380 (pupa_rescue_cmd_prefix): Likewise.
27381 (pupa_rescue_cmd_set): New function.
27382 (pupa_rescue_cmd_unset): New function.
27383 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
27384 split the command line instead of splitting it here. Added
27385 support for setting variables using the syntax `foo=bar'. Don't
27386 initialize the prefix command anymore. Initialized the set and
27387 unset commands.
27388 * normal/cmdline.c: Include <pupa/env.h>.
27389 (pupa_tab_complete): Added prototypes for print_simple_completion,
27390 print_partition_completion, add_completion, iterate_commands,
27391 iterate_dev, iterate_part and iterate_dir. Moved code to print
27392 partition information from here to kern/disk.c.
fe6b695a 27393 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 27394 * normal/main.c: Include <pupa/env.h>.
27395 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
27396 instead of using pupa_dl_get_prefix to get the prefix.
27397 * term/i386/pc/vga.c: Include <pupa/arg.h>.
27398 (check_vga_mem): Cast pointers to `void *' to silence a gcc
27399 warning.
27400 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
27401 (pupa_vga_setcolor): Declare unused variables with `__attribute__
27402 ((unused))' to silence a gcc warning.
27403 (pupa_vga_setcolor): Likewise.
27404 (debug_command): Changed to match argument parsing
27405 interface changes.
27406 * util/pupa-emu.c: Include <pupa/env.h>.
27407 (options): Added 0's for unused fields to silence a gcc warning.
27408 (argp): Likewise.
27409 (main): Use the environment variable `prefix' instead of using
27410 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
27411 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
27412 and terminal.
27413
27414 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
27415 * util/misc.c: Include <malloc.h>.
27416 (pupa_malloc): Rewritten so errors are correctly reported.
27417 (pupa_realloc): Likewise.
27418 (pupa_memalign): Likewise.
27419 (pupa_mm_init_region): Declare unused variables with
27420 `__attribute__ ((unused))' to silence a gcc warning.
27421 * normal/i386/setjmp.S: Remove tab at the end of the file to
27422 silence a gcc warning.
27423 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
27424 variables with `__attribute__ ((unused))' to silence a gcc
27425 warning.
27426 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
27427 local variable i unsigned to silence a gcc warning.
27428
27429 * kern/term.c: Include <pupa/misc.h>.
27430 (pupa_more_lines): New variable.
27431 (pupa_more): Likewise.
27432 (pupa_putcode): When the pager is active pause at the end of every
27433 screen.
27434 (pupa_set_more): New function.
27435 * include/pupa/term.h (pupa_set_more): New prototype.
27436
27437
3b1139cb 274382004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
27439
27440 Now this project is GRUB 2 rather than PUPA. The location of
27441 the CVS repository was moved to GRUB's.
f19dbdb7 27442
3b1139cb 27443 * configure.ac: Use bug-grub as the reporting address.
27444 Use GRUB instead of PUPA.
27445 Change the version number to 1.90.
27446
8367695c 274472004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
27448
27449 * genkernsyms.sh: Updated copyright information.
27450 * genmk.rb: Likewise.
27451 * genmodsrc.sh: Likewise.
27452 * gensymlist.sh: Likewise.
27453 * boot/i386/pc/boot.S: Likewise.
27454 * boot/i386/pc/diskboot.S: Likewise.
27455 * disk/i386/pc/biosdisk.c: Likewise.
27456 * disk/i386/pc/partition.c: Likewise.
27457 * font/manager.c: Likewise.
27458 * fs/ext2.c: Likewise.
27459 * fs/fat.c: Likewise.
27460 * include/pupa/boot.h: Likewise.
27461 * include/pupa/device.h: Likewise.
27462 * include/pupa/disk.h: Likewise.
27463 * include/pupa/dl.h: Likewise.
27464 * include/pupa/elf.h: Likewise.
27465 * include/pupa/err.h: Likewise.
27466 * include/pupa/file.h: Likewise.
27467 * include/pupa/font.h: Likewise.
27468 * include/pupa/fs.h: Likewise.
27469 * include/pupa/kernel.h: Likewise.
27470 * include/pupa/loader.h: Likewise.
27471 * include/pupa/misc.h: Likewise.
27472 * include/pupa/mm.h: Likewise.
27473 * include/pupa/net.h: Likewise.
27474 * include/pupa/normal.h: Likewise.
27475 * include/pupa/rescue.h: Likewise.
27476 * include/pupa/setjmp.h: Likewise.
27477 * include/pupa/symbol.h: Likewise.
27478 * include/pupa/term.h: Likewise.
27479 * include/pupa/types.h: Likewise.
27480 * include/pupa/i386/setjmp.h: Likewise.
27481 * include/pupa/i386/types.h: Likewise.
27482 * include/pupa/i386/pc/biosdisk.h: Likewise.
27483 * include/pupa/i386/pc/boot.h: Likewise.
27484 * include/pupa/i386/pc/console.h: Likewise.
27485 * include/pupa/i386/pc/init.h: Likewise.
27486 * include/pupa/i386/pc/kernel.h: Likewise.
27487 * include/pupa/i386/pc/linux.h: Likewise.
27488 * include/pupa/i386/pc/loader.h: Likewise.
27489 * include/pupa/i386/pc/memory.h: Likewise.
27490 * include/pupa/i386/pc/multiboot.h: Likewise.
27491 * include/pupa/i386/pc/partition.h: Likewise.
27492 * include/pupa/i386/pc/time.h: Likewise.
27493 * include/pupa/i386/pc/vga.h: Likewise.
27494 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
27495 * include/pupa/util/getroot.h: Likewise.
27496 * include/pupa/util/misc.h: Likewise.
27497 * include/pupa/util/resolve.h: Likewise.
27498 * kern/device.c: Likewise.
27499 * kern/disk.c: Likewise.
27500 * kern/dl.c: Likewise.
27501 * kern/err.c: Likewise.
27502 * kern/file.c: Likewise.
27503 * kern/fs.c: Likewise.
27504 * kern/loader.c: Likewise.
27505 * kern/main.c: Likewise.
27506 * kern/misc.c: Likewise.
27507 * kern/mm.c: Likewise.
27508 * kern/rescue.c: Likewise.
27509 * kern/term.c: Likewise.
27510 * kern/i386/dl.c: Likewise.
27511 * kern/i386/pc/init.c: Likewise.
27512 * kern/i386/pc/lzo1x.S: Likewise.
27513 * kern/i386/pc/startup.S: Likewise.
27514 * loader/i386/pc/chainloader.c: Likewise.
27515 * loader/i386/pc/linux.c: Likewise.
27516 * loader/i386/pc/multiboot.c: Likewise.
27517 * normal/cmdline.c: Likewise.
27518 * normal/command.c: Likewise.
27519 * normal/main.c: Likewise.
27520 * normal/menu.c: Likewise.
27521 * normal/i386/setjmp.S: Likewise.
27522 * term/i386/pc/console.c: Likewise.
27523 * term/i386/pc/vga.c: Likewise.
27524 * util/console.c: Likewise.
27525 * util/genmoddep.c: Likewise.
27526 * util/misc.c: Likewise.
27527 * util/pupa-emu.c: Likewise.
27528 * util/resolve.c: Likewise.
27529 * util/unifont2pff.rb: Likewise.
27530 * util/i386/pc/biosdisk.c: Likewise.
27531 * util/i386/pc/getroot.c: Likewise.
27532 * util/i386/pc/pupa-mkimage.c: Likewise.
27533 * util/i386/pc/pupa-setup.c: Likewise.
27534
e6eced71 275352004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
27536
27537 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
27538 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
27539 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
27540 reading and reset it after reading.
27541 (pupa_ext2_close): Return PUPA_ERR_NONE.
27542
27543 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
27544 Correct value.
27545 (struct linux_kernel_header): Add kernel_version and
27546 initrd_addr_max.
27547 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
27548 pupa_file_read succeeds.
27549 (pupa_rescue_cmd_initrd): Implement.
27550
5aded270 275512003-12-03 Marco Gerards <metgerards@student.han.nl>
27552
27553 * fs/ext2.c (pupa_ext2_label): New function.
27554 (pupa_ext2_fs): Added label.
27555 * fs/fat.c (pupa_fat_label): New function.
27556 (pupa_fat_fs): Added label.
27557 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
27558
27559 * kern/misc.c (pupa_strndup): New function.
27560 * include/pupa/misc.h (pupa_strndup): New prototype.
27561
27562 * include/pupa/normal.h: Include <pupa/err.h>.
27563 (pupa_set_history): New prototype.
27564 (pupa_iterate_commands): New prototype.
27565 * normal/cmdline.c: Include <pupa/machine/partition.h>,
27566 <pupa/disk.h>, <pupa/file.h>.
27567 (hist_size): New variable.
27568 (hist_lines): Likewise.
27569 (hist_end): Likewise.
27570 (hist_used): Likewise.
27571 (pupa_set_history): New function.
27572 (pupa_history_get): Likewise.
27573 (pupa_history_add): Likewise.
27574 (pupa_history_replace): Likewise.
27575 (pupa_tab_complete): Likewise.
27576 (pupa_cmdline_run): Added tab completion and history buffer. Tab
27577 completion shows partitionnames while completing partitions, this
27578 feature was suggested by Jeff Bailey.
27579 * normal/command.c (pupa_iterate_commands): New function.
27580 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
27581 (pupa_normal_init): Initialize history buffer.
27582 (PUPA_MOD_INIT): Likewise.
27583 (pupa_normal_fini): Free the history buffer.
27584 (PUPA_MOD_FINI): Likewise.
27585
27586 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
27587 key.
27588
27589 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
27590 * configure.ac [i386]: Check for regparam bug.
27591 (NESTED_FUNC_ATTR) [! i386]: Defined.
27592
1f7315a3 275932003-11-17 Marco Gerards <metgerards@student.han.nl>
27594
27595 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
27596 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
27597 (pupa_emu_SOURCES): New variable.
27598 (pupa_emu_LDFLAGS): Likewise.
27599 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
27600 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
27601 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
27602 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
27603 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
27604 (pupa_jmp_buf): New typedef.
27605 (pupa_setjmp) [PUPA_UTIL]: New macro.
27606 (pupa_longjmp) [PUPA_UTIL]: Likewise.
27607 * include/pupa/term.h (struct pupa_term): New member `refresh'.
27608 (pupa_refresh): New prototype.
27609 * include/pupa/util/getroot.h: New file.
27610 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
27611 it.
27612 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
27613 (pupa_rescue_cmd_cat): Likewise.
27614 (pupa_rescue_cmd_ls): Likewise.
27615 (pupa_rescue_cmd_testload): Likewise.
27616 (pupa_rescue_cmd_lsmod): Likewise.
27617 * normal/cmdline.c (pupa_cmdline_get): Likewise.
27618 * normal/menu.c (run_menu): Likewise.
27619 * kern/term.c (pupa_cls): Likewise.
27620 (pupa_refresh): New function.
27621 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
27622 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
27623 * util/console.c: New file.
f19dbdb7 27624
1f7315a3 27625 * util/i386/pc/getroot.c: New file.
27626 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
27627 (pupa_putchar): New function.
27628 (pupa_refresh): Likewise.
27629 (xgetcwd): Function moved to ...
27630 (strip_extra_slashes): Likewise.
27631 (get_prefix): Likewise.
f19dbdb7 27632 * util/i386/pc/getroot.c: ... here.
1f7315a3 27633 (find_root_device): Function moved and renamed to...
27634 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
27635 Changed all callers.
27636 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
27637 and renamed to...
27638 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
27639 Changed all callers.
27640 * util/misc.c (pupa_memalign): New function.
27641 (pupa_mm_init_region): Likewise.
27642 (pupa_register_exported_symbols): Likewise.
27643 (pupa_putchar): Function removed.
27644 * util/pupa-emu.c: New file.
27645
9a5c1ade 276462003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
27647
27648 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
27649 (_multiboot_mod_SOURCES): New variable.
27650 (_multiboot_mod_CFLAGS): Likewise.
27651 * loader/i386/pc/multiboot.c: New file.
27652 * include/pupa/i386/pc/multiboot.h: Likewise.
27653 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
27654 (pupa_multiboot_real_boot): New function.
27655 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
27656 (pupa_multiboot_real_boot): New prototype.
27657 (pupa_rescue_cmd_multiboot): Likewise
27658 (pupa_rescue_cmd_module): Likewise.
27659
27660 * kern/loader.c (pupa_loader_set): Continue when
27661 pupa_loader_unload_func() fails.
27662 (pupa_loader_unset): New function.
27663 * include/pupa/loader.h (pupa_loader_unset): New prototype.
27664
27665 * kern/misc.c (pupa_stpcpy): New function.
27666 * include/pupa/misc.h (pupa_stpcpy): New prototype.
27667
8e72a9c0 276682003-11-12 Marco Gerards <metgerards@student.han.nl>
27669
27670 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
27671 for available extensions.
27672
27673 * include/pupa/i386/pc/time.h: New file.
27674 * kern/disk.c: Include <pupa/machine/time.h>.
27675 (PUPA_CACHE_TIMEOUT): New macro.
27676 (pupa_last_time): New variable.
27677 (pupa_disk_open): Flush the cache when there was a timeout.
27678 (pupa_disk_close): Reset the timer.
27679 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
27680 pupa_currticks.
27681 * util/misc.c: Include <sys/times.h>
27682 (pupa_get_rtc): New function.
27683
c4adbd32 276842003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
27685
27686 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
27687 as blocks.
27688 (pupa_ext2_get_file_block): Use blocks member.
27689
27690 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
27691 first block. Return -1 instead of pupa_errno on error.
27692
bfd30f06 276932003-10-27 Marco Gerards <metgerards@student.han.nl>
27694
27695 * README: In the pupa-mkimage example use _chain instead of chain
27696 and ext2 instead of fat.
27697 * TODO: Replace ext2fs with jfs as an example. Add an item for
27698 adding journal playback for ext2fs.
27699 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
27700 (pkgdata_MODULES): Added ext2.mod.
27701 (ext2_mod_SOURCES): New variable.
27702 (ext2_mod_CFLAGS): Likewise.
27703 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
27704 * include/pupa/misc.h (pupa_strncpy): New prototype.
27705 (pupa_strcat): Likewise.
27706 (pupa_strncmp): Likewise.
27707 * kern/misc.c (pupa_strcat): Enable function.
27708 (pupa_strncpy): New function.
27709 (pupa_strncmp): Likewise.
27710 * fs/ext2.c: New file.
f19dbdb7 27711
bfd30f06 27712 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
27713 when the read failed before retrying.
27714 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
27715 (_FILE_OFFSET_BITS): Likewise.
27716 * configure.ac: Added AC_SYS_LARGEFILE.
27717
98d15063 277182003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
27719
27720 * genmk.rb (PModule#rule): Make sure to get only symbol names
27721 from the output of nm.
59cad637 27722 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 27723
18d9c7cd 277242003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
27725
27726 I forgot to check in these changes for a long time. This adds
27727 incomplete support for VGA console, and this is still very
27728 buggy. Also, a lot of consideration is required for I18N,
27729 UNICODE, and VGA font issues. Therefore, assume that this is
27730 such that "better than nothing".
f19dbdb7 27731
18d9c7cd 27732 * font/manager.c: New file.
27733 * include/pupa/font.h: Likewise.
27734 * include/pupa/i386/pc/vga.h: Likewise.
27735 * term/i386/pc/vga.c: Likewise.
27736 * util/unifont2pff.rb: Likewise.
27737
27738 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
27739 (pkgdata_MODULES): Added vga.mod and font.mod.
27740 (vga_mod_SOURCES): New variables.
27741 (vga_mod_CFLAGS): Likewise.
27742 (font_mod_SOURCES): Likewise.
27743 (font_mod_CFLAGS): Likewise.
27744
27745 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
27746
27747 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 27748 (struct pupa_term): Added init and fini.
18d9c7cd 27749 Changed the argument of putchar to pupa_uint32_t.
27750
27751 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
27752 (pupa_console_real_putchar): New prototype.
27753 (pupa_console_putchar): Removed.
27754 (pupa_console_checkkey): Exported.
27755 (pupa_console_getkey): Likewise.
27756
27757 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
27758 characters.
27759
27760 * kern/term.c (pupa_term_set_current): Rewritten.
27761 (pupa_putchar): Likewise.
27762 (pupa_putcode): New function.
27763
27764 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
27765 (pupa_console_real_putchar): ... this.
27766 (pupa_vga_set_mode): New function.
27767 (pupa_vga_get_font): Likewise.
27768
27769 * normal/command.c: Include pupa/term.h.
27770 (terminal_command): New function.
27771 (pupa_command_init): Register the command "terminal".
27772
27773 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
27774 (DISP_UP): Likewise.
27775 (DISP_RIGHT): Likewise.
27776 (DISP_DOWN): Likewise.
27777 (DISP_HLINE): Likewise.
27778 (DISP_VLINE): Likewise.
27779 (DISP_UL): Likewise.
27780 (DISP_UR): Likewise.
27781 (DISP_LL): Likewise.
27782 (DISP_LR): Likewise.
27783
27784 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 27785
977329f5 277862003-02-08 NIIBE Yutaka <gniibe@m17n.org>
27787
27788 * util/resolve.c (pupa_util_resolve_dependencies): BUG
27789 FIX. Reverse the path_list.
27790
27791 * include/pupa/normal.h: Export pupa_register_command and
27792 pupa_unregister_command.
27793
27794 * hello/hello.c (pupa_cmd_hello): New module.
27795 * conf/i386-pc.rmk: Added hello.mod.
27796
1f5ab428 277972003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
27798
27799 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 27800
1f5ab428 27801 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
27802 (compress_kernel): New variable.
27803 (generate_image): Heavily modified to support compressing a
27804 large part of the core image.
27805
27806 * util/misc.c (pupa_util_read_image): Fix a file descriptor
27807 leak.
27808 (pupa_util_load_image): New function.
27809
27810 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
27811 (pupa_compressed_size): New variable.
27812 (codestart): Enable Gate A20 here.
27813 Decompress the compressed part of the core image.
27814 Rearrange the code to put functions and variables which are
27815 required for initialization in the non-compressed part.
27816 Include lzo1x.S.
27817
27818 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
27819 here.
27820
27821 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
27822
f19dbdb7 27823 * include/pupa/i386/pc/kernel.h
1f5ab428 27824 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
27825 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
27826 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
27827 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
27828 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
27829
27830 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
27831
27832 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
27833 (Utility#rule): Likewise.
27834
27835 * configure.ac: Check if LZO is available.
27836
ce5bf700 278372003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
27838
27839 * include/pupa/normal.h: New file.
27840 * include/pupa/setjmp.h: Likewise.
27841 * include/pupa/i386/setjmp.h: Likewise.
27842 * normal/cmdline.c: Likewise.
27843 * normal/command.c: Likewise.
27844 * normal/main.c: Likewise.
27845 * normal/menu.c: Likewise.
27846 * normal/i386/setjmp.S: Likewise.
f19dbdb7 27847
ce5bf700 27848 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
27849 (pupa_rescue_cmd_initrd): Likewise.
27850
27851 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
27852 Likewise.
27853
27854 * kern/i386/pc/startup.S (translation_table): New variable.
27855 (translate_keycode): New function.
27856 (pupa_console_getkey): Call translate_keycode.
27857
27858 * kern/rescue.c (attempt_normal_mode): New function.
27859 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
27860 it failed, print a message.
27861
27862 * kern/mm.c (pupa_real_malloc): Print more information when a
27863 free magic is broken.
27864 (pupa_free): If the first free header is not free actually, set
27865 it to P.
27866
27867 * kern/main.c (pupa_load_normal_mode): Just load the module
27868 "normal".
27869 (pupa_main): Don't print the message
27870 "Entering into rescue mode..." here.
27871
27872 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
27873 Declared.
27874 (pupa_rescue_cmd_initrd): Likewise.
27875 (pupa_rescue_cmd_initrd): Likewise.
27876
27877 * include/pupa/symbol.h (FUNCTION): Specify the type.
27878 (VARIABLE): Likewise.
27879
27880 * include/pupa/err.h (pupa_err_t): Added
27881 PUPA_ERR_UNKNOWN_COMMAND.
27882
27883 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
27884 (pupa_dl_get_prefix): Likewise.
27885
27886 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
27887 Added _chain.mod and _linux.mod instead of chain.mod and
27888 linux.mod.
27889 (chain_mod_SOURCES): Renamed to ...
27890 (_chain_mod_SOURCES): ... this.
27891 (chain_mod_CFLAGS): Renamed to ...
27892 (_chain_mod_CFLAGS): ... this.
27893 (linux_mod_SOURCES): Renamed to ...
27894 (_linux_mod_SOURCES): ... this.
27895 (linux_mod_CFLAGS): Renamed to ...
27896 (_linux_mod_CFLAGS): ... this.
27897 (normal_mod_SOURCES): New variable.
27898 (normal_mod_CFLAGS): Likewise.
27899 (normal_mod_ASFLAGS): Likewise.
27900
279012003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
27902
27903 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
27904 possible.
27905
fe6b695a 27906 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 27907 recursively.
27908 (pupa_dl_unref): Unrefer depending modules recursively.
27909 Don't call pupa_dl_unload implicitly, because PUPA can crash if
27910 a module is unloaded before one depending on that module is
27911 unloaded.
27912 (pupa_dl_unload): Unload depending modules explicitly,
27913 if possible.
27914
c04da074 279152003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
27916
27917 * include/pupa/i386/pc/linux.h: New file.
27918 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 27919
c04da074 27920 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
27921 Removed.
27922 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
27923 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
27924 of PUPA_CHAINLOADER_BOOT_SECTOR.
27925
27926 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
27927 (pupa_linux_prot_size): New variable.
27928 (pupa_linux_tmp_addr): Likewise.
27929 (pupa_linux_real_addr): Likewise.
27930 (pupa_linux_boot_zimage): New function.
27931 (pupa_linux_boot_bzimage): Likewise.
27932
27933 * kern/i386/pc/init.c (struct mem_region): New structure.
27934 (MAX_REGIONS): New macro.
27935 (mem_regions): New variable.
27936 (num_regions): Likewise.
27937 (pupa_os_area_addr): Likewise.
27938 (pupa_os_area_size): Likewise.
27939 (pupa_lower_mem): Likewise.
27940 (pupa_upper_mem): Likewise.
27941 (add_mem_region): New function.
27942 (compact_mem_regions): Likewise.
27943 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
27944 the size of the conventional memory and that of so-called upper
27945 memory (before the first memory hole).
27946 Instead of adding each found region to free memory, use
27947 add_mem_region and add them after removing overlaps.
27948 Also, add only 1/4 of the upper memory to free memory. The rest
27949 is used for loading OS images. Maybe this is ad hoc, but this
27950 makes it much easier to relocate OS images when booting.
27951
27952 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
27953 (pupa_enter_rescue_mode): Don't register initrd and module.
27954
27955 * kern/mm.c: Include pupa/dl.h.
27956
27957 * kern/main.c: Include pupa/file.h and pupa/device.h.
27958
27959 * kern/loader.c (pupa_loader_load_module_func): Removed.
27960 (pupa_loader_load_module): Likewise.
27961
27962 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
27963 ``.o''.
27964
27965 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
27966 (pupa_linux_tmp_addr): Likewise.
27967 (pupa_linux_real_addr): Likewise.
27968 (pupa_linux_boot_zimage): Likewise.
27969 (pupa_linux_boot_bzimage): Likewise.
27970
27971 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
27972 (pupa_upper_mem): Likewise.
27973 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
27974 module is too dangerous.
27975
27976 * include/pupa/loader.h (pupa_os_area_addr): Declared.
27977 (pupa_os_area_size): Likewise.
27978 (pupa_loader_set): Remove the first argument. Loader doesn't
27979 manage modules or initrd any longer.
27980 (pupa_loader_load_module): Removed.
27981
27982 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
27983 (linux_mod_SOURCES): New variable.
27984 (linux_mod_CFLAGS): Likewise.
27985
a13f9237 279862003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
27987
27988 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
27989 the length of a blocklist correctly.
27990
27991 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
27992 Use ioctl only if the OS file is a block device.
27993 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
27994 not very useful for normal files.
27995
27996 * kern/main.c (pupa_set_root_dev): New function.
27997 (pupa_load_normal_mode): Likewise.
27998 (pupa_main): Call those above.
27999
28000 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
28001 pupa_uint16_t.
28002
28003 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
28004
a5ffe966 280052003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28006
28007 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
28008 (setup): Configure the installed partition information and the
28009 dl prefix.
28010
28011 * loader/i386/pc/chainloader.c (my_mod): New variable.
28012 (pupa_chainloader_unload): New function.
28013 (pupa_rescue_cmd_chainloader): Refer itself.
28014 (PUPA_MOD_INIT): Save its own module in MY_MOD.
28015
28016 * kern/i386/pc/startup.S (install_partition): Removed.
28017 (version_string): Likewise.
28018 (config_file): Likewise.
28019 (pupa_install_dos_part): New variable.
28020 (pupa_install_bsd_part): Likewise.
28021 (pupa_prefix): Likewise.
28022 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
28023
28024 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
28025 and pupa/misc.h.
28026 (make_install_device): New function.
28027 (pupa_machine_init): Set the dl prefix.
28028
28029 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
28030 (buf): Renamed to ...
28031 (linebuf): ... this.
28032 (pupa_rescue_cmd_prefix): New function.
28033 (pupa_rescue_cmd_insmod): Likewise.
28034 (pupa_rescue_cmd_rmmod): Likewise.
28035 (pupa_rescue_cmd_lsmod): Likewise.
28036 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
28037 rmmod and lsmod.
28038
28039 * kern/mm.c (pupa_memalign): If failed even after invalidating
28040 disk caches, unload unneeded modules and retry.
28041
28042 * kern/misc.c (pupa_memmove): New function.
28043 (pupa_memcpy): Removed.
28044 (pupa_strcpy): New function.
28045 (pupa_itoa): Made static.
28046
28047 * kern/dl.c (pupa_dl_iterate): New function.
28048 (pupa_dl_ref): Likewise.
28049 (pupa_dl_unref): Likewise.
28050 (pupa_dl_unload): Return if succeeded or not.
28051 (pupa_dl_unload_unneeded): New function.
28052 (pupa_dl_unload_all): Likewise.
28053 (pupa_dl_init): Renamed to ...
28054 (pupa_dl_set_prefix): ... this.
28055 (pupa_dl_get_prefix): New function.
28056
28057 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
28058 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
28059 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28060 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28061 (pupa_install_dos_part): Declared.
28062 (pupa_install_bsd_part): Likewise.
28063 (pupa_prefix): Likewise.
28064 (pupa_boot_drive): Likewise.
28065
28066 * include/pupa/types.h: Fix a typo.
28067
28068 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
28069 pupa_memmove.
28070 (pupa_memmove): Declared.
28071 (pupa_strcpy): Likewise.
28072
28073 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
28074 pupa_mod_init takes one argument, its own module.
28075 (pupa_dl_unload_unneeded): Declared.
28076 (pupa_dl_unload_all): Likewise.
28077 (pupa_dl_ref): Likewise.
28078 (pupa_dl_unref): Likewise.
28079 (pupa_dl_iterate): Likewise.
28080 (pupa_dl_init): Renamed to ...
28081 (pupa_dl_set_prefix): ... this.
28082 (pupa_dl_get_prefix): Declared.
28083
28084 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 28085 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 28086 unloaded.
28087 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
28088 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
28089
28090 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
28091 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
28092
012d7999 280932003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
28094
28095 * util/i386/pc/pupa-setup.c (setup): Define the internal
28096 function find_first_partition_start at the top level, because GCC
28097 3.0.x cannot compile internal functions in deeper scopes
28098 correctly.
28099 (find_root_device): Use lstat instead of stat.
28100 Don't follow symbolic links.
28101 Fix the path-constructing code.
28102
28103 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
28104 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
28105 by a BLKGETSIZE ioctl first, because block devices don't fill
28106 the member st_mode of the structure stat on Linux.
28107 [__linux__] (linux_find_partition): Use a temporary buffer
28108 REAL_DEV for the working space. Copy it to DEV before returning.
28109 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
28110 buffer cache consistent.
28111 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
28112 strncmp. The previous value was merely wrong.
28113 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
28114
28115 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
28116 FAT size is 12. The previous value was merely wrong.
28117
28118 * kern/main.c (pupa_main): Don't split the starting message from
28119 newlines.
28120
28121 * kern/term.c (pupa_putchar): Put CR after LF instead of before
28122 LF, because BIOS goes crazy about character attributes in this
28123 case.
28124
1cc73a62 281252003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
28126
28127 * include/i386/pc/util/biosdisk.h: New file.
28128 * util/i386/pc/biosdisk.c: Likewise.
28129 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 28130
1cc73a62 28131 * Makefile.in (INCLUDE_DISTFILES): Added
28132 include/pupa/i386/pc/util/biosdisk.h.
28133 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
28134 directory util/i386/pc.
28135 (install-local): Added a rule for sbin_UTILITIES.
28136 (uninstall): Likewise.
28137
28138 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
28139
28140 * util/misc.c (xrealloc): New function.
28141 (pupa_malloc): Likewise.
28142 (pupa_free): Likewise.
28143 (pupa_realloc): Likewise.
28144 (pupa_stop): Likewise.
28145 (pupa_putchar): Likewise.
28146
28147 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
28148
28149 * include/pupa/util/misc.h (xrealloc): Declared.
28150
28151 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
28152 macro.
28153 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
28154 (PUPA_BOOT_MACHINE_BPB_END): ... this.
28155
28156 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
28157 [PUPA_UTIL] (pupa_fat_fini): Likewise.
28158
28159 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
28160 way should be implemented.
28161 [PUPA_UTIL] (pupa_fat_fini): Likewise.
28162
28163 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
28164 the size of NAME for safety.
28165 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
28166 0x88.
28167
28168 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
28169 (pupa_setup_SOURCES): Likewise.
28170
28171 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
28172
08b70fe8 281732002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
28174
28175 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
28176 bunch of pushl's from pusha, because this destroys the return
28177 value.
28178
62ddcc8f 281792002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
28180
28181 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
28182 This means that any missing prototypes could be fatal. Also, you
28183 must take care when writing assembly code. See the comments at
28184 the beginning of startup.S, for more details.
f19dbdb7 28185
62ddcc8f 28186 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
28187 compilation mechanism.
28188 (pupa_chainloader_real_boot): Likewise.
28189 (pupa_biosdisk_rw_int13_extensions): Likewise.
28190 (pupa_biosdisk_rw_standard): Likewise.
28191 (pupa_biosdisk_check_int13_extensions): Likewise.
28192 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
28193 (pupa_biosdisk_get_diskinfo_standard): Likewise.
28194 (pupa_get_memsize): Likewise.
28195 (pupa_get_mmap_entry): Likewise.
28196 (pupa_console_putchar): Likewise.
28197 (pupa_console_setcursor): Likewise.
28198 (pupa_getrtsecs): Use pushl instead of push.
28199
28200 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
28201 memory instead of the stack for a mmap entry, because some
28202 BIOSes may ignore the maximum size and overflow.
28203
28204 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
28205
28206 * genmk.rb (PModule#rule): Compile automatically generated
28207 sources with module-specific CFLAGS as well as other sources.
28208
9962ed99 282092002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28210
28211 * configure.ac: Check ld.
28212 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
28213 respectively, before checking endianness and sizes.
28214
28215 * Makefile.in (LD): New variable.
f19dbdb7 28216
abdfc3c5 282172002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28218
28219 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
28220
6a161fa9 282212002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28222
28223 * Changelog: New file.
28224